From: Eunhye Choi Date: Mon, 29 Jul 2019 07:35:23 +0000 (+0900) Subject: [UTC][capi-media-player][ACR-1427][Add test case about retriving supported format] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45f65d7babb31eb03bf4a939ba0fe92a25c63c3a;p=test%2Ftct%2Fnative%2Fapi.git [UTC][capi-media-player][ACR-1427][Add test case about retriving supported format] - add new test case for retrive the supported media format about external media stream playback - applied changed player_supported_media_format_cb return type at offload tct Change-Id: I16b5e495dadcde56cd527923a59aad99b213a1b7 --- diff --git a/src/utc/player/tct-player-core_mobile.h b/src/utc/player/tct-player-core_mobile.h index 36356af50..2dc58304e 100644 --- a/src/utc/player/tct-player-core_mobile.h +++ b/src/utc/player/tct-player-core_mobile.h @@ -239,6 +239,8 @@ extern int utc_player_set_media_stream_seek_cb_n(void); extern int utc_player_unset_media_stream_seek_cb_p(void); extern int utc_player_unset_media_stream_seek_cb_p2(void); extern int utc_player_unset_media_stream_seek_cb_n(void); +extern int utc_player_foreach_media_stream_supported_format_p(void); +extern int utc_player_foreach_media_stream_supported_format_n(void); extern int utc_player_set_video_stream_changed_cb_p(void); extern int utc_player_set_video_stream_changed_cb_n(void); extern int utc_player_set_video_stream_changed_cb_n2(void); @@ -487,6 +489,8 @@ testcase tc_array[] = { {"utc_player_unset_media_stream_seek_cb_p",utc_player_unset_media_stream_seek_cb_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_unset_media_stream_seek_cb_p2",utc_player_unset_media_stream_seek_cb_p2,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_unset_media_stream_seek_cb_n",utc_player_unset_media_stream_seek_cb_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, + {"utc_player_foreach_media_stream_supported_format_p",utc_player_foreach_media_stream_supported_format_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, + {"utc_player_foreach_media_stream_supported_format_n",utc_player_foreach_media_stream_supported_format_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_p",utc_player_set_video_stream_changed_cb_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_n",utc_player_set_video_stream_changed_cb_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_n2",utc_player_set_video_stream_changed_cb_n2,utc_media_player_es_startup,utc_media_player_es_cleanup}, diff --git a/src/utc/player/tct-player-core_wearable.h b/src/utc/player/tct-player-core_wearable.h index 378e4a6e1..3221ca38a 100644 --- a/src/utc/player/tct-player-core_wearable.h +++ b/src/utc/player/tct-player-core_wearable.h @@ -239,6 +239,8 @@ extern int utc_player_set_media_stream_seek_cb_n(void); extern int utc_player_unset_media_stream_seek_cb_p(void); extern int utc_player_unset_media_stream_seek_cb_p2(void); extern int utc_player_unset_media_stream_seek_cb_n(void); +extern int utc_player_foreach_media_stream_supported_format_p(void); +extern int utc_player_foreach_media_stream_supported_format_n(void); extern int utc_player_set_video_stream_changed_cb_p(void); extern int utc_player_set_video_stream_changed_cb_n(void); extern int utc_player_set_video_stream_changed_cb_n2(void); @@ -487,6 +489,8 @@ testcase tc_array[] = { {"utc_player_unset_media_stream_seek_cb_p",utc_player_unset_media_stream_seek_cb_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_unset_media_stream_seek_cb_p2",utc_player_unset_media_stream_seek_cb_p2,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_unset_media_stream_seek_cb_n",utc_player_unset_media_stream_seek_cb_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, + {"utc_player_foreach_media_stream_supported_format_p",utc_player_foreach_media_stream_supported_format_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, + {"utc_player_foreach_media_stream_supported_format_n",utc_player_foreach_media_stream_supported_format_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_p",utc_player_set_video_stream_changed_cb_p,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_n",utc_player_set_video_stream_changed_cb_n,utc_media_player_es_startup,utc_media_player_es_cleanup}, {"utc_player_set_video_stream_changed_cb_n2",utc_player_set_video_stream_changed_cb_n2,utc_media_player_es_startup,utc_media_player_es_cleanup}, diff --git a/src/utc/player/utc-media-player-es.c b/src/utc/player/utc-media-player-es.c index a48bc1006..89f72b6d8 100644 --- a/src/utc/player/utc-media-player-es.c +++ b/src/utc/player/utc-media-player-es.c @@ -30,6 +30,9 @@ #define ES_DEFAULT_VIDEO_PTS_OFFSET 20000000 #define ES_NUMBER_OF_FEED 100 #define ES_BUFFER_MAX_SIZE (3*1024*1024) +#define RETRY_COUNT_DEFAULT 5 +#define RETRY_COUNT_FOR_CONTENT 11 + static char* media = "test.h264"; static char* media_path = NULL; static char* media2 = "test.mp4"; @@ -301,6 +304,13 @@ static void player_media_stream_seek_callback(unsigned long long offset, void *u _is_pass = true; } +static bool _player_supported_media_format_cb(media_format_mimetype_e format, void *user_data) +{ + PRINT_UTC_LOG("[Line : %d][%s] supported format 0x%X\n", __LINE__, API_NAMESPACE, format); + _is_pass = true; + return true; +} + static void player_video_stream_changed_callback (int width, int height, int fps, int bit_rate, void *user_data) { if(width==320 && height==240) @@ -981,8 +991,6 @@ int utc_player_unset_media_stream_buffer_status_cb_n(void) */ int utc_player_set_media_stream_seek_cb_p(void) { -#define PREPARE_MAX_TIMEOUT 5 - assert(!_is_broken); int ret = 0; int repeat = 0; @@ -1023,7 +1031,7 @@ int utc_player_set_media_stream_seek_cb_p(void) return 0; } - for (repeat = 0; repeat < PREPARE_MAX_TIMEOUT; repeat++) { + for (repeat = 0; repeat < RETRY_COUNT_DEFAULT; repeat++) { wait_for_async(); } @@ -1106,57 +1114,102 @@ int utc_player_unset_media_stream_seek_cb_n(void) } /** - * @testcase utc_player_set_video_stream_changed_cb_p - * @since_tizen 2.4 - * @description Positive test case to set video stream changed callback + * @testcase utc_player_foreach_media_stream_supported_format_p + * @since_tizen 5.5 + * @description Positive test case to retrieve the supported format + * about external media stream playback + */ +int utc_player_foreach_media_stream_supported_format_p(void) +{ + assert(!_is_broken); + int ret = PLAYER_ERROR_NONE; + int repeat = 0; + + ret = player_foreach_media_stream_supported_format(player, _player_supported_media_format_cb, player); + assert_eq(ret, PLAYER_ERROR_NONE); + + for (repeat = 0 ; repeat < RETRY_COUNT_DEFAULT ; repeat++) { + wait_for_async(); + if (_is_pass) + break; + } + + assert(_is_pass); + _is_pass = false; + + return 0; +} + +/** + * @testcase utc_player_foreach_media_stream_supported_format_n + * @since_tizen 5.5 + * @description Negative test case to retrieve the supported format + * about external media stream playback + */ +int utc_player_foreach_media_stream_supported_format_n(void) +{ + assert(!_is_broken); + int ret = PLAYER_ERROR_NONE; + + ret = player_foreach_media_stream_supported_format(player, NULL, player); + assert_eq(ret, PLAYER_ERROR_INVALID_PARAMETER); + return 0; +} + +/** + * @testcase utc_player_set_video_stream_changed_cb_p + * @since_tizen 2.4 + * @description Positive test case to set video stream changed callback */ int utc_player_set_video_stream_changed_cb_p(void) { - player_state_e state; - int repeat = 0; + player_state_e state; + int repeat = 0; - int ret = player_get_state (player, &state); - if (PLAYER_ERROR_NONE != ret) { - PRINT_UTC_LOG("[Line : %d][%s] player_get_state is failed\\n", __LINE__, API_NAMESPACE); - } - if (state != PLAYER_STATE_IDLE){ - player_unprepare(player); - } - ret = player_set_uri(player, media_drc_path); - if (PLAYER_ERROR_NONE != ret) - PRINT_UTC_LOG("[Line : %d][%s] player_set_uri is failed\\n", __LINE__, API_NAMESPACE); + int ret = player_get_state(player, &state); + if (ret != PLAYER_ERROR_NONE) { + PRINT_UTC_LOG("[Line : %d][%s] player_get_state is failed\\n", __LINE__, API_NAMESPACE); + } - create_window(); - ret = player_set_display(player, PLAYER_DISPLAY_TYPE_OVERLAY, g_win); - if (PLAYER_ERROR_NONE != ret) { - PRINT_UTC_LOG("[Line : %d][%s] player_set_display is failed\\n", __LINE__, API_NAMESPACE); - } + if (state != PLAYER_STATE_IDLE) { + player_unprepare(player); + } - ret = player_set_video_stream_changed_cb (player, player_video_stream_changed_callback, NULL); - assert_eq(ret, PLAYER_ERROR_NONE); + ret = player_set_uri(player, media_drc_path); + if (ret != PLAYER_ERROR_NONE) + PRINT_UTC_LOG("[Line : %d][%s] player_set_uri is failed\\n", __LINE__, API_NAMESPACE); - ret = player_prepare(player); - if (PLAYER_ERROR_NONE != ret) - PRINT_UTC_LOG("[Line : %d][%s] player isn't prepared\\n", __LINE__, API_NAMESPACE); + create_window(); + ret = player_set_display(player, PLAYER_DISPLAY_TYPE_OVERLAY, g_win); + if (ret != PLAYER_ERROR_NONE) { + PRINT_UTC_LOG("[Line : %d][%s] player_set_display is failed\\n", __LINE__, API_NAMESPACE); + } - ret = player_start(player); - if (PLAYER_ERROR_NONE != ret) - PRINT_UTC_LOG("[Line : %d][%s] player isn't started\\n", __LINE__, API_NAMESPACE); + ret = player_set_video_stream_changed_cb(player, player_video_stream_changed_callback, NULL); + assert_eq(ret, PLAYER_ERROR_NONE); - for(repeat=0; repeat<11; repeat++) { - wait_for_async(); - if(_is_pass) - break; - } + ret = player_prepare(player); + if (ret != PLAYER_ERROR_NONE) + PRINT_UTC_LOG("[Line : %d][%s] player isn't prepared\\n", __LINE__, API_NAMESPACE); - ret = player_stop(player); - if (PLAYER_ERROR_NONE != ret) - PRINT_UTC_LOG("[Line : %d][%s] player isn't stopped\\n", __LINE__, API_NAMESPACE); + ret = player_start(player); + if (ret != PLAYER_ERROR_NONE) + PRINT_UTC_LOG("[Line : %d][%s] player isn't started\\n", __LINE__, API_NAMESPACE); - assert(_is_pass); - _is_pass = false; + for (repeat = 0 ; repeat < RETRY_COUNT_FOR_CONTENT ; repeat++) { + wait_for_async(); + if (_is_pass) + break; + } - return 0; + ret = player_stop(player); + if (ret != PLAYER_ERROR_NONE) + PRINT_UTC_LOG("[Line : %d][%s] player isn't stopped\\n", __LINE__, API_NAMESPACE); + + assert(_is_pass); + _is_pass = false; + + return 0; } /** diff --git a/src/utc/player/utc-media-player.c b/src/utc/player/utc-media-player.c index f571250ca..5c1dadaee 100644 --- a/src/utc/player/utc-media-player.c +++ b/src/utc/player/utc-media-player.c @@ -154,10 +154,11 @@ static bool _check_audio_offload_feature(void) return false; } -static void _audio_offload_format_cb(media_format_mimetype_e format, void *user_data) +static bool _audio_offload_format_cb(media_format_mimetype_e format, void *user_data) { PRINT_UTC_LOG("[Line : %d][%s] supported format 0x%X\n", __LINE__, API_NAMESPACE, format); _is_pass = true; + return true; } /**