rtph264pay: silently errors out in certain pipelines
I haven't investigated in detail, but I would expect this pipeline to either error out or result in caps and buffers pushed to fakesink:
gst-launch-1.0 -v videotestsrc num-buffers=1 ! videoconvert ! videoscale ! videorate skip-to-first=true drop-only=true ! video/x-raw, format=ABGR64_LE, width=1280, height=720, framerate=30/1, multiview-mode=mono, pixel-aspect-ratio=1/1, interlace-mode=progressive ! videoconvert ! videoscale ! videorate skip-to-first=true drop-only=true ! video/x-raw, pixel-aspect-ratio=1/1, format=\(string\){NV12, YV12, I420} ! nvh264enc ! h264parse ! video/x-h264, stream-format=avc ! rtph264pay ! application/x-rtp, media=video, payload=102, encoding-name=H264, profile=baseline ! fakesink silent=false
Instead, what I observe is that no caps or buffers make it to the sink, but it still ends up posting EOS.
Errors are logged however:
0:00:00.308779758 169194 0x2613180 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.308817883 169194 0x2613180 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.308838748 169194 0x2613180 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.308899661 169194 0x2612f60 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.308950836 169194 0x2612f60 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.308996557 169194 0x2612f60 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
0:00:00.309040224 169194 0x2612f60 ERROR rtph264pay gstrtph264pay.c:706:gst_rtp_h264_pay_setcaps:<rtph264pay0> failed to set sps/pps
This is annoying because it means we need to special case this in webrtcsink
, which uses such pipelines to discover caps, and currently expects that fakesink has received caps when the pipeline posts EOS and no errors.