intervideosrc with msdkvpp dmabuf output pipeline is failing.
Commmand: gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=1280,height=960 ! msdkvpp ! video/x-raw,format=NV12,width=1280,height=800 ! intervideosink channel=frontvideosink async=false render-delay=5000000 max-lateness=5000000
gst-launch-1.0 -v intervideosrc channel=frontvideosink ! msdkvpp ! 'video/x-raw, format=NV12' ! msdkh264enc ! video/x-h264, stream-format=byte-stream ! queue ! h264parse ! rtph264pay ! udpsink clients=10.1.1.101:3000 sync=false -> ok, can run.
gst-launch-1.0 -v intervideosrc channel=frontvideosink ! msdkvpp ! 'video/x-raw(memory:DMABuf), format=NV12' ! msdkh264enc ! video/x-h264, stream-format=byte-stream ! queue ! h264parse ! rtph264pay ! udpsink clients=10.1.1.101:3000 sync=false -> fail and exit.
This is error: ERROR: from element /GstPipeline:pipeline0/GstInterVideoSrc:intervideosrc0: Internal data stream error. Additional debug info: ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstInterVideoSrc:intervideosrc0: streaming stopped, reason not-negotiated (-4)
Check step into gst_inter_video_src_fixate function and do dump caps string before exit the function:
msdkvpp with dmabuf output: gst_inter_video_src_fixate: exit: desc : video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)30/1, interlace-mode=(string){ progressive, interleaved, mixed }
msdkvpp without dmabuf output: gst_inter_video_src_fixate: exit: desc : video/x-raw, format=(string)NV12, width=(int)320, height=(int)240, framerate=(fraction)30/1, interlace-mode=(string)progressive
Inside the gst_inter_video_src_fixate at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst/inter/gstintervideosrc.c#L501
It should be do check using 'interlace-mode' and do set it to progressive. Without specific msdkvpp output is dmabuf memory, I can see it passing it already set interlace-mode as progressive. That why I didn't see the pipeline is failing at here.
gst-plugins-bad : master OS: Ubuntu 18.04