mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-22 10:23:47 +00:00
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:
parent
32a727628f
commit
b802dea831
2 changed files with 10 additions and 3 deletions
|
@ -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>
|
2007-04-05 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
|
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
|
||||||
|
|
|
@ -787,7 +787,7 @@ gst_base_audio_sink_skew_slaving (GstBaseAudioSink * sink,
|
||||||
|
|
||||||
/* adjust playout pointer based on skew */
|
/* adjust playout pointer based on skew */
|
||||||
if (sink->priv->avg_skew > segtime) {
|
if (sink->priv->avg_skew > segtime) {
|
||||||
/* master is running slower */
|
/* master is running slower, move internal time forward */
|
||||||
GST_WARNING_OBJECT (sink,
|
GST_WARNING_OBJECT (sink,
|
||||||
"correct clock skew %" G_GINT64_FORMAT " > %" G_GINT64_FORMAT,
|
"correct clock skew %" G_GINT64_FORMAT " > %" G_GINT64_FORMAT,
|
||||||
sink->priv->avg_skew, segtime);
|
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,
|
gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
|
||||||
crate_num, crate_denom);
|
crate_num, crate_denom);
|
||||||
} else if (sink->priv->avg_skew < -segtime) {
|
} else if (sink->priv->avg_skew < -segtime) {
|
||||||
/* master is running faster */
|
/* master is running faster, move external time forwards */
|
||||||
GST_WARNING_OBJECT (sink,
|
GST_WARNING_OBJECT (sink,
|
||||||
"correct clock skew %" G_GINT64_FORMAT " < %" G_GINT64_FORMAT,
|
"correct clock skew %" G_GINT64_FORMAT " < %" G_GINT64_FORMAT,
|
||||||
sink->priv->avg_skew, -segtime);
|
sink->priv->avg_skew, -segtime);
|
||||||
cinternal -= segtime;
|
cexternal += segtime;
|
||||||
sink->priv->avg_skew += segtime;
|
sink->priv->avg_skew += segtime;
|
||||||
sink->next_sample = -1;
|
sink->next_sample = -1;
|
||||||
gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
|
gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
|
||||||
|
|
Loading…
Reference in a new issue