diff options
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/audio_out.c | 7 | ||||
-rw-r--r-- | src/xine-engine/buffer_types.c | 4 | ||||
-rw-r--r-- | src/xine-engine/video_out.c | 5 |
3 files changed, 12 insertions, 4 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; diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c index 4d4be3a34..413bfb9f0 100644 --- a/src/xine-engine/buffer_types.c +++ b/src/xine-engine/buffer_types.c @@ -861,8 +861,8 @@ static const audio_db_t audio_db[] = { { 0x162, 0 }, - BUF_AUDIO_WMAV3, - "Windows Media Audio v3" + BUF_AUDIO_WMAPRO, + "Windows Media Audio Professional" }, { { diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index cc21b441d..e4af36e3c 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -1510,8 +1510,11 @@ static int vo_set_property (xine_video_port_t *this_gen, int property, int value pthread_mutex_lock(&this->display_img_buf_queue->mutex); if(value) this->discard_frames++; - else + else if (this->discard_frames) this->discard_frames--; + else + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "vo_set_property: discard_frames is already zero\n"); pthread_mutex_unlock(&this->display_img_buf_queue->mutex); ret = this->discard_frames; |