diff --git a/ChangeLog b/ChangeLog index 76e5eae55b..086910a304 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-07-04 Benjamin Otte + + * ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery): + only restart audio when we indeed have an xrun to fix repeated + xruns. Fix suggested by Giuliano Pochini. + 2004-07-03 David Schleef * ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper): Disable diff --git a/ext/alsa/gstalsa.c b/ext/alsa/gstalsa.c index 00be29a2e3..ea5266c2b6 100644 --- a/ext/alsa/gstalsa.c +++ b/ext/alsa/gstalsa.c @@ -1264,11 +1264,11 @@ gst_alsa_xrun_recovery (GstAlsa * this) this->period_count *= 2; } } - } - if (!(gst_alsa_stop_audio (this) && gst_alsa_start_audio (this))) { - GST_ELEMENT_ERROR (this, RESOURCE, FAILED, (NULL), - ("Error restarting audio after xrun")); - return FALSE; + if (!(gst_alsa_stop_audio (this) && gst_alsa_start_audio (this))) { + GST_ELEMENT_ERROR (this, RESOURCE, FAILED, (NULL), + ("Error restarting audio after xrun")); + return FALSE; + } } return TRUE;