summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Crete <olivier.crete@collabora.co.uk>2009-04-27 11:06:01 +0200
committerDave Robillard <dave@drobilla.net>2009-05-03 12:03:17 -0400
commitb5cb8c5d1a98dbefe97b664ed02a8a5e7034c024 (patch)
tree37164c89f2f79312c6bb0d5e83eb4f81783a542d
parent3bffffb2dc59aa02e882d0195c575da138d0231e (diff)
downloadgst-plugins-bad-b5cb8c5d1a98dbefe97b664ed02a8a5e7034c024.tar.gz
gst-plugins-bad-b5cb8c5d1a98dbefe97b664ed02a8a5e7034c024.tar.bz2
gst-plugins-bad-b5cb8c5d1a98dbefe97b664ed02a8a5e7034c024.zip
rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision. Fixes #580144
-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 */