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 596072 - [rtpmux] : add ssrc to outcaps, get ssrc from downstream
[rtpmux] : add ssrc to outcaps, get ssrc from downstream
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-23 12:21 UTC by Aurelien Grimaud
Modified: 2010-05-06 18:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Get ssrc from downstream. set ssrc in src pad caps. (1.41 KB, patch)
2009-09-23 12:22 UTC, Aurelien Grimaud
none Details | Review

Description Aurelien Grimaud 2009-09-23 12:21:17 UTC
GST_DEBUG=rtpsource:5,rtpmux:5 gst-launch -v gstrtpbin name=rtpbin audiotestsrc is-live=TRUE ! alawenc   ! rtppcmapay ! rtpdtmfmux  ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! fakesink

0:00:00.067093320 31560  0x9b26b48 LOG                rtpsource rtpsource.c:1215:rtp_source_send_rtp: SSRC 428ed59e, RTP 2275625440, NTP 961859:30:57.147132128
0:00:00.067177096 31560  0x9b26b48 LOG                rtpsource rtpsource.c:1252:rtp_source_send_rtp: updating SSRC from 22c40154 to 428ed59e, fix the payloader

rtpmux (and so rtpdtmfmux) sets its own ssrc into output buffers, without updating the caps for downstream information, nor checking for a ssrc from downstream (rtpsource/rtpsession).

Therefore, rtpsource receives buffers with unexpected ssrc.

Setting ssrc on out caps provides the ssrc information downstream.
Checking ssrc on peer pad get SSRC from downstream.


Patch attached
Comment 1 Aurelien Grimaud 2009-09-23 12:22:43 UTC
Created attachment 143786 [details] [review]
Get ssrc from downstream. set ssrc in src pad caps.
Comment 2 Aurelien Grimaud 2009-10-30 20:13:06 UTC
No one is interested ?
Comment 3 Olivier Crête 2009-10-30 20:31:49 UTC
I guess it could be merged, but in practice, the elements upstream from the muxer will get their ssrc from the downstream element so the muxer won't have to change it anyway.. Or something.
Comment 4 Aurelien Grimaud 2009-10-30 20:43:27 UTC
Well, according to the above pipeline it does not ...
As the muxer is between packetizer and rtpsource, it prevents packetizer from getting ssrc from rtpsource.
The muxer gives its own ssrc to upstream element, so when downstream rtpsource gets its buffer, it wont have the expected ssrc.
Buffer must then be changed to set ssrc, resulting in a gst_buffer_make_writable.
Comment 5 Olivier Crête 2010-05-06 18:15:45 UTC
With that exact pipeline, I don't get an error anymore. I believe this has been fixed (in the payloader).
Comment 6 Olivier Crête 2010-05-06 18:15:56 UTC
Btw, please re-open if it still happens