summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/rtpmanager/gstrtpbin.c5
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 36cf420d6..7ebb9ed44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-14 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ Patch by: Olivier Crete <tester@tester.ca>
+
+ * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate):
+ Ignore streams that did not receive an SR packet when doing
+ synchronisation. Fixes #516160.
+
2008-02-14 Sebastian Dröge <slomo@circular-chaos.org>
* gst/dvdspu/gstdvdspu.c: (gst_dvd_spu_handle_new_spu_buf):
diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c
index 7eb82446a..526cf9577 100644
--- a/gst/rtpmanager/gstrtpbin.c
+++ b/gst/rtpmanager/gstrtpbin.c
@@ -778,7 +778,7 @@ gst_rtp_bin_associate (GstRtpBin * bin, GstRtpBinStream * stream, guint8 len,
for (walk = client->streams; walk; walk = g_slist_next (walk)) {
GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data;
- if (ostream->unix_delta < min)
+ if (ostream->unix_delta && ostream->unix_delta < min)
min = ostream->unix_delta;
}
@@ -789,6 +789,9 @@ gst_rtp_bin_associate (GstRtpBin * bin, GstRtpBinStream * stream, guint8 len,
for (walk = client->streams; walk; walk = g_slist_next (walk)) {
GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data;
+ if (ostream->unix_delta == 0)
+ continue;
+
ostream->ts_offset = ostream->unix_delta - min;
/* delta changed, see how much */