[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