[UTC][audio-io][Non-ACR] Add audio read testcases with a effect method 04/298904/4
authorJaechul Lee <jcsing.lee@samsung.com>
Fri, 15 Sep 2023 03:08:18 +0000 (12:08 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Mon, 18 Sep 2023 06:29:07 +0000 (15:29 +0900)
 - Add utc_media_audio_in_read_with_effect_method_p
 - Add utc_media_audio_in_read_with_effect_method_n

Change-Id: I4cd9b45f04ffd1bd22ce77701ae20f3ec69e5576
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
src/utc/audio-io/tct-audio-io-core_mobile.h
src/utc/audio-io/tct-audio-io-core_tizeniot.h
src/utc/audio-io/tct-audio-io-core_tv.h
src/utc/audio-io/tct-audio-io-core_wearable.h
src/utc/audio-io/utc-media-audio-input.c

index 54a841b..0a1bb91 100755 (executable)
@@ -31,6 +31,8 @@ extern int utc_media_audio_in_destroy_n(void);
 extern int utc_media_audio_in_read_p(void);
 extern int utc_media_audio_in_read_n1(void);
 extern int utc_media_audio_in_read_n2(void);
+extern int utc_media_audio_in_read_with_effect_method_p(void);
+extern int utc_media_audio_in_read_with_effect_method_n(void);
 extern int utc_media_audio_in_get_buffer_size_p(void);
 extern int utc_media_audio_in_get_buffer_size_n(void);
 extern int utc_media_audio_in_get_sample_rate_p(void);
@@ -121,6 +123,8 @@ testcase tc_array[] = {
        {"utc_media_audio_in_read_p",utc_media_audio_in_read_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n1",utc_media_audio_in_read_n1,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n2",utc_media_audio_in_read_n2,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_p",utc_media_audio_in_read_with_effect_method_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_n",utc_media_audio_in_read_with_effect_method_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_p",utc_media_audio_in_get_buffer_size_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_n",utc_media_audio_in_get_buffer_size_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_sample_rate_p",utc_media_audio_in_get_sample_rate_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
index 54a841b..0a1bb91 100755 (executable)
@@ -31,6 +31,8 @@ extern int utc_media_audio_in_destroy_n(void);
 extern int utc_media_audio_in_read_p(void);
 extern int utc_media_audio_in_read_n1(void);
 extern int utc_media_audio_in_read_n2(void);
+extern int utc_media_audio_in_read_with_effect_method_p(void);
+extern int utc_media_audio_in_read_with_effect_method_n(void);
 extern int utc_media_audio_in_get_buffer_size_p(void);
 extern int utc_media_audio_in_get_buffer_size_n(void);
 extern int utc_media_audio_in_get_sample_rate_p(void);
@@ -121,6 +123,8 @@ testcase tc_array[] = {
        {"utc_media_audio_in_read_p",utc_media_audio_in_read_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n1",utc_media_audio_in_read_n1,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n2",utc_media_audio_in_read_n2,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_p",utc_media_audio_in_read_with_effect_method_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_n",utc_media_audio_in_read_with_effect_method_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_p",utc_media_audio_in_get_buffer_size_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_n",utc_media_audio_in_get_buffer_size_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_sample_rate_p",utc_media_audio_in_get_sample_rate_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
index 54a841b..0a1bb91 100755 (executable)
@@ -31,6 +31,8 @@ extern int utc_media_audio_in_destroy_n(void);
 extern int utc_media_audio_in_read_p(void);
 extern int utc_media_audio_in_read_n1(void);
 extern int utc_media_audio_in_read_n2(void);
+extern int utc_media_audio_in_read_with_effect_method_p(void);
+extern int utc_media_audio_in_read_with_effect_method_n(void);
 extern int utc_media_audio_in_get_buffer_size_p(void);
 extern int utc_media_audio_in_get_buffer_size_n(void);
 extern int utc_media_audio_in_get_sample_rate_p(void);
@@ -121,6 +123,8 @@ testcase tc_array[] = {
        {"utc_media_audio_in_read_p",utc_media_audio_in_read_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n1",utc_media_audio_in_read_n1,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n2",utc_media_audio_in_read_n2,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_p",utc_media_audio_in_read_with_effect_method_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_n",utc_media_audio_in_read_with_effect_method_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_p",utc_media_audio_in_get_buffer_size_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_n",utc_media_audio_in_get_buffer_size_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_sample_rate_p",utc_media_audio_in_get_sample_rate_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
index 54a841b..0a1bb91 100755 (executable)
@@ -31,6 +31,8 @@ extern int utc_media_audio_in_destroy_n(void);
 extern int utc_media_audio_in_read_p(void);
 extern int utc_media_audio_in_read_n1(void);
 extern int utc_media_audio_in_read_n2(void);
+extern int utc_media_audio_in_read_with_effect_method_p(void);
+extern int utc_media_audio_in_read_with_effect_method_n(void);
 extern int utc_media_audio_in_get_buffer_size_p(void);
 extern int utc_media_audio_in_get_buffer_size_n(void);
 extern int utc_media_audio_in_get_sample_rate_p(void);
@@ -121,6 +123,8 @@ testcase tc_array[] = {
        {"utc_media_audio_in_read_p",utc_media_audio_in_read_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n1",utc_media_audio_in_read_n1,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_read_n2",utc_media_audio_in_read_n2,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_p",utc_media_audio_in_read_with_effect_method_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
+       {"utc_media_audio_in_read_with_effect_method_n",utc_media_audio_in_read_with_effect_method_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_p",utc_media_audio_in_get_buffer_size_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_buffer_size_n",utc_media_audio_in_get_buffer_size_n,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
        {"utc_media_audio_in_get_sample_rate_p",utc_media_audio_in_get_sample_rate_p,utc_media_audio_in_startup,utc_media_audio_in_cleanup},
index c487d2d..5e8245a 100755 (executable)
@@ -20,6 +20,7 @@
 #include <media/audio_io.h>
 
 //& set: Audio Input
+#define SAMPLE_RATE_16000 16000
 #define SAMPLE_RATE_44100 44100
 #define SAMPLE_RATE_48000 48000
 #define SAMPLE_RATE_192000 192000
@@ -392,6 +393,115 @@ int utc_media_audio_in_read_n2(void)
 }
 
 /**
+ * @testcase           utc_media_audio_in_read_with_effect_method_p
+ * @since_tizen                8.0
+ * @description                Read audio data with a effect method from the audio input buffer.\n
+ *                                     - Prepare audio input.\n
+ *                                     - Set a effect method.\n
+ *                                     - Get buffer size.\n
+ *                                     - Read audio input buffer to allocated buffer.\n
+ *                                     - Unprepare audio input.
+ */
+int utc_media_audio_in_read_with_effect_method_p(void)
+{
+    int ret, size;
+    audio_in_h input = NULL;
+    sound_stream_info_h stream_info = NULL;
+    char *buffer = NULL;
+
+    ret = sound_manager_create_stream_information(SOUND_STREAM_TYPE_MEDIA, NULL, NULL, &stream_info);
+    assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+    ret = sound_manager_set_effect_method(stream_info, SOUND_EFFECT_AUTOMATIC_GAIN_CONTROL_CAPTURE);
+    assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+    ret = audio_in_create(SAMPLE_RATE_16000, AUDIO_CHANNEL_MONO, AUDIO_SAMPLE_TYPE_S16_LE, &input);
+    if (ret == AUDIO_IO_ERROR_NOT_SUPPORTED && g_bFeatureSupported == false)
+        return 0;
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_set_sound_stream_info(input, stream_info);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_prepare(input);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_get_buffer_size(input, &size);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    buffer = malloc(size);
+    assert_neq(buffer, NULL);
+
+    ret = audio_in_read(input, (void*)buffer, size);
+    assert_gt(ret, 0);
+
+    ret = audio_in_destroy(input);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    sound_manager_destroy_stream_information(stream_info);
+
+    free (buffer);
+
+    return 0;
+}
+
+/**
+ * @testcase           utc_media_audio_in_read_with_effect_method_n
+ * @since_tizen                8.0
+ * @description                Read audio data with a effect method from the audio input buffer.\n
+ *                                     - Prepare audio input.\n
+ *                                     - Set a effect method.\n
+ *                                     - Get buffer size.\n
+ *                                     - Read audio input buffer after pausing the handle to get invalid operation error.\n
+ *                                     - Unprepare audio input.
+ */
+int utc_media_audio_in_read_with_effect_method_n(void)
+{
+    int ret, size;
+    audio_in_h input = NULL;
+    sound_stream_info_h stream_info = NULL;
+    char *buffer = NULL;
+
+    ret = sound_manager_create_stream_information(SOUND_STREAM_TYPE_MEDIA, NULL, NULL, &stream_info);
+    assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+    ret = sound_manager_set_effect_method(stream_info, SOUND_EFFECT_AUTOMATIC_GAIN_CONTROL_CAPTURE);
+    assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+    ret = audio_in_create(SAMPLE_RATE_16000, AUDIO_CHANNEL_MONO, AUDIO_SAMPLE_TYPE_S16_LE, &input);
+    if (ret == AUDIO_IO_ERROR_NOT_SUPPORTED && g_bFeatureSupported == false)
+        return 0;
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_set_sound_stream_info(input, stream_info);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_prepare(input);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_get_buffer_size(input, &size);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    ret = audio_in_pause(input);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    buffer = malloc(size);
+    assert_neq(buffer, NULL);
+
+    ret = audio_in_read(input, (void*)buffer, size);
+    assert_eq(ret, AUDIO_IO_ERROR_INVALID_OPERATION);
+
+    ret = audio_in_destroy(input);
+    assert_eq(ret, AUDIO_IO_ERROR_NONE);
+
+    sound_manager_destroy_stream_information(stream_info);
+
+    free (buffer);
+
+    return 0;
+}
+
+/**
  * @testcase           utc_media_audio_in_get_buffer_size_p
  * @since_tizen                2.3
  * @description                Get the size to be allocated for the audio input buffer.\n