[ITC][capi-media-streamer][Non-ACR][Modified TCs according to modified node creation...
authorVolodymyr Brynza <v.brynza@samsung.com>
Fri, 10 Jun 2016 07:43:54 +0000 (10:43 +0300)
committerVolodymyr Brynza <v.brynza@samsung.com>
Fri, 10 Jun 2016 07:43:54 +0000 (10:43 +0300)
Change-Id: I8bbf37187d754e205df62310015c6514a57f9e55
Signed-off-by: Volodymyr Brynza <v.brynza@samsung.com>
src/itc/capi-media-streamer/ITs-capi-media-streamer.c

index 1149636..27fd6a0 100755 (executable)
 *  @{
 */
 
+#define PLAY_TIME 5
+
 const char *g_pszFilePath = NULL;
+static GMainLoop *g_mainloop = NULL;
 
 /**
  * @function           ITs_capi_media_streamer_startup
@@ -140,6 +143,23 @@ void buffer_status_cb(media_streamer_node_h node,
        }
 }
 
+static gboolean timeout_func(gpointer data)
+{
+       fprintf(stdout, "Loop timeout is finished!\n");
+       g_main_loop_quit((GMainLoop *) data);
+       return FALSE;
+}
+
+static void wait_for_async(unsigned int sec)
+{
+       g_mainloop = g_main_loop_new(NULL, FALSE);
+
+       g_timeout_add_seconds(sec, timeout_func, g_mainloop);
+       g_main_loop_run(g_mainloop);
+       g_main_loop_unref(g_mainloop);
+       g_mainloop = NULL;
+}
+
 /**
 * @function            new_buffer_cb
 * @description         callback function for new buffer
@@ -182,11 +202,29 @@ int ITc_capi_media_streamer_prepare_unprepare_p(void)
        START_TEST;
        int ret = -1;
        CHECK_HANDLE(streamer,"ITc_capi_media_streamer_prepare_unprepare_p");
-    ret = media_streamer_prepare(streamer);
+       media_streamer_node_h video_src = NULL;
+       ret = media_streamer_node_create_src(MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_TEST, &video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_src", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_src,"ITc_capi_media_streamer_prepare_unprepare_p_video_src");
+       ret = media_streamer_node_add(streamer, video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       media_streamer_node_h video_sink = NULL;
+       ret = media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_FAKE, &video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_Sink", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_sink,"ITc_capi_media_streamer_prepare_unprepare_p_video_sink");
+       ret = media_streamer_node_add(streamer, video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       ret = media_streamer_node_link(video_src, "src", video_sink, "sink");
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_link", MediaStreamerGetError(ret));
+
+       ret = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_prepare", MediaStreamerGetError(ret));
-    ret = media_streamer_unprepare(streamer);
+       wait_for_async(PLAY_TIME);
+       ret = media_streamer_unprepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_unprepare", MediaStreamerGetError(ret));
-    return 0;
+       return 0;
 }
 
 
@@ -219,17 +257,38 @@ int ITc_capi_media_streamer_play_pause_stop_p(void)
        START_TEST;
        int ret = MEDIA_STREAMER_ERROR_NONE;
 
+       media_streamer_node_h video_src = NULL;
+       ret = media_streamer_node_create_src(MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_TEST, &video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_src", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_src,"ITc_capi_media_streamer_prepare_unprepare_p_video_src");
+       ret = media_streamer_node_add(streamer, video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       media_streamer_node_h video_sink = NULL;
+       ret = media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_FAKE, &video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_Sink", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_sink,"ITc_capi_media_streamer_prepare_unprepare_p_video_sink");
+       ret = media_streamer_node_add(streamer, video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       ret = media_streamer_node_link(video_src, "src", video_sink, "sink");
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_link", MediaStreamerGetError(ret));
+
        ret = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_prepare", MediaStreamerGetError(ret));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_play(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_play", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_pause(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_pause", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        ret = media_streamer_stop(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_stop", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        ret = media_streamer_unprepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_unprepare", MediaStreamerGetError(ret));
@@ -268,17 +327,39 @@ int ITc_capi_media_streamer_get_state_p(void)
        START_TEST;
        int ret = MEDIA_STREAMER_ERROR_NONE;
        media_streamer_state_e state;
+
+       media_streamer_node_h video_src = NULL;
+       ret = media_streamer_node_create_src(MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_TEST, &video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_src", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_src,"ITc_capi_media_streamer_prepare_unprepare_p_video_src");
+       ret = media_streamer_node_add(streamer, video_src);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       media_streamer_node_h video_sink = NULL;
+       ret = media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_FAKE, &video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_create_Sink", MediaStreamerGetError(ret));
+       CHECK_HANDLE(video_sink,"ITc_capi_media_streamer_prepare_unprepare_p_video_sink");
+       ret = media_streamer_node_add(streamer, video_sink);
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_add", MediaStreamerGetError(ret));
+
+       ret = media_streamer_node_link(video_src, "src", video_sink, "sink");
+       PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_node_link", MediaStreamerGetError(ret));
+
        ret = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_prepare", MediaStreamerGetError(ret));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_play(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_play", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_pause(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_pause", MediaStreamerGetError(ret),media_streamer_stop(streamer);media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        ret = media_streamer_get_state(streamer,&state);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_get_state", MediaStreamerGetError(ret),media_streamer_stop(streamer);media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        if(state != MEDIA_STREAMER_STATE_PAUSED)
        {                
@@ -288,6 +369,7 @@ int ITc_capi_media_streamer_get_state_p(void)
        }
        ret = media_streamer_stop(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_stop", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        ret = media_streamer_unprepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_unprepare", MediaStreamerGetError(ret));
@@ -453,9 +535,11 @@ int ITc_capi_media_streamer_node_pull_packet_p(void)
 
        ret = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_prepare", MediaStreamerGetError(ret));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_play(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_play", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
        
        ret = media_streamer_unprepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_unprepare", MediaStreamerGetError(ret));
@@ -800,23 +884,28 @@ int ITc_capi_media_streamer_set_get_play_position(void)
 
        ret = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_prepare", MediaStreamerGetError(ret));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_play(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_play", MediaStreamerGetError(ret));
+       wait_for_async(PLAY_TIME);
 
        sleep(3);
        
        ret = media_streamer_set_play_position(streamer, nSetMillisecond, 1, NULL, streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_set_play_position", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
 
        sleep(3);
        
        ret = media_streamer_get_play_position(streamer, &nGetMillisecond);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_get_play_position", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
        FPRINTF("[Line : %d][%s] Position mismatch. SetValue: %d, GetValue: %d\\n", __LINE__, API_NAMESPACE, nSetMillisecond, nGetMillisecond);
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_stop(streamer);
        PRINT_RESULT_CLEANUP(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_stop", MediaStreamerGetError(ret),media_streamer_unprepare(streamer));
+       wait_for_async(PLAY_TIME);
 
        ret = media_streamer_unprepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, ret, "media_streamer_unprepare", MediaStreamerGetError(ret));
@@ -870,13 +959,16 @@ int ITc_capi_media_streamer_get_duration_p(void)
 
        nRet = media_streamer_prepare(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, nRet, "media_streamer_prepare", MediaStreamerGetError(nRet));
+       wait_for_async(PLAY_TIME);
 
        nRet = media_streamer_play(streamer);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, nRet, "media_streamer_play", MediaStreamerGetError(nRet));
+       wait_for_async(PLAY_TIME);
 
        sleep(5);
        nRet = media_streamer_get_duration(streamer, &nTime);
        PRINT_RESULT(MEDIA_STREAMER_ERROR_NONE, nRet, "media_streamer_get_duration", MediaStreamerGetError(nRet));
+       wait_for_async(PLAY_TIME);
        
        FPRINTF("[Line : %d][%s] Duration nTime: %d\\n", __LINE__, API_NAMESPACE, nTime);
 
@@ -886,4 +978,4 @@ int ITc_capi_media_streamer_get_duration_p(void)
        return 0;
 }
 /** @} */
-/** @} */
\ No newline at end of file
+/** @} */