From: Seungbae Shin Date: Mon, 27 Feb 2017 02:19:52 +0000 (+0900) Subject: Lock threaded mainloop before reset callbacks for safety X-Git-Tag: submit/tizen_3.0/20170227.122312^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F116543%2F1;p=platform%2Fcore%2Fapi%2Faudio-io.git Lock threaded mainloop before reset callbacks for safety [Version] 0.3.69 [Profile] Common [Issue Type] Bug Change-Id: I258490b69489c09ac4fe17a388bbaf69b00a073c --- diff --git a/packaging/capi-media-audio-io.spec b/packaging/capi-media-audio-io.spec index e1c78c7..37f800d 100644 --- a/packaging/capi-media-audio-io.spec +++ b/packaging/capi-media-audio-io.spec @@ -1,6 +1,6 @@ Name: capi-media-audio-io Summary: An Audio Input & Audio Output library in Tizen Native API -Version: 0.3.68 +Version: 0.3.69 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/cpp/CPulseAudioClient.cpp b/src/cpp/CPulseAudioClient.cpp index 8c0d379..c59de3d 100644 --- a/src/cpp/CPulseAudioClient.cpp +++ b/src/cpp/CPulseAudioClient.cpp @@ -401,6 +401,9 @@ void CPulseAudioClient::finalize() { return; } + if (isInThread() == false) + pa_threaded_mainloop_lock(__mpMainloop); + /* clear callbacks */ if (__mDirection == EStreamDirection::STREAM_DIRECTION_PLAYBACK) pa_stream_set_write_callback(__mpStream, NULL, NULL); @@ -409,6 +412,9 @@ void CPulseAudioClient::finalize() { pa_stream_set_latency_update_callback(__mpStream, NULL, NULL); pa_stream_set_event_callback(__mpStream, NULL, NULL); + if (isInThread() == false) + pa_threaded_mainloop_unlock(__mpMainloop); + /* Wait for drain complete if draining before finalize */ if (__mIsDraining) { unsigned int drain_wait_count = 0;