Hello,
I’ve been trying for a long time to fix a bug, but without success.
I have a pipeline that receives a WebRTC stream and forwards it using an intervideosink to another pipeline.
The second pipeline looks like this:
intervideosrc ! queue ! d3d11upload ! d3d11convert ! d3d11scale ! d3d11ipcsink
From gst debug:
GStreamer-Video-CRITICAL **: 15:59:48.155: gst_video_frame_map_id: assertion ‘info->width <= meta->width’ failed
0:02:19.552029500 18420 29992 ERROR d3d11pluginutils gstd3d11pluginutils.cpp:463:gst_d3d11_buffer_copy_into_fallback: Invalid video buffer
0:02:19.553098800 18420 29992 ERROR d3d11upload gstd3d11upload.cpp:414:gst_d3d11_upload_transform: Failed to copy buffer
0:02:19.554020900 18420 17112 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop: error: Internal data stream error.
0:02:19.554915400 18420 17112 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop: error: streaming stopped, reason error (-5)
Pipeline error message:
../gstreamer-1.28.1/libs/gst/base/gstbasesrc.c(3187): gst_base_src_loop (): /GstPipeline:pipeline2/GstInterVideoSrc:intervideosrc0:
streaming stopped, reason error (-5)
The problem occurs because the resolution in the first pipeline changes dynamically (due to WebRTC), and the second pipeline crashes.
Is there any way to fix this?