[ITC][Non ACR][sound-manager][TFDF-1703 sound-manager failed on testhub] 05/204805/7
authorp.chauhan <p.chauhan@samsung.com>
Fri, 26 Apr 2019 09:52:30 +0000 (15:22 +0530)
committerPranjul Singh <p.chauhan@samsung.com>
Fri, 26 Apr 2019 12:53:27 +0000 (12:53 +0000)
Change-Id: Ic16b155d76f1b366766acac6db0622abd8437046
Signed-off-by: p.chauhan <p.chauhan@samsung.com>
src/itc/sound-manager/ITs-sound-manager-device.c

index 1ac82f3545162f3ecd7e20f1a2d04205bb717de3..fd2f05f6008cee94ad4e781b2908ed6fd2a55dee 100755 (executable)
@@ -977,46 +977,84 @@ int ITc_sound_manager_add_remove_device_running_changed_cb_p(void)
        int nRet = -1, nTimeoutId = 0, nGetID = -1, nId = -1;
        sound_stream_info_h hStreamInfo = NULL;
        char pPath[PATH_LEN] = {0,};
+       sound_device_list_h hdeviceList = NULL;
+        sound_device_mask_e eDeviceMask = SOUND_DEVICE_ALL_MASK;
+        sound_device_h hDevice = NULL;
+        bool bIsRunning = false;
+
        if ( false == WavPlayerAppendToAppDataPath(TESTFILE, pPath) )
        {
                FPRINTF("[Line : %d][%s] unable to get the app data path\\n", __LINE__,API_NAMESPACE);
                return 1;
        }
+
+        nRet = sound_manager_get_device_list(eDeviceMask, &hdeviceList);
+        PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet));
+        CHECK_HANDLE(hdeviceList, "sound_manager_get_device_list");
+
+        nRet = sound_manager_get_next_device(hdeviceList, &hDevice);
+        PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet),sound_manager_free_device_list(hdeviceList));
+        CHECK_HANDLE_CLEANUP(hDevice, "sound_manager_get_next_device",sound_manager_free_device_list(hdeviceList));
+
+        nRet = sound_manager_is_device_running(hDevice,&bIsRunning);
+        PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_is_device_running\\n", SoundManagerGetError(nRet),sound_manager_free_device_list(hdeviceList));
+
        nRet = sound_manager_create_stream_information(SOUND_STREAM_TYPE_MEDIA, NULL, NULL, &hStreamInfo);
        PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_create_stream_information", SoundManagerGetError(nRet));
        CHECK_HANDLE(hStreamInfo, "sound_manager_create_stream_information");
        g_bCallbackResult  = false;
        //target API
        nRet = sound_manager_add_device_running_changed_cb(SOUND_DEVICE_ALL_MASK, test_sound_device_running_changed_cb, NULL, &nGetID);
-       PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_add_device_running_changed_cb", SoundManagerGetError(nRet), sound_manager_destroy_stream_information(hStreamInfo));
+       PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_add_device_running_changed_cb", SoundManagerGetError(nRet), sound_manager_destroy_stream_information(hStreamInfo);sound_manager_free_device_list(hdeviceList));
+       if ( nGetID < 0 )
+       {
+               FPRINTF("[Line : %d][%s] sound_manager_add_device_running_changed_cb failed, output parameter is having invalid value\\n", __LINE__, API_NAMESPACE);
+               sound_manager_remove_device_running_changed_cb(nGetID);
+               sound_manager_destroy_stream_information(hStreamInfo);
+               sound_manager_free_device_list(hdeviceList);
+               return 1;
+       }
+
        g_bWavPlayerPlaybackCompletedCallback = false;
        nRet = wav_player_start_new(pPath, hStreamInfo, WavPlayerPlaybackCompletedCallback, NULL, &nId);
-       PRINT_RESULT_CLEANUP(WAV_PLAYER_ERROR_NONE, nRet, "wav_player_start_new", WavPlayerGetError(nRet),sound_manager_destroy_stream_information(hStreamInfo);sound_manager_remove_device_running_changed_cb(nGetID));
+       PRINT_RESULT_CLEANUP(WAV_PLAYER_ERROR_NONE, nRet, "wav_player_start_new", WavPlayerGetError(nRet),sound_manager_destroy_stream_information(hStreamInfo);sound_manager_remove_device_running_changed_cb(nGetID);sound_manager_free_device_list(hdeviceList));
        if ( nId < 0 )
        {
                FPRINTF("[Line : %d][%s] wav_player_start_new failed, output parameter is having invalid value\\n", __LINE__, API_NAMESPACE);
                sound_manager_remove_device_running_changed_cb(nGetID);
                sound_manager_destroy_stream_information(hStreamInfo);
+               sound_manager_free_device_list(hdeviceList);
                return 1;
        }
        nRet = wav_player_stop(nId);
        PRINT_RESULT_CLEANUP(WAV_PLAYER_ERROR_NONE, nRet, "wav_player_stop", WavPlayerGetError(nRet),sound_manager_destroy_stream_information(hStreamInfo);sound_manager_remove_device_running_changed_cb(nGetID));
-       RUN_POLLING_LOOP;
-       if ( !g_bWavPlayerPlaybackCompletedCallback )
+
+       if(bIsRunning == false)
        {
-               FPRINTF("[Line : %d][%s] wav_player_start_new failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[%s:%d] Device is not running\\n", __FILE__, __LINE__);
+               RUN_POLLING_LOOP;
+       }
+
+       nRet = sound_manager_free_device_list(hdeviceList);
+       PRINT_RESULT_NORETURN(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet));
+
+       if(!g_bCallbackResult)
+       {
+               FPRINTF("[%s:%d] test_sound_device_running_changed_cb not invoked!!\\n", __FILE__, __LINE__);
                sound_manager_remove_device_running_changed_cb(nGetID);
                sound_manager_destroy_stream_information(hStreamInfo);
                return 1;
        }
+
        RUN_POLLING_LOOP;
-       if(!g_bCallbackResult)
+       if ( !g_bWavPlayerPlaybackCompletedCallback )
        {
-               FPRINTF("[%s:%d] test_sound_device_running_changed_cb not invoked!!\\n", __FILE__, __LINE__);
+               FPRINTF("[Line : %d][%s] wav_player_start_new failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE);
                sound_manager_remove_device_running_changed_cb(nGetID);
                sound_manager_destroy_stream_information(hStreamInfo);
                return 1;
        }
+       
        //Target API
        nRet = sound_manager_remove_device_running_changed_cb(nGetID);
        PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_remove_device_running_changed_cb", SoundManagerGetError(nRet),sound_manager_destroy_stream_information(hStreamInfo));