python-codecs: pil crop is not thread safe https://github.com/python-pillow/Pillow/issues/4848

This commit is contained in:
Koushik Dutta
2023-03-28 19:27:22 -07:00
parent 65c4a30004
commit 0bff96a6e6
3 changed files with 5 additions and 4 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/python-codecs",
"version": "0.1.22",
"version": "0.1.25",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@scrypted/python-codecs",
"version": "0.1.22",
"version": "0.1.25",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/python-codecs",
"version": "0.1.22",
"version": "0.1.25",
"description": "Python Codecs for Scrypted",
"keywords": [
"scrypted",

View File

@@ -26,7 +26,7 @@ class PILImage(scrypted_sdk.VideoFrame):
elif options['format'] == 'rgb':
def format():
rgbx = pilImage.pilImage
if rgbx.format != 'RGBA':
if rgbx.mode != 'RGBA':
return rgbx.tobytes()
rgb = rgbx.convert('RGB')
try:
@@ -96,6 +96,7 @@ class ImageReader(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter)
async def convert(self, data: Any, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
pil = Image.open(io.BytesIO(data))
pil.load()
return await createPILMediaObject(PILImage(pil))
class ImageWriter(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter):