From: Seungbae Shin Date: Thu, 5 Jan 2017 12:35:09 +0000 (+0900) Subject: [UTC][audio-io][Non-ACR] change waiting logic of stream callback due to platform... X-Git-Tag: 4.0_Bringup~127 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fda9d454f53f62d49b9e850a5f436fdc178a2aa7;p=test%2Ftct%2Fnative%2Fapi.git [UTC][audio-io][Non-ACR] change waiting logic of stream callback due to platform update. As platform code updated due to request of removing initial latency in audio-io, stream callback invoked earlier than waiting lock logic, therefore deadlock happens. code changed to handle even callback invoked earlier than expected. Change-Id: Ic512e372c4be3ee2e1a0a6870bcaab17c5c51ce8 --- diff --git a/src/utc/audio-io/utc-media-audio-output.c b/src/utc/audio-io/utc-media-audio-output.c index 65387c2c6..0cf0e5de5 100755 --- a/src/utc/audio-io/utc-media-audio-output.c +++ b/src/utc/audio-io/utc-media-audio-output.c @@ -282,7 +282,8 @@ int utc_media_audio_out_write_p(void) if (size == 0) size = 8096; pthread_mutex_lock(&mutex); - pthread_cond_wait(&cond, &mutex); + if (td.callback_ret == -1) + pthread_cond_wait(&cond, &mutex); assert_eq(td.callback_ret, AUDIO_IO_ERROR_NONE); pthread_mutex_unlock(&mutex); @@ -840,7 +841,8 @@ int utc_media_audio_out_set_stream_cb_p(void) assert_eq(ret, AUDIO_IO_ERROR_NONE); pthread_mutex_lock(&mutex); - pthread_cond_wait(&cond, &mutex); + if (td.callback_ret == -1) + pthread_cond_wait(&cond, &mutex); assert_eq(td.callback_ret, AUDIO_IO_ERROR_NONE); pthread_mutex_unlock(&mutex);