summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Crete <tester@tester.ca>2008-02-14 16:25:51 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-02-14 16:25:51 +0000
commitc5b175a6890115ba3f30520f844e10b841a92258 (patch)
tree6ace6b722e20d232721064fb80ea582518e2e36b
parent4219829c50fcc2cf885553df6ee69ce5aee5965b (diff)
downloadgstreamer-plugins-bad-c5b175a6890115ba3f30520f844e10b841a92258.tar.gz
gst/rtpmanager/gstrtpbin.c: Ignore streams that did not receive an SR packet when doing synchronisation. Fixes #516160.
Original commit message from CVS: 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.
-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 */