python-codecs: fix process exit before aclose finish. publish betas.

This commit is contained in:
Koushik Dutta
2023-05-12 21:57:34 -07:00
parent 205fdb0222
commit 9e7b57f154
13 changed files with 47 additions and 45 deletions

View File

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

View File

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

View File

@@ -128,6 +128,14 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
def create_scrypted_plugin():
return PythonCodecs()
def multiprocess_exit():
import sys
if sys.platform == 'win32':
sys.exit()
else:
import os
os._exit(os.EX_OK)
class CodecFork:
async def generateVideoFramesGstreamer(self, mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions = None, filter: Any = None, h264Decoder: str = None) -> scrypted_sdk.VideoFrame:
start = time.time()
@@ -139,9 +147,7 @@ class CodecFork:
raise
finally:
print('gstreamer finished after %s' % (time.time() - start))
import os
os._exit(os.EX_OK)
pass
asyncio.get_event_loop().call_later(1, multiprocess_exit)
async def generateVideoFramesLibav(self, mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions = None, filter: Any = None) -> scrypted_sdk.VideoFrame:
start = time.time()
@@ -153,12 +159,7 @@ class CodecFork:
raise
finally:
print('libav finished after %s' % (time.time() - start))
import sys
if sys.platform == 'win32':
sys.exit()
else:
import os
os._exit(os.EX_OK)
asyncio.get_event_loop().call_later(1, multiprocess_exit)
async def fork():