Name: capi-media-video-util
Summary: A Video Utility library in Tizen Native API
-Version: 0.1.7
-Release: 6
+Version: 0.1.8
+Release: 0
Group: System/Libraries
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
static void __video_util_transcode_progress_cb(unsigned long current_position, unsigned long duration, void *user_data)
{
- video_util_cb_s *_util_cb = (video_util_cb_s *)user_data;
+ video_util_s *_handle = (video_util_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);
+ if ((_handle != NULL) && (_handle->_util_cb != NULL)
+ && (_handle->_util_cb->transcode_progress_cb != NULL))
+ _handle->_util_cb->transcode_progress_cb(current_position, duration, _handle->_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 *)user_data;
+ video_util_s *_handle = (video_util_s *)user_data;
- if ((_util_cb != NULL) && (_util_cb->transcode_completed_cb != NULL)) {
+ if ((_handle != NULL) && (_handle->_util_cb != NULL)
+ && (_handle->_util_cb->transcode_completed_cb != NULL)) {
error_value = __video_util_error_convert(error);
- _util_cb->transcode_completed_cb(error_value, _util_cb->user_data);
+ _handle->_util_cb->transcode_completed_cb(error_value, _handle->_util_cb->user_data);
}
- UTIL_SAFE_FREE(_util_cb);
+ UTIL_SAFE_FREE(_handle->_util_cb);
return;
}
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)__video_util_transcode_progress_cb, (mm_transcode_completed_callback)__video_util_transcode_completed_cb, (void *)_handle->_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 *)_handle);
if (ret != MM_ERROR_NONE) {
UTIL_SAFE_FREE(_handle->_util_cb);
unsigned long duration;
} test_util_s;
+test_util_s *_util_s;
+
+
static void display_sub_basic();
void _video_util_start_transcoding(test_util_s *util_s);
test_util_s *_util_s = (test_util_s *)user_data;
+ if (!_util_s) {
+ LOGE("completed_cb user data is NULL");
+ return;
+ }
+
LOGI("transcode_completed_cb============= [%2d / %2d][%d]\n", _util_s->idx, make_video_cnt, error);
printf("transcode_completed_cb============= [%2d / %2d][%d]\n", _util_s->idx, make_video_cnt, error);
if (_util_s->idx == (make_video_cnt - 1)) {
LOGI("End trascoding");
- video_util_destroy(_util_s->video_h);
- _util_s->video_h = NULL;
- video_h = NULL;
return;
}
if (strncmp(cmd, "a", 1) == 0) {
g_menu_state = CURRENT_STATUS_FILENAME;
} else if (strncmp(cmd, "s", 1) == 0) {
+ if (!_util_s) {
+ _util_s = (test_util_s *)calloc(1, sizeof(test_util_s));
+ LOGE("_util_s malloc");
+ }
- test_util_s *_util_s = (test_util_s *)calloc(1, sizeof(test_util_s));
if (!_util_s) {
- g_print("test util calloc failed");
+ LOGE("test util calloc failed");
return;
}
g_menu_state = CURRENT_STATUS_SET_OUTFILENAME;
} else if (strncmp(cmd, "q", 1) == 0) {
_quit_program();
+ } else if (strncmp(cmd, "d", 1) == 0) {
+ int ret = VIDEO_UTIL_ERROR_NONE;
+ if (!video_h) {
+ g_print("video_util handle is NULL, please set format after create");
+ return;;
+ }
+ ret = video_util_destroy(video_h);
+ if (ret != VIDEO_UTIL_ERROR_NONE) {
+ g_print("video_util_cancel_transcoding is failed (%d)", ret);
+ return;
+ }
+ free(_util_s);
+ _util_s = NULL;
} else {
g_print("unknown menu \n");
}
g_print("vf. Set video fps\n");
g_print(" t. Set start/duration time \t");
g_print(" o. Set output filename\t");
- g_print(" q. quite test suite\t");
+ g_print(" q. quite test suite\t\n");
+ g_print(" d. Destroy\t");
g_print("\n");
g_print("=========================================================================================\n");
}