diff --git a/plugins/objectdetector/src/ffmpeg-videoframes-no-sharp.ts b/plugins/objectdetector/src/ffmpeg-videoframes-no-sharp.ts index 78bfbc738..f1db9790d 100644 --- a/plugins/objectdetector/src/ffmpeg-videoframes-no-sharp.ts +++ b/plugins/objectdetector/src/ffmpeg-videoframes-no-sharp.ts @@ -50,7 +50,7 @@ class RawImage implements Image, RawFrame { } export class FFmpegVideoFrameGenerator extends ScryptedDeviceBase implements VideoFrameGenerator { - async *generateVideoFramesInternal(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions, filter?: (videoFrame: VideoFrame) => Promise): AsyncGenerator { + async *generateVideoFramesInternal(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions): AsyncGenerator { const ffmpegInput = await sdk.mediaManager.convertMediaObjectToJSON(mediaObject, ScryptedMimeTypes.FFmpegInput); const gray = options?.format === 'gray'; const format = options?.format || 'rgb'; @@ -171,7 +171,7 @@ export class FFmpegVideoFrameGenerator extends ScryptedDeviceBase implements Vid } - async generateVideoFrames(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions, filter?: (videoFrame: VideoFrame & MediaObject) => Promise): Promise> { - return this.generateVideoFramesInternal(mediaObject, options, filter); + async generateVideoFrames(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions): Promise> { + return this.generateVideoFramesInternal(mediaObject, options); } } diff --git a/plugins/objectdetector/src/ffmpeg-videoframes.ts b/plugins/objectdetector/src/ffmpeg-videoframes.ts index d3e225914..b75ffccaa 100644 --- a/plugins/objectdetector/src/ffmpeg-videoframes.ts +++ b/plugins/objectdetector/src/ffmpeg-videoframes.ts @@ -132,7 +132,7 @@ class VipsImage implements Image { } export class FFmpegVideoFrameGenerator extends ScryptedDeviceBase implements VideoFrameGenerator { - async *generateVideoFramesInternal(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions, filter?: (videoFrame: VideoFrame) => Promise): AsyncGenerator { + async *generateVideoFramesInternal(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions): AsyncGenerator { const ffmpegInput = await sdk.mediaManager.convertMediaObjectToJSON(mediaObject, ScryptedMimeTypes.FFmpegInput); const gray = options?.format === 'gray'; const channels = gray ? 1 : 3; @@ -249,8 +249,7 @@ export class FFmpegVideoFrameGenerator extends ScryptedDeviceBase implements Vid } } - - async generateVideoFrames(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions, filter?: (videoFrame: VideoFrame) => Promise): Promise> { - return this.generateVideoFramesInternal(mediaObject, options, filter); + async generateVideoFrames(mediaObject: MediaObject, options?: VideoFrameGeneratorOptions): Promise> { + return this.generateVideoFramesInternal(mediaObject, options); } } diff --git a/plugins/python-codecs/src/gstreamer.py b/plugins/python-codecs/src/gstreamer.py index 01f5cfd59..c3f0c73b3 100644 --- a/plugins/python-codecs/src/gstreamer.py +++ b/plugins/python-codecs/src/gstreamer.py @@ -314,7 +314,6 @@ async def createGstMediaObject(image: GstImage): async def generateVideoFramesGstreamer( mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions = None, - filter: Any = None, h264Decoder: str = None, h265Decoder: str = None, postProcessPipeline: str = None, diff --git a/plugins/python-codecs/src/libav.py b/plugins/python-codecs/src/libav.py index 20d247f0e..9c24971d7 100644 --- a/plugins/python-codecs/src/libav.py +++ b/plugins/python-codecs/src/libav.py @@ -20,7 +20,6 @@ except: async def generateVideoFramesLibav( mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions = None, - filter: Any = None, ) -> scrypted_sdk.VideoFrame: ffmpegInput: scrypted_sdk.FFmpegInput = ( await scrypted_sdk.mediaManager.convertMediaObjectToJSON( diff --git a/plugins/python-codecs/src/main.py b/plugins/python-codecs/src/main.py index a8df6daf5..b73afaa5b 100644 --- a/plugins/python-codecs/src/main.py +++ b/plugins/python-codecs/src/main.py @@ -36,7 +36,7 @@ class LibavGenerator(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.VideoFrameGen filter: Any = None, ) -> scrypted_sdk.VideoFrame: forked: CodecFork = await self.zygote().result - return await forked.generateVideoFramesLibav(mediaObject, options, filter) + return await forked.generateVideoFramesLibav(mediaObject, options) class GstreamerGenerator( @@ -60,7 +60,6 @@ class GstreamerGenerator( return await forked.generateVideoFramesGstreamer( mediaObject, options, - filter, self.storage.getItem("h264Decoder"), self.storage.getItem("h265Decoder"), self.storage.getItem("postProcessPipeline"), @@ -242,14 +241,13 @@ class CodecFork: self, mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions, - filter: Any, h264Decoder: str, h265Decoder: str, postProcessPipeline: str, ) -> scrypted_sdk.VideoFrame: async for data in self.generateVideoFrames( gstreamer.generateVideoFramesGstreamer( - mediaObject, options, filter, h264Decoder, h265Decoder, postProcessPipeline + mediaObject, options, h264Decoder, h265Decoder, postProcessPipeline ), "gstreamer", options and options.get("firstFrameOnly"), @@ -260,10 +258,9 @@ class CodecFork: self, mediaObject: scrypted_sdk.MediaObject, options: scrypted_sdk.VideoFrameGeneratorOptions = None, - filter: Any = None, ) -> scrypted_sdk.VideoFrame: async for data in self.generateVideoFrames( - libav.generateVideoFramesLibav(mediaObject, options, filter), + libav.generateVideoFramesLibav(mediaObject, options), "libav", options and options.get("firstFrameOnly"), ):