Fix SVACE defects 48/53448/3 accepted/tizen/mobile/20151208.124330 accepted/tizen/mobile/20151208.124947 accepted/tizen/tv/20151208.124352 accepted/tizen/tv/20151208.125001 accepted/tizen/wearable/20151208.124404 accepted/tizen/wearable/20151208.125021 submit/tizen/20151207.234110 submit/tizen/20151208.040855
authorSeungbae Shin <seungbae.shin@samsung.com>
Mon, 7 Dec 2015 02:42:08 +0000 (11:42 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Mon, 7 Dec 2015 02:51:50 +0000 (11:51 +0900)
Change-Id: I280bb050ea0dc1f9712a703c6587722017f35637

include/CAudioSessionHandler.h
src/cpp/CAudioInput.cpp
src/cpp/CAudioOutput.cpp
src/cpp/CAudioSessionHandler.cpp
src/cpp/CPulseAudioClient.cpp

index 9351ba7..8c07c44 100644 (file)
@@ -124,19 +124,18 @@ namespace tizen_media_audio {
         EAudioSessionType           __mAudioSession;
         MMSessionType               __mMultimediaSession;
 
-        mm_sound_focus_type_e       __mFocusType;        /* For audio focus */
-        mm_sound_focus_state_e      __mState;            /* For audio focus */
-        char*                       __mReasonForChange;  /* For audio focus */
-        char*                       __mAdditionalInfo;   /* For audio focus */
-
         CAudioInfo                  __mAudioInfo;        /* Referenced from CAudioIO */
 
         IAudioSessionEventListener* __mpEventListener;
 
         bool                        __mIsInit;
+        int                         __mSubscribeId;
 
         bool                        __mUseFocus;
-        int                         __mSubscribeId;
+        mm_sound_focus_type_e       __mFocusType;        /* For audio focus */
+        mm_sound_focus_state_e      __mState;            /* For audio focus */
+        char*                       __mReasonForChange;  /* For audio focus */
+        char*                       __mAdditionalInfo;   /* For audio focus */
     };
 
 
index 5b68a9d..828cdda 100644 (file)
@@ -27,7 +27,8 @@ using namespace tizen_media_audio;
  */
 CAudioInput::CAudioInput(CAudioInfo& info) :
     CAudioIO(info),
-    __mIsUsedSyncRead(true) {
+    __mIsUsedSyncRead(true),
+    __mIsInit(false) {
 }
 
 CAudioInput::CAudioInput(
@@ -35,7 +36,8 @@ CAudioInput::CAudioInput(
         CAudioInfo::EChannel    channel,
         CAudioInfo::ESampleType type,
         CAudioInfo::EAudioType  audioType) :
-    __mIsUsedSyncRead(true) {
+    __mIsUsedSyncRead(true),
+    __mIsInit(false) {
     mAudioInfo = CAudioInfo(sampleRate, channel, type, audioType, -1);
 }
 
index e5fc08b..c1498dd 100644 (file)
@@ -27,7 +27,8 @@ using namespace tizen_media_audio;
  */
 CAudioOutput::CAudioOutput(CAudioInfo& info) :
     CAudioIO(info),
-    __mIsUsedSyncWrite(false) {
+    __mIsUsedSyncWrite(false),
+    __mIsInit(false) {
 }
 
 CAudioOutput::CAudioOutput(
@@ -35,7 +36,8 @@ CAudioOutput::CAudioOutput(
         CAudioInfo::EChannel    channel,
         CAudioInfo::ESampleType sampleType,
         CAudioInfo::EAudioType  audioType) :
-    __mIsUsedSyncWrite(false) {
+    __mIsUsedSyncWrite(false),
+    __mIsInit(false) {
     mAudioInfo = CAudioInfo(sampleRate, channel, sampleType, audioType, -1);
 }
 
index 4ab4060..07d3690 100644 (file)
@@ -88,8 +88,12 @@ CAudioSessionHandler::CAudioSessionHandler(EAudioSessionType sessionType, CAudio
     __mMultimediaSession(MM_SESSION_TYPE_MEDIA),
     __mpEventListener(listener),
     __mIsInit(false),
+    __mSubscribeId(-1),
     __mUseFocus(false),
-    __mSubscribeId(-1) {
+    __mFocusType(FOCUS_NONE),
+    __mState(FOCUS_IS_RELEASED),
+    __mReasonForChange(NULL),
+    __mAdditionalInfo(NULL) {
     __mAudioInfo = audioInfo;
 }
 
index e11977a..97be638 100644 (file)
@@ -59,6 +59,9 @@ void CPulseAudioClient::__contextStateChangeCb(pa_context* c, void* user_data) {
     switch (pa_context_get_state(c)) {
     case PA_CONTEXT_READY:
         AUDIO_IO_LOGD("The context is ready!");
+        pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
+        break;
+
     case PA_CONTEXT_FAILED:
     case PA_CONTEXT_TERMINATED:
         pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
@@ -93,13 +96,15 @@ void CPulseAudioClient::__streamStateChangeCb(pa_stream* s, void* user_data) {
     case PA_STREAM_READY:
         AUDIO_IO_LOGD("The stream is ready!");
         pClient->__mpListener->onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
+        pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
+        break;
+
     case PA_STREAM_FAILED:
     case PA_STREAM_TERMINATED:
         pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
         break;
 
     case PA_STREAM_UNCONNECTED:
-        break;
     case PA_STREAM_CREATING:
         break;
     }
@@ -516,7 +521,7 @@ int CPulseAudioClient::write(const void* data, size_t length) throw (CAudioError
 
     checkRunningState();
 
-    if (data == NULL || length < 0) {
+    if (data == NULL) {
         THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The parameter is invalid");
     }