From 891ef4b1f5a0b079590907b1acb1087c11a7d707 Mon Sep 17 00:00:00 2001 From: Grzegorz Klimaszewski <166530809+grzegorz-roboflow@users.noreply.github.com> Date: Wed, 22 Jan 2025 17:50:02 +0100 Subject: [PATCH 1/2] Send raw image over WebRTC if no visualisation is available --- .../manager_app/inference_pipeline_manager.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py b/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py index 5acd0cb63a..3ba3c18b74 100644 --- a/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py +++ b/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py @@ -275,6 +275,16 @@ def start_loop(loop: asyncio.AbstractEventLoop): def webrtc_sink( prediction: Dict[str, WorkflowImageData], video_frame: VideoFrame ) -> None: + if parsed_payload.stream_output[0] not in prediction: + from_inference_queue.sync_put( + video_frame.image + ) + return + if prediction[parsed_payload.stream_output[0]] is None: + from_inference_queue.sync_put( + video_frame.image + ) + return from_inference_queue.sync_put( prediction[parsed_payload.stream_output[0]].numpy_image ) From 8d3875d9638ed1ec1ffdff81d131f9e584ca3bdf Mon Sep 17 00:00:00 2001 From: Grzegorz Klimaszewski <166530809+grzegorz-roboflow@users.noreply.github.com> Date: Wed, 22 Jan 2025 17:54:07 +0100 Subject: [PATCH 2/2] formatting --- .../manager_app/inference_pipeline_manager.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py b/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py index 3ba3c18b74..4350ca2d63 100644 --- a/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py +++ b/inference/core/interfaces/stream_manager/manager_app/inference_pipeline_manager.py @@ -276,14 +276,10 @@ def webrtc_sink( prediction: Dict[str, WorkflowImageData], video_frame: VideoFrame ) -> None: if parsed_payload.stream_output[0] not in prediction: - from_inference_queue.sync_put( - video_frame.image - ) + from_inference_queue.sync_put(video_frame.image) return if prediction[parsed_payload.stream_output[0]] is None: - from_inference_queue.sync_put( - video_frame.image - ) + from_inference_queue.sync_put(video_frame.image) return from_inference_queue.sync_put( prediction[parsed_payload.stream_output[0]].numpy_image