From 7979eeb3729292d4cc257651c831f7409b40d7f5 Mon Sep 17 00:00:00 2001 From: sri Date: Thu, 27 Apr 2017 14:05:36 +0530 Subject: [PATCH] [ITC][capi-media-tool][DPTTIZEN-2797][media_packet_create_external_mem] Signed-off-by: sri Change-Id: I66df2a21bb1ea41b0907a7759b1a5ec0ae70ac23 --- src/itc/capi-media-tool/ITs-capi-media-tool.c | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/itc/capi-media-tool/ITs-capi-media-tool.c b/src/itc/capi-media-tool/ITs-capi-media-tool.c index 7316e571e..15e034a4e 100755 --- a/src/itc/capi-media-tool/ITs-capi-media-tool.c +++ b/src/itc/capi-media-tool/ITs-capi-media-tool.c @@ -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 +/** @} */ -- 2.34.1