summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorOlivier Crete <olivier.crete@collabora.co.uk>2009-04-27 11:06:01 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-04-27 11:11:11 +0200
commitbf3ea86c2ffa74c064a26a134d7477560f54b6c3 (patch)
tree6f7ebfb0604f37cf050f5236b2822d1409f0b51b /gst
parentb627bb5f2df640abc73a7748679ab4a9f0e4fded (diff)
downloadgst-plugins-bad-bf3ea86c2ffa74c064a26a134d7477560f54b6c3.tar.gz
gst-plugins-bad-bf3ea86c2ffa74c064a26a134d7477560f54b6c3.tar.bz2
gst-plugins-bad-bf3ea86c2ffa74c064a26a134d7477560f54b6c3.zip
rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision. Fixes #580144
Diffstat (limited to 'gst')
-rw-r--r--gst/rtpmanager/rtpsession.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c
index bd72ed98..219aacf1 100644
--- a/gst/rtpmanager/rtpsession.c
+++ b/gst/rtpmanager/rtpsession.c
@@ -1221,6 +1221,8 @@ rtp_session_set_internal_ssrc (RTPSession * sess, guint32 ssrc)
GINT_TO_POINTER (sess->source->ssrc), sess->source);
}
RTP_SESSION_UNLOCK (sess);
+
+ g_object_notify (G_OBJECT (sess), "internal-ssrc");
}
/**
@@ -2435,6 +2437,7 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time,
GList *item;
ReportData data;
RTPSource *own;
+ gboolean notify = FALSE;
g_return_val_if_fail (RTP_IS_SESSION (sess), GST_FLOW_ERROR);
@@ -2521,10 +2524,14 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time,
sess->bye_reason = NULL;
sess->sent_bye = FALSE;
sess->change_ssrc = FALSE;
+ notify = TRUE;
GST_DEBUG ("changed our SSRC to %08x", own->ssrc);
}
RTP_SESSION_UNLOCK (sess);
+ if (notify)
+ g_object_notify (G_OBJECT (sess), "internal-ssrc");
+
/* push out the RTCP packet */
if (data.rtcp) {
/* close the RTCP packet */