After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739786 - rptbin: when ignore-pt is used, incomplete caps are used on the data src pad
rptbin: when ignore-pt is used, incomplete caps are used on the data src pad
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-07 14:54 UTC by Marc Leeman
Modified: 2018-11-03 14:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Marc Leeman 2014-11-07 14:54:24 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.
Comment 1 GStreamer system administrator 2018-11-03 14:55:53 UTC
-- 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.