GNOME Bugzilla – Bug 739786
rptbin: when ignore-pt is used, incomplete caps are used on the data src pad
Last modified: 2018-11-03 14:55:53 UTC
The modules that are used are in bugzilla (rtpsink/rtpsrc). We started testing encoder compatibility again, and there is one encoder where the I and Delta frames are provided with different pt values (120,121). In order to get them decoded, ignore-pt is used on the rtpbin. We noticed that when this is done, the incomplete caps (application/x-rtp) is used on the src pad, whiile if this is not done, the caps from the request-pt-map is used. Since the signal is emitted (with and without using ignore-pt) and it was returned, there is a consistency there. I can fix it in the upper bin but since rtpbin should have the complete caps in cached, I believe that one should be used. 0:00:00.101167679 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2768:pt_map_requested:<rtpbin0> payload map requested for pt 121 in session 0 0:00:00.101218949 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:770:get_pt_map: searching pt 121 in cache 0:00:00.101225192 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:783:get_pt_map: emiting signal for pt 121 in session 0 The caps are returned here in the upper bin: 0:00:00.101287230 16719 0xd588a0 DEBUG barcortpsrc /home/marc/gstreamer.jhbuild/sources/gst-plugins-barcortp-1.0/src/gstrtpsrc.c:614:gst_rtp_src_request_pt_map:<rtpsrc0> Decided on caps application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, payload=(int)121 0:00:00.101307327 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:1683:_gst_caps_accumulator: got caps application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, payload=(int)121 0:00:00.101317542 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:819:get_pt_map: caching pt 121 as application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, payload=(int)121 0:00:00.101447563 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2840:new_ssrc_pad_found:<rtpbin0> new SSRC pad 737e118a, rtpssrcdemux0:src_1937641866 0:00:00.101878902 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2852:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer RTP 0:00:00.101955207 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2861:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer RTCP 0:00:00.102025751 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2871:new_ssrc_pad_found:<rtpbin0> connecting sync signal At this point, the incomplete caps are returned, see if/eslse in new_ssrc_pad_found (GstElement * element, guint ssrc, GstPad * pad, GstRtpBinSession * session) 0:00:00.102099301 16719 0xd588a0 DEBUG barcortpsrc /home/marc/gstreamer.jhbuild/sources/gst-plugins-barcortp-1.0/src/gstrtpsrc.c:426:gst_rtp_src_rtpbin_pad_added_cb:<rtpsrc0> Adding a pad recv_rtp_src_0_1937641866_255 with caps application/x-rtp 0:00:00.102114786 16719 0xd588a0 DEBUG barcortpsrc /home/marc/gstreamer.jhbuild/sources/gst-plugins-barcortp-1.0/src/gstrtpsrc.c:474:gst_rtp_src_rtpbin_pad_added_cb:<rtpsrc0> New pad recv_rtp_src_0_1937641866_255 on rtpbin with caps application/x-rtp 0:00:00.102257346 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:2768:pt_map_requested:<rtpbin0> payload map requested for pt 121 in session 0 0:00:00.102267311 16719 0xd588a0 DEBUG rtpbin gstrtpbin.c:770:get_pt_map: searching pt 121 in cache ERROR: from element /GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0: No RTP format was negotiated.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/140.