summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager
diff options
context:
space:
mode:
authorOlivier Crete <olivier.crete@collabora.co.uk>2009-04-27 11:06:01 +0200
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:41 +0100
commit63636b12907bd0c603cff9251bdba69ff1e0496a (patch)
treec8b1701becef2efe9ed15ffd27e44e6b61f4f9ed /gst/rtpmanager
parentd45d18c735065ef13de3b7d55b1e4799f808e81d (diff)
rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision. Fixes #580144
Diffstat (limited to 'gst/rtpmanager')
-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 */