snapshot/python-codecs: move image writer

This commit is contained in:
Koushik Dutta
2023-11-17 10:41:16 -08:00
parent fc13a230d7
commit 27a01a7df8
9 changed files with 45 additions and 54 deletions

View File

@@ -173,17 +173,6 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
}
)
manifest["devices"].append(
{
"name": "Image Writer",
"type": scrypted_sdk.ScryptedDeviceType.Builtin.value,
"nativeId": "writer",
"interfaces": [
scrypted_sdk.ScryptedInterface.BufferConverter.value,
],
}
)
await scrypted_sdk.deviceManager.onDevicesChanged(manifest)
def getDevice(self, nativeId: str) -> Any:
@@ -198,13 +187,9 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
if vipsimage.pyvips:
if nativeId == "reader":
return vipsimage.ImageReader("reader")
if nativeId == "writer":
return vipsimage.ImageWriter("writer")
else:
if nativeId == "reader":
return pilimage.ImageReader("reader")
if nativeId == "writer":
return pilimage.ImageWriter("writer")
def create_scrypted_plugin():

View File

@@ -114,18 +114,6 @@ class ImageReader(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter)
pil.load()
return await createImageMediaObject(PILImage(pil))
class ImageWriter(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter):
def __init__(self, nativeId: str):
super().__init__(nativeId)
self.fromMimeType = scrypted_sdk.ScryptedMimeTypes.Image.value
self.toMimeType = 'image/*'
async def convert(self, data: scrypted_sdk.VideoFrame, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
return await data.toBuffer({
format: 'jpg',
})
def new_from_memory(data, width: int, height: int, bands: int):
data = bytes(data)
if bands == 4:

View File

@@ -110,21 +110,3 @@ class ImageReader(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter)
async def convert(self, data: Any, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
vips = Image.new_from_buffer(data, '')
return await createImageMediaObject(VipsImage(vips))
class ImageWriter(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter):
def __init__(self, nativeId: str):
super().__init__(nativeId)
self.fromMimeType = scrypted_sdk.ScryptedMimeTypes.Image.value
self.toMimeType = 'image/*'
async def convert(self, data: scrypted_sdk.VideoFrame, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
return await data.toBuffer({
format: 'jpg',
})
def new_from_memory(data, width: int, height: int, bands: int):
return Image.new_from_memory(data, width, height, bands, pyvips.BandFormat.UCHAR)
def new_from_buffer(data, width: int, height: int, bands: int):
return Image.new_from_buffer(data, width, height, bands, pyvips.BandFormat.UCHAR)