diff options
author | Olivier Crete <tester@tester.ca> | 2009-01-02 17:40:06 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-08-11 02:30:40 +0100 |
commit | dfdc9b66629f913571d181d4dc93ac35268e27b4 (patch) | |
tree | 91ed4f44d78e09b1baea4f31314aa1976fda3310 /gst/rtpmanager/rtpsession.c | |
parent | 0ad92e7da6fbfe24d3f6642ee9463cab029b4bb0 (diff) |
gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_setcaps_send_rtp), (create_send_rtp_sink):
* gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc):
When an SSRC is found on the caps of the sender RTP, use this as the
internal SSRC. Fixes #565910.
Diffstat (limited to 'gst/rtpmanager/rtpsession.c')
-rw-r--r-- | gst/rtpmanager/rtpsession.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index c57c9966..bd72ed98 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -1209,9 +1209,14 @@ rtp_session_set_internal_ssrc (RTPSession * sess, guint32 ssrc) g_hash_table_steal (sess->ssrcs[sess->mask_idx], GINT_TO_POINTER (sess->source->ssrc)); + GST_DEBUG ("setting internal SSRC to %08x", ssrc); + /* After this call, any receiver of the old SSRC either in RTP or RTCP + * packets will timeout on the old SSRC, we could potentially schedule a + * BYE RTCP for the old SSRC... */ sess->source->ssrc = ssrc; rtp_source_reset (sess->source); + /* rehash with the new SSRC */ g_hash_table_insert (sess->ssrcs[sess->mask_idx], GINT_TO_POINTER (sess->source->ssrc), sess->source); } |