Make the waiting on buffer exchange interruptible; sometimes the driver manages
to lock up (after some changing formats, rates, play/stops). Needs more investigation, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24145 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -298,7 +298,8 @@ buffer_exchange(hda_audio_group* audioGroup, multi_buffer_info* data)
|
||||
}
|
||||
|
||||
/* do playback */
|
||||
rc = acquire_sem(audioGroup->playback_stream->buffer_ready_sem);
|
||||
rc = acquire_sem_etc(audioGroup->playback_stream->buffer_ready_sem,
|
||||
1, B_CAN_INTERRUPT, 0);
|
||||
if (rc != B_OK) {
|
||||
dprintf("%s: Error waiting for playback buffer to finish (%s)!\n", __func__,
|
||||
strerror(rc));
|
||||
|
||||
Reference in New Issue
Block a user