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.
This commit is contained in:
Olivier Crete 2008-02-14 16:25:51 +00:00 committed by Tim-Philipp Müller
parent b638626053
commit a301c9a22b

View file

@ -778,7 +778,7 @@ gst_rtp_bin_associate (GstRtpBin * bin, GstRtpBinStream * stream, guint8 len,
for (walk = client->streams; walk; walk = g_slist_next (walk)) { for (walk = client->streams; walk; walk = g_slist_next (walk)) {
GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data; GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data;
if (ostream->unix_delta < min) if (ostream->unix_delta && ostream->unix_delta < min)
min = ostream->unix_delta; 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)) { for (walk = client->streams; walk; walk = g_slist_next (walk)) {
GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data; GstRtpBinStream *ostream = (GstRtpBinStream *) walk->data;
if (ostream->unix_delta == 0)
continue;
ostream->ts_offset = ostream->unix_delta - min; ostream->ts_offset = ostream->unix_delta - min;
/* delta changed, see how much */ /* delta changed, see how much */