static bool __video_util_check_duration(int duration);
static bool __video_util_check_fps(int fps);
static video_util_error_e __video_util_error_convert(int error);
+static void __video_util_transcode_progress_cb(unsigned long current_position, unsigned long duration, void *user_data);
static void __video_util_transcode_completed_cb(int error, void *user_data);
static bool __video_util_type_callback(int codec_type, void *user_data);
static int __video_util_foreach_supported_type(video_util_type_e type, video_util_supported_type_cb callback, void *user_data);
}
}
+static void __video_util_transcode_progress_cb(unsigned long current_position, unsigned long duration, void *user_data)
+{
+ int error_value = VIDEO_UTIL_ERROR_NONE;
+ video_util_cb_s *_util_cb = (video_util_cb_s *)user_data;
+
+ if((_util_cb != NULL) && (_util_cb->transcode_progress_cb != NULL))
+ {
+ _util_cb->transcode_progress_cb(current_position, duration, _util_cb->user_data);
+ }
+
+ return;
+}
+
static void __video_util_transcode_completed_cb(int error, void *user_data)
{
int error_value = VIDEO_UTIL_ERROR_NONE;
video_util_cb_s *_util_cb = (video_util_cb_s*)calloc(1, sizeof(video_util_cb_s));
_util_cb->user_data = user_data;
_util_cb->transcode_completed_cb = completed_cb;
+ _util_cb->transcode_progress_cb = progress_cb;
if(_handle->accurate_mode)
accurate_mode = MM_SEEK_ACCURATE;
else
accurate_mode = MM_SEEK_INACCURATE;
- ret = mm_transcode(_handle->transcode_h, _handle->width, _handle->height, _handle->fps, start, duration, accurate_mode, out_path, (mm_transcode_progress_callback)progress_cb, (mm_transcode_completed_callback)__video_util_transcode_completed_cb, (void *)_util_cb);
+ ret = mm_transcode(_handle->transcode_h, _handle->width, _handle->height, _handle->fps, start, duration, accurate_mode, out_path, (mm_transcode_progress_callback)__video_util_transcode_progress_cb, (mm_transcode_completed_callback)__video_util_transcode_completed_cb, (void *)_util_cb);
if(ret != MM_ERROR_NONE)
{
char test_output_file_path[128] = {0, };
memset(test_output_file_path, 0x00, sizeof(test_output_file_path));
- snprintf(test_output_file_path, sizeof(test_output_file_path), "/opt/media/Videos/transcode_test_%d.mp4", util_s->idx);
+ snprintf(test_output_file_path, sizeof(test_output_file_path), "/opt/usr/media/Videos/transcode_test_%d.mp4", util_s->idx);
printf("g_start_time[%d] duration[%d] [%s]\n", util_s->start_time, util_s->duration, test_output_file_path);
int ret = VIDEO_UTIL_ERROR_NONE;
video_util_h video_h = NULL;
test_util_s *_util_s = NULL;
- char * test_video_file_path = "/opt/usr/media/Videos/Color.mp4";
+ int cnt = argc -1;
+
+ if(cnt < 1)
+ {
+ printf("type file path plz. [%d]\n", cnt);
+ return 0;
+ }
ret = video_util_create(&video_h);
if(ret != VIDEO_UTIL_ERROR_NONE)
supported_spec_check(video_h);
#endif
- ret = video_util_set_file_path(video_h, test_video_file_path);
+ ret = video_util_set_file_path(video_h, argv[1]);
ret = video_util_set_file_format(video_h, VIDEO_UTIL_FILE_FORMAT_3GP);
ret = video_util_set_video_codec(video_h, VIDEO_UTIL_VIDEO_CODEC_MPEG4);
ret = video_util_set_audio_codec(video_h, VIDEO_UTIL_AUDIO_CODEC_AAC);