gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to create invalid calibration parameters by making the internal time...

Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving):
Don't try to create invalid calibration parameters by making the
internal time go backwards, instead make external time go forward.
This commit is contained in:
Wim Taymans 2007-04-05 15:44:40 +00:00
parent 32a727628f
commit b802dea831
2 changed files with 10 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2007-04-05 Wim Taymans <wim@fluendo.com>
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving):
Don't try to create invalid calibration parameters by making the
internal time go backwards, instead make external time go forward.
2007-04-05 Wim Taymans <wim@fluendo.com>
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>

View file

@ -787,7 +787,7 @@ gst_base_audio_sink_skew_slaving (GstBaseAudioSink * sink,
/* adjust playout pointer based on skew */
if (sink->priv->avg_skew > segtime) {
/* master is running slower */
/* master is running slower, move internal time forward */
GST_WARNING_OBJECT (sink,
"correct clock skew %" G_GINT64_FORMAT " > %" G_GINT64_FORMAT,
sink->priv->avg_skew, segtime);
@ -797,11 +797,11 @@ gst_base_audio_sink_skew_slaving (GstBaseAudioSink * sink,
gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
crate_num, crate_denom);
} else if (sink->priv->avg_skew < -segtime) {
/* master is running faster */
/* master is running faster, move external time forwards */
GST_WARNING_OBJECT (sink,
"correct clock skew %" G_GINT64_FORMAT " < %" G_GINT64_FORMAT,
sink->priv->avg_skew, -segtime);
cinternal -= segtime;
cexternal += segtime;
sink->priv->avg_skew += segtime;
sink->next_sample = -1;
gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,