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)
{
{
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);
}
/** @} */
-/** @} */
\ No newline at end of file
+/** @} */