[Bug 739786] New: rptbin: when ignore-pt is used, incomplete caps are used on the data src pad

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 7 06:54:30 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=739786
  GStreamer | gst-plugins-good | git

           Summary: rptbin: when ignore-pt is used, incomplete caps are
                    used on the data src pad
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: marc.leeman at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


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.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list