[ITC][capi-media-tool][DPTTIZEN-2797][media_packet_create_external_mem]
authorsri <sp.pradhan@samsung.com>
Thu, 27 Apr 2017 08:35:36 +0000 (14:05 +0530)
committershobhit verma <shobhit.v@samsung.com>
Wed, 17 May 2017 04:45:15 +0000 (04:45 +0000)
Signed-off-by: sri <sp.pradhan@samsung.com>
Change-Id: I66df2a21bb1ea41b0907a7759b1a5ec0ae70ac23

src/itc/capi-media-tool/ITs-capi-media-tool.c

index 7316e571e9fb64a3b084c29448175a5b036a6bb5..15e034a4e7f5f14fd107e616594899aca7cc47af 100755 (executable)
@@ -25,6 +25,12 @@ media_format_h g_hfmt;
 media_format_h g_Oldhfmt;
 static bool g_bMediaTools = false;
 
+static int FinalizeCallbackExtMem(media_packet_h packet, int err, void * userdata)
+{
+       unsigned char *data = (unsigned char *)userdata;
+       g_free(data);
+       return MEDIA_PACKET_FINALIZE;
+}
 
 static int FinalizeCallback(media_packet_h packet, int err, void * userdata)
 {
@@ -1249,39 +1255,29 @@ int ITc_media_packet_create_from_external_memory_p(void)
 {
        media_format_h fmt; 
        media_packet_h packet; 
-       FILE *fres = NULL;
-       char szMediaFilePath[PATH_LEN] = {0,};
-       if ( false == MediaToolAppendToAppDataPath(MEDIA_FILE_PATH, szMediaFilePath) )
-       {
-               FPRINTF("[Line : %d][%s] unable to get the app data path\\n", __LINE__, API_NAMESPACE);
-               return 1;
-       }
-       fres=fopen(szMediaFilePath, "r");
-       if(NULL == fres)
-       {
-               FPRINTF("[Line : %d][%s] fres is NULL\\n", __LINE__, API_NAMESPACE);
-               return 1;
-       }
-       
+       unsigned char *data = NULL;
+       uint64_t size = 640*480*3/2;
+
        int nRet = media_format_create(&fmt); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet),fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet),media_format_unref(fmt));
 
        nRet = media_format_set_video_mime(fmt, MEDIA_FORMAT_H264_HP); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet),media_format_unref(fmt);fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet),media_format_unref(fmt));
 
        nRet = media_format_set_video_width(fmt, 640); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet),media_format_unref(fmt);fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet),media_format_unref(fmt));
 
        nRet = media_format_set_video_height(fmt, 480); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet),media_format_unref(fmt);fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet),media_format_unref(fmt));
 
        nRet = media_format_set_video_avg_bps(fmt, 10000000); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet),media_format_unref(fmt);fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet),media_format_unref(fmt));
 
        nRet = media_format_set_video_max_bps(fmt, 15000000); 
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet),media_format_unref(fmt);fclose(fres));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet),media_format_unref(fmt));
 
-       nRet = media_packet_create_from_external_memory (fmt, fres, sizeof(*fres), FinalizeCallback, NULL, &packet); 
+       data = g_malloc(size);
+       nRet = media_packet_create_from_external_memory (fmt, data, size, FinalizeCallbackExtMem, data, &packet); 
        PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_create_from_external_memory", MediaFormatGetError(nRet),media_format_unref(fmt));
        
        nRet = media_format_unref(fmt); 
@@ -1627,4 +1623,4 @@ int ITc_media_packet_is_text_p(void)
 }
 
 /** @} */ 
-/** @} */
\ No newline at end of file
+/** @} */