diff options
Diffstat (limited to 'src/xine-engine/audio_out.c')
-rw-r--r-- | src/xine-engine/audio_out.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c index 3a11aa238..6405f6346 100644 --- a/src/xine-engine/audio_out.c +++ b/src/xine-engine/audio_out.c @@ -1889,10 +1889,15 @@ static int ao_set_property (xine_audio_port_t *this_gen, int property, int value case AO_PROP_DISCARD_BUFFERS: /* recursive discard buffers setting */ + pthread_mutex_lock(&this->flush_audio_driver_lock); if(value) this->discard_buffers++; - else + else if (this->discard_buffers) this->discard_buffers--; + else + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "ao_set_property: discard_buffers is already zero\n"); + pthread_mutex_unlock(&this->flush_audio_driver_lock); ret = this->discard_buffers; |