From: mansankar Date: Fri, 7 Sep 2018 11:56:21 +0000 (+0530) Subject: [ITC][capi-media-sound-manager][ACR-1278][Add new APIs for USB audio output device] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63f1666a0f0baaf9f4ee16f0cb1f3bd9ad9c487a;p=test%2Ftct%2Fnative%2Fapi.git [ITC][capi-media-sound-manager][ACR-1278][Add new APIs for USB audio output device] Change-Id: I51e270edf32a3ebe68e808db6c9d5cd8f71b09c4 Signed-off-by: mansankar --- diff --git a/src/itc/sound-manager/ITs-sound-manager-common.h b/src/itc/sound-manager/ITs-sound-manager-common.h index d25c5c140..70c99ab49 100755 --- a/src/itc/sound-manager/ITs-sound-manager-common.h +++ b/src/itc/sound-manager/ITs-sound-manager-common.h @@ -40,6 +40,8 @@ #define TIMEOUT_CB 20000 #define TESTFILE "WavPlayerTest.wav" #define PATH_LEN 1024 +#define SAMPLE_FORMAT_COUNT 4 +#define SAMPLE_RATE_COUNT 8 int nTimeoutId; GMainLoop *g_pSoundManagerMainLoop; diff --git a/src/itc/sound-manager/ITs-sound-manager-device.c b/src/itc/sound-manager/ITs-sound-manager-device.c index 15277b9d5..1ac82f354 100755 --- a/src/itc/sound-manager/ITs-sound-manager-device.c +++ b/src/itc/sound-manager/ITs-sound-manager-device.c @@ -23,7 +23,6 @@ bool g_bWavPlayerPlaybackCompletedCallback; static GMainLoop *g_pMainLoop; static bool g_bCallbackResult ; - static bool g_bSupportedFeatureMicrophone ; /** @@ -116,7 +115,6 @@ static void test_sound_manager_stream_focus_state_changed_cb(sound_stream_info_h g_bCallbackResult = true; FPRINTF("[Line : %d][%s] Inside callback \"test_sound_manager_stream_focus_state_changed_cb\"\\n", __LINE__, API_NAMESPACE); } - /** * @function ITs_sound_manager_device_startup * @description Called before each test @@ -137,7 +135,6 @@ void ITs_sound_manager_device_startup(void) g_bCallbackResult = false; g_bSupportedFeatureMicrophone = TCTCheckSystemInfoFeatureSupported(FEATURE_MICROPHONE, API_NAMESPACE); - return; } @@ -183,7 +180,7 @@ int ITc_sound_manager_get_next_device_free_device_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -192,7 +189,7 @@ int ITc_sound_manager_get_next_device_free_device_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -280,7 +277,6 @@ int ITc_sound_manager_get_prev_device_p(void) nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); - return 0; } #endif //End MOBILE or Wearable @@ -356,7 +352,6 @@ int ITc_sound_manager_get_prev_device_p(void) nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); - return 0; } #endif //TV //End TV @@ -391,11 +386,11 @@ int ITc_sound_manager_get_device_type_p(void) #ifdef TV //Starts TV int nRet = sound_manager_get_device_list(SOUND_DEVICE_IO_DIRECTION_OUT_MASK, &deviceList); #endif //TV //End TV - + if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -404,7 +399,7 @@ int ITc_sound_manager_get_device_type_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -417,7 +412,7 @@ int ITc_sound_manager_get_device_type_p(void) FPRINTF("[Line : %d][%s] sound_manager_get_device_type failed, device type is invalid\\n", __LINE__, API_NAMESPACE); return 1; } - + nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); @@ -456,11 +451,11 @@ int ITc_sound_manager_get_device_io_direction_p(void) #ifdef TV //Starts TV int nRet = sound_manager_get_device_list(SOUND_DEVICE_IO_DIRECTION_OUT_MASK, &deviceList); #endif //TV //End TV - + if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -469,7 +464,7 @@ int ITc_sound_manager_get_device_io_direction_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -482,10 +477,10 @@ int ITc_sound_manager_get_device_io_direction_p(void) FPRINTF("[Line : %d][%s] sound_manager_get_device_io_direction failed, sound device direction is invalid\\n", __LINE__, API_NAMESPACE); return 1; } - + nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); - + return 0; } @@ -520,11 +515,11 @@ int ITc_sound_manager_get_device_id_p(void) #ifdef TV //Starts TV int nRet = sound_manager_get_device_list(SOUND_DEVICE_IO_DIRECTION_OUT_MASK, &deviceList); #endif //TV //End TV - + if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -533,7 +528,7 @@ int ITc_sound_manager_get_device_id_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -545,10 +540,10 @@ int ITc_sound_manager_get_device_id_p(void) FPRINTF("[Line : %d][%s] sound_manager_get_device_id failed, sound device id is invalid\\n", __LINE__, API_NAMESPACE); return 1; } - + nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); - + return 0; } @@ -583,11 +578,11 @@ int ITc_sound_manager_get_device_name_p(void) #ifdef TV //Starts TV int nRet = sound_manager_get_device_list(SOUND_DEVICE_IO_DIRECTION_OUT_MASK, &deviceList); #endif //TV //End TV - + if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -596,7 +591,7 @@ int ITc_sound_manager_get_device_name_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -639,11 +634,11 @@ int ITc_sound_manager_get_device_state_p(void) #ifdef TV //Starts TV int nRet = sound_manager_get_device_list(SOUND_DEVICE_IO_DIRECTION_OUT_MASK, &deviceList); #endif //TV //End TV - + if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_device_list error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); CHECK_HANDLE(deviceList, "sound_manager_get_device_list"); @@ -652,7 +647,7 @@ int ITc_sound_manager_get_device_state_p(void) if (nRet == SOUND_MANAGER_ERROR_NO_DATA) { FPRINTF("\\n[Line : %d][%s]sound_manager_get_next_device error returned = %s . So leaving test",__LINE__, API_NAMESPACE, SoundManagerGetError(nRet)); - return 0; + return 0; } PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device\\n", SoundManagerGetError(nRet)); CHECK_HANDLE(hDevice, "sound_manager_get_next_device"); @@ -665,10 +660,10 @@ int ITc_sound_manager_get_device_state_p(void) FPRINTF("[Line : %d][%s] sound_manager_get_device_state failed, sound device state is invalid\\n", __LINE__, API_NAMESPACE); return 1; } - + nRet = sound_manager_free_device_list(deviceList); PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_free_device_list", SoundManagerGetError(nRet)); - + return 0; } @@ -769,7 +764,7 @@ int ITc_sound_manager_get_device_list_p(void) * @reviewer SRID(a.pandia1) * @type auto * @description Gets current media playback device type -* @scenario +* @scenario * Create stream info handle\n * Acquire recording focus\n * Get the current recording focus @@ -836,7 +831,7 @@ int ITc_sound_manager_add_remove_device_connection_changed_cb_p(void) #ifdef TV //Starts TV sound_device_mask_e e_device_mask = SOUND_DEVICE_IO_DIRECTION_OUT_MASK; #endif //TV //End TV - + int arrSoundDeviceMask[] = { SOUND_DEVICE_IO_DIRECTION_IN_MASK, /**< Mask for input devices */ SOUND_DEVICE_IO_DIRECTION_OUT_MASK, /**< Mask for output devices */ @@ -884,7 +879,7 @@ int ITc_sound_manager_add_remove_device_state_changed_cb_p(void) START_TEST; // Initializing testing variable int nRet = -1, nEnumLoopCount = 0; - + #if defined(MOBILE) || defined(TIZENIOT) || defined(WEARABLE) //Starts MOBILE or TIZENIOT and WEARABLE sound_device_mask_e e_device_mask = SOUND_DEVICE_IO_DIRECTION_IN_MASK; #endif//MOBILE or TIZENIOT or WEARABLE @@ -1030,4 +1025,429 @@ int ITc_sound_manager_add_remove_device_running_changed_cb_p(void) return 0; } +//& purpose: Gets the device's supported sample formats. +//& type : auto +/** +* @testcase ITs_sound_manager_get_supported_sample_formats_p +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Gets the device's supported sample formats. +* @apicovered sound_manager_get_supported_sample_formats +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_get_supported_sample_formats_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + sound_device_h hDevice = NULL; + sound_sample_format_e *eSampleFormat = NULL; + unsigned int nNumOfElems = 0; + + int nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_get_supported_sample_formats(hDevice, &eSampleFormat, &nNumOfElems); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_supported_sample_formats", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + CHECK_HANDLE_CLEANUP(eSampleFormat, "sound_manager_get_supported_sample_formats", sound_manager_free_device_list(hDeviceList)); + if(nNumOfElems == 0 || nNumOfElems > SAMPLE_FORMAT_COUNT) + { + FPRINTF("\\n[Line : %d][%s]sound_manager_get_supported_sample_formats failed, no supported formats",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleFormat); + return 1; + } + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleFormat); + return 0; + } + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} +//& purpose: Sets/Gets the device's sample format. +//& type : auto +/** +* @testcase ITs_sound_manager_set_get_sample_format_p +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Sets/Gets the device's sample format. +* @apicovered sound_manager_get_supported_sample_formats,sound_manager_set_sample_format,sound_manager_get_sample_format +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_set_get_sample_format_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + sound_device_h hDevice = NULL; + sound_sample_format_e *eSampleFormat = NULL; + sound_sample_format_e eFindSampleFormat; + unsigned int nNumOfElems = 0; + int nRet = -1, nEnumLoopCount = 0; + nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_get_supported_sample_formats(hDevice, &eSampleFormat, &nNumOfElems); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_supported_sample_formats", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + CHECK_HANDLE_CLEANUP(eSampleFormat, "sound_manager_get_supported_sample_formats", sound_manager_free_device_list(hDeviceList)); + if(nNumOfElems == 0 || nNumOfElems > SAMPLE_FORMAT_COUNT) + { + FPRINTF("\\n[Line : %d][%s]sound_manager_get_supported_sample_formats failed, no supported formats",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleFormat); + return 1; + } + for ( nEnumLoopCount = 0; nEnumLoopCount < nNumOfElems ; nEnumLoopCount++ ) + { + nRet = sound_manager_set_sample_format(hDevice, eSampleFormat[nEnumLoopCount]); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_set_sample_format", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eSampleFormat)); + nRet = sound_manager_get_sample_format(hDevice, &eFindSampleFormat); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_sample_format", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eSampleFormat)); + PRINT_RESULT_CLEANUP(eFindSampleFormat, eSampleFormat[nEnumLoopCount], "sound_manager_get_sample_format", "Output parameter doesn't match the set value", sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eSampleFormat)); + } + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleFormat); + return 0; + } + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} +//& purpose: Gets the device's supported sample rates. +//& type : auto +/** +* @testcase ITs_sound_manager_get_supported_sample_rates_p +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Gets the device's supported sample rates. +* @apicovered sound_manager_get_supported_sample_rates +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_get_supported_sample_rates_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_h hDevice = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + sound_sample_rate_e *eSampleRates = NULL; + unsigned int nNumOfElems = 0; + int nRet = -1; + + nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + nRet = sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_get_supported_sample_rates(hDevice, &eSampleRates, &nNumOfElems); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_supported_sample_rates", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + CHECK_HANDLE_CLEANUP(eSampleRates, "sound_manager_get_supported_sample_rates", sound_manager_free_device_list(hDeviceList)); + if(nNumOfElems == 0 || nNumOfElems > SAMPLE_RATE_COUNT) + { + FPRINTF("\\n[Line : %d][%s]sound_manager_get_supported_sample_rates failed, no supported rates",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleRates); + return 1; + } + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eSampleRates); + return 0; + } + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} +//& purpose: Sets/Gets the device's sample rates. +//& type : auto +/** +* @testcase ITs_sound_manager_set_get_sample_rates_p +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Sets/Gets the device's sample rates. +* @apicovered sound_manager_get_supported_sample_rates,sound_manager_set_sample_rate,sound_manager_get_sample_rate. +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_set_get_sample_rate_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_h hDevice = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + sound_sample_rate_e *eOutSampleRates = NULL; + sound_sample_rate_e eFindSampleRate; + unsigned int nNumOfElems = 0; + int nRet=-1, nEnumLoopCount = 0; + + nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_get_supported_sample_rates(hDevice, &eOutSampleRates, &nNumOfElems); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_supported_sample_rates", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + CHECK_HANDLE_CLEANUP(eOutSampleRates, "sound_manager_get_supported_sample_rates", sound_manager_free_device_list(hDeviceList)); + if(nNumOfElems == 0 || nNumOfElems > SAMPLE_RATE_COUNT) + { + FPRINTF("\\n[Line : %d][%s]sound_manager_get_supported_sample_rates failed, no supported rates",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eOutSampleRates); + return 1; + } + for ( nEnumLoopCount = 0; nEnumLoopCount < nNumOfElems ; nEnumLoopCount++ ) + { + nRet = sound_manager_set_sample_rate(hDevice, eOutSampleRates[nEnumLoopCount]); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_set_sample_rate", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eOutSampleRates)); + + nRet = sound_manager_get_sample_rate(hDevice, &eFindSampleRate); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_sample_rate", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eOutSampleRates)); + + PRINT_RESULT_CLEANUP(eFindSampleRate, eOutSampleRates[nEnumLoopCount], "sound_manager_get_sample_rate", "Output parameter doesn't match the set value", sound_manager_free_device_list(hDeviceList);FREE_MEMORY(eOutSampleRates)); + } + sound_manager_free_device_list(hDeviceList); + FREE_MEMORY(eOutSampleRates); + return 0; + } + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} +//& purpose: Sets/Gets the device's 'avoid resampling' property. +//& type : auto +/** +* @testcase ITs_sound_manager_set_get_avoid_resampling_p +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Sets/Gets the device's 'avoid resampling' property. +* @apicovered sound_manager_set_avoid_resampling,sound_manager_get_avoid_resampling +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_set_get_avoid_resampling_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_h hDevice = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + bool bSetEnable = true; + bool bFindEnable = false; + int nRet = -1; + + nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_set_avoid_resampling(hDevice, bSetEnable); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_set_avoid_resampling", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_avoid_resampling(hDevice, &bFindEnable); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_avoid_resampling", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + PRINT_RESULT_CLEANUP(bFindEnable, bSetEnable, "sound_manager_get_avoid_resampling", "Output parameter doesn't match the set value", sound_manager_free_device_list(hDeviceList)); + sound_manager_free_device_list(hDeviceList); + return 0; + } + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} +//& purpose: Sets/Gets the restriction of stream type only for media. +//& type : auto +/** +* @testcase ITs_sound_manager_set_get_media_stream_only +* @since_tizen 5.0 +* @author SRID(karanam.s) +* @reviewer SRID(j.abhishek) +* @type auto +* @description Sets/Gets the restriction of stream type only for media. +* @apicovered sound_manager_set_media_stream_only,sound_manager_get_media_stream_only +* @passcase When API return SOUND_MANAGER_ERROR_NONE +* @failcase When API not return SOUND_MANAGER_ERROR_NONE +* @precondition device should be #SOUND_DEVICE_USB_AUDIO type and an output device +* @postcondition N/A +*/ +int ITs_sound_manager_set_get_media_stream_only_p(void) +{ + START_TEST; + // Initializing testing variable + sound_device_list_h hDeviceList = NULL; + sound_device_h hDevice = NULL; + sound_device_type_e eType; + sound_device_io_direction_e eIoDirection; + bool bSetEnable = true; + bool bFindEnable = false; + int nRet = -1; + + nRet = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &hDeviceList); + PRINT_RESULT(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_list", SoundManagerGetError(nRet)); + CHECK_HANDLE(hDeviceList, "sound_manager_get_device_list"); + + while(hDeviceList != NULL) + { + nRet = sound_manager_get_next_device(hDeviceList, &hDevice); + if(nRet == SOUND_MANAGER_ERROR_NO_DATA) + { + FPRINTF("\\n[Line : %d][%s] Unsupported device , device must be usb audio type and output device",__LINE__, API_NAMESPACE); + sound_manager_free_device_list(hDeviceList); + return 0; + } + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_next_device", 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_get_device_type(hDevice, &eType); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_type", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_device_io_direction(hDevice, &eIoDirection); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_device_io_direction", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + if(eType == SOUND_DEVICE_USB_AUDIO && eIoDirection == SOUND_DEVICE_IO_DIRECTION_OUT) + { + nRet = sound_manager_set_media_stream_only(hDevice, bSetEnable); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_set_media_stream_only", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + nRet = sound_manager_get_media_stream_only(hDevice, &bFindEnable); + PRINT_RESULT_CLEANUP(SOUND_MANAGER_ERROR_NONE, nRet, "sound_manager_get_media_stream_only", SoundManagerGetError(nRet), sound_manager_free_device_list(hDeviceList)); + + PRINT_RESULT_CLEANUP(bFindEnable, bSetEnable, "sound_manager_get_media_stream_only", "Output parameter doesn't match the set value", sound_manager_free_device_list(hDeviceList)); + sound_manager_free_device_list(hDeviceList); + return 0; + } + + } + FPRINTF("\\n[Line : %d][%s] No device attached, usb audio type and output device must be attached",__LINE__, API_NAMESPACE); + return 0; +} diff --git a/src/itc/sound-manager/tct-sound-manager-native_mobile.h b/src/itc/sound-manager/tct-sound-manager-native_mobile.h index dbff046c7..4458dd769 100755 --- a/src/itc/sound-manager/tct-sound-manager-native_mobile.h +++ b/src/itc/sound-manager/tct-sound-manager-native_mobile.h @@ -57,39 +57,31 @@ extern int ITc_sound_manager_acquire_release_focus_all_p(void); extern int ITc_sound_manager_deliver_focus_p(void); extern int ITc_sound_manager_is_device_running_p(void); extern int ITc_sound_manager_add_remove_device_running_changed_cb_p(void); - +extern int ITs_sound_manager_get_supported_sample_formats_p(void); +extern int ITs_sound_manager_set_get_sample_format_p(void); +extern int ITs_sound_manager_get_supported_sample_rates_p(void); +extern int ITs_sound_manager_set_get_sample_rate_p(void); +extern int ITs_sound_manager_set_get_avoid_resampling_p(void); +extern int ITs_sound_manager_set_get_media_stream_only_p(void); testcase tc_array[] = { - {"ITc_sound_manager_get_next_device_free_device_p",ITc_sound_manager_get_next_device_free_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_prev_device_p",ITc_sound_manager_get_prev_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_type_p",ITc_sound_manager_get_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_io_direction_p",ITc_sound_manager_get_device_io_direction_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITc_sound_manager_get_next_device_free_device_p",ITc_sound_manager_get_next_device_free_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_prev_device_p",ITc_sound_manager_get_prev_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITc_sound_manager_get_device_type_p",ITc_sound_manager_get_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_io_direction_p",ITc_sound_manager_get_device_io_direction_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_id_p",ITc_sound_manager_get_device_id_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_name_p",ITc_sound_manager_get_device_name_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_state_p",ITc_sound_manager_get_device_state_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_list_p",ITc_sound_manager_get_device_list_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_current_media_playback_device_type_p",ITc_sound_manager_get_current_media_playback_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_connection_changed_cb_p",ITc_sound_manager_add_remove_device_connection_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_state_changed_cb_p",ITc_sound_manager_add_remove_device_state_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_create_destroy_stream_information_p",ITc_sound_manager_create_destroy_stream_information_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_add_remove_device_for_stream_routing_p",ITc_sound_manager_add_remove_device_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_remove_all_devices_for_stream_routing_p",ITc_sound_manager_remove_all_devices_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_device_list_p",ITc_sound_manager_get_device_list_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_current_media_playback_device_type_p",ITc_sound_manager_get_current_media_playback_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_connection_changed_cb_p",ITc_sound_manager_add_remove_device_connection_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_state_changed_cb_p",ITc_sound_manager_add_remove_device_state_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_create_destroy_stream_information_p",ITc_sound_manager_create_destroy_stream_information_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_add_remove_device_for_stream_routing_p",ITc_sound_manager_add_remove_device_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_remove_all_devices_for_stream_routing_p",ITc_sound_manager_remove_all_devices_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_apply_stream_routing_p",ITc_sound_manager_apply_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_acquire_release_focus_p",ITc_sound_manager_acquire_release_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_get_focus_state_p",ITc_sound_manager_get_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_add_remove_focus_state_watch_cb_p",ITc_sound_manager_add_remove_focus_state_watch_cb_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_set_get_focus_reacquisition_p",ITc_sound_manager_set_get_focus_reacquisition_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_get_sound_type_p",ITc_sound_manager_get_sound_type_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_get_current_playback_recording_focus_p",ITc_sound_manager_get_current_playback_recording_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p",ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_focus_state_p",ITc_sound_manager_get_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_add_remove_focus_state_watch_cb_p",ITc_sound_manager_add_remove_focus_state_watch_cb_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_set_get_focus_reacquisition_p",ITc_sound_manager_set_get_focus_reacquisition_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_sound_type_p",ITc_sound_manager_get_sound_type_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_get_current_playback_recording_focus_p",ITc_sound_manager_get_current_playback_recording_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p",ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_is_stream_on_device_p",ITc_sound_manager_is_stream_on_device_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_get_max_volume_p",ITc_sound_manager_get_max_volume_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, - {"ITc_sound_manager_set_get_volume_p",ITc_sound_manager_set_get_volume_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, - {"ITc_sound_manager_get_current_sound_type_p",ITc_sound_manager_get_current_sound_type_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, - {"ITc_sound_manager_add_remove_volume_changed_cb_p",ITc_sound_manager_add_remove_volume_changed_cb_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, + {"ITc_sound_manager_set_get_volume_p",ITc_sound_manager_set_get_volume_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_get_current_sound_type_p",ITc_sound_manager_get_current_sound_type_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_add_remove_volume_changed_cb_p",ITc_sound_manager_add_remove_volume_changed_cb_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_acquire_release_focus_all_p", ITc_sound_manager_acquire_release_focus_all_p, ITs_sound_manager_stream_startup, ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_deliver_focus_p", ITc_sound_manager_deliver_focus_p, ITs_sound_manager_stream_startup, ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_is_device_running_p",ITc_sound_manager_is_device_running_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_running_changed_cb_p",ITc_sound_manager_add_remove_device_running_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITc_sound_manager_is_device_running_p",ITc_sound_manager_is_device_running_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_running_changed_cb_p",ITc_sound_manager_add_remove_device_running_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITs_sound_manager_get_supported_sample_formats_p",ITs_sound_manager_get_supported_sample_formats_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_sample_format_p",ITs_sound_manager_set_get_sample_format_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITs_sound_manager_get_supported_sample_rates_p",ITs_sound_manager_get_supported_sample_rates_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_sample_rate_p",ITs_sound_manager_set_get_sample_rate_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITs_sound_manager_set_get_avoid_resampling_p",ITs_sound_manager_set_get_avoid_resampling_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITs_sound_manager_set_get_media_stream_only_p",ITs_sound_manager_set_get_media_stream_only_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {NULL, NULL} }; diff --git a/src/itc/sound-manager/tct-sound-manager-native_wearable.h b/src/itc/sound-manager/tct-sound-manager-native_wearable.h index 3072bd675..fe51ef658 100755 --- a/src/itc/sound-manager/tct-sound-manager-native_wearable.h +++ b/src/itc/sound-manager/tct-sound-manager-native_wearable.h @@ -57,40 +57,41 @@ extern int ITc_sound_manager_acquire_release_focus_all_p(void); extern int ITc_sound_manager_deliver_focus_p(void); extern int ITc_sound_manager_is_device_running_p(void); extern int ITc_sound_manager_add_remove_device_running_changed_cb_p(void); +extern int ITs_sound_manager_get_supported_sample_formats_p(void); +extern int ITs_sound_manager_set_get_sample_format_p(void); +extern int ITs_sound_manager_get_supported_sample_rates_p(void); +extern int ITs_sound_manager_set_get_sample_rate_p(void); +extern int ITs_sound_manager_set_get_avoid_resampling_p(void); +extern int ITs_sound_manager_set_get_media_stream_only_p(void); -testcase tc_array[] = { + testcase tc_array[] = { {"ITc_sound_manager_get_next_device_free_device_p",ITc_sound_manager_get_next_device_free_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_prev_device_p",ITc_sound_manager_get_prev_device_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_type_p",ITc_sound_manager_get_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_io_direction_p",ITc_sound_manager_get_device_io_direction_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITc_sound_manager_get_device_type_p",ITc_sound_manager_get_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_io_direction_p",ITc_sound_manager_get_device_io_direction_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_id_p",ITc_sound_manager_get_device_id_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_name_p",ITc_sound_manager_get_device_name_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_device_state_p",ITc_sound_manager_get_device_state_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_device_list_p",ITc_sound_manager_get_device_list_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_get_current_media_playback_device_type_p",ITc_sound_manager_get_current_media_playback_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_connection_changed_cb_p",ITc_sound_manager_add_remove_device_connection_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_state_changed_cb_p",ITc_sound_manager_add_remove_device_state_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_create_destroy_stream_information_p",ITc_sound_manager_create_destroy_stream_information_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_add_remove_device_for_stream_routing_p",ITc_sound_manager_add_remove_device_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_remove_all_devices_for_stream_routing_p",ITc_sound_manager_remove_all_devices_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_device_list_p",ITc_sound_manager_get_device_list_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_get_current_media_playback_device_type_p",ITc_sound_manager_get_current_media_playback_device_type_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_connection_changed_cb_p",ITc_sound_manager_add_remove_device_connection_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_state_changed_cb_p",ITc_sound_manager_add_remove_device_state_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_create_destroy_stream_information_p",ITc_sound_manager_create_destroy_stream_information_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_add_remove_device_for_stream_routing_p",ITc_sound_manager_add_remove_device_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_remove_all_devices_for_stream_routing_p",ITc_sound_manager_remove_all_devices_for_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_apply_stream_routing_p",ITc_sound_manager_apply_stream_routing_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_acquire_release_focus_p",ITc_sound_manager_acquire_release_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_get_focus_state_p",ITc_sound_manager_get_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_add_remove_focus_state_watch_cb_p",ITc_sound_manager_add_remove_focus_state_watch_cb_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_set_get_focus_reacquisition_p",ITc_sound_manager_set_get_focus_reacquisition_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_focus_state_p",ITc_sound_manager_get_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_add_remove_focus_state_watch_cb_p",ITc_sound_manager_add_remove_focus_state_watch_cb_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_set_get_focus_reacquisition_p",ITc_sound_manager_set_get_focus_reacquisition_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_get_sound_type_p",ITc_sound_manager_get_sound_type_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_get_current_playback_recording_focus_p",ITc_sound_manager_get_current_playback_recording_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, - {"ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p",ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, + {"ITc_sound_manager_get_current_playback_recording_focus_p",ITc_sound_manager_get_current_playback_recording_focus_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p",ITc_sound_manager_focus_get_requesting_requested_behavior_get_changed_focus_state_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_is_stream_on_device_p",ITc_sound_manager_is_stream_on_device_p,ITs_sound_manager_stream_startup,ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_get_max_volume_p",ITc_sound_manager_get_max_volume_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_set_get_volume_p",ITc_sound_manager_set_get_volume_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, - {"ITc_sound_manager_get_current_sound_type_p",ITc_sound_manager_get_current_sound_type_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, - {"ITc_sound_manager_add_remove_volume_changed_cb_p",ITc_sound_manager_add_remove_volume_changed_cb_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, + {"ITc_sound_manager_get_current_sound_type_p",ITc_sound_manager_get_current_sound_type_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_add_remove_volume_changed_cb_p",ITc_sound_manager_add_remove_volume_changed_cb_p,ITs_sound_manager_volume_startup,ITs_sound_manager_volume_cleanup}, {"ITc_sound_manager_acquire_release_focus_all_p", ITc_sound_manager_acquire_release_focus_all_p, ITs_sound_manager_stream_startup, ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_deliver_focus_p", ITc_sound_manager_deliver_focus_p, ITs_sound_manager_stream_startup, ITs_sound_manager_stream_cleanup}, {"ITc_sound_manager_is_device_running_p", ITc_sound_manager_is_device_running_p, ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, - {"ITc_sound_manager_add_remove_device_running_changed_cb_p", ITc_sound_manager_add_remove_device_running_changed_cb_p, ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITc_sound_manager_add_remove_device_running_changed_cb_p", ITc_sound_manager_add_remove_device_running_changed_cb_p, ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {"ITc_sound_manager_add_remove_device_running_changed_cb_p",ITc_sound_manager_add_remove_device_running_changed_cb_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_get_supported_sample_formats_p",ITs_sound_manager_get_supported_sample_formats_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_sample_format_p",ITs_sound_manager_set_get_sample_format_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_get_supported_sample_rates_p",ITs_sound_manager_get_supported_sample_rates_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_sample_rate_p",ITs_sound_manager_set_get_sample_rate_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_avoid_resampling_p",ITs_sound_manager_set_get_avoid_resampling_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, + {"ITs_sound_manager_set_get_media_stream_only_p",ITs_sound_manager_set_get_media_stream_only_p,ITs_sound_manager_device_startup,ITs_sound_manager_device_cleanup}, {NULL, NULL} };