9dc5c2955bcef89fd7073d9eaffb68a6864e195e
[platform/core/api/video-util.git] / include / video_util_private.h
1 /*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 #ifndef __TIZEN_VIDEO_UTIL_PRIVATE_H__
19 #define __TIZEN_VIDEO_UTIL_PRIVATE_H__
20
21 #include <stdbool.h>
22 #include <video_util_type.h>
23 #include <mm_types.h>
24
25 typedef bool (*video_util_supported_type_cb)(int type, void *user_data);
26
27 typedef struct
28 {
29         char *input_path;
30         bool accurate_mode;
31         video_util_video_codec_e video_codec;
32         video_util_audio_codec_e audio_codec;
33         video_util_file_format_e file_format;
34         int width;
35         int height;
36         int fps;
37         MMHandleType transcode_h;
38 }video_util_s;
39
40 typedef struct
41 {
42         void *user_data;
43         video_util_transcoding_progress_cb transcode_progress_cb;
44         video_util_transcoding_completed_cb transcode_completed_cb;
45 }video_util_cb_s;
46
47 typedef struct
48 {
49         void *user_data;
50         video_util_supported_type_cb supported_type_cb;
51 }video_util_type_cb_s;
52
53 typedef enum
54 {
55         VIDEO_UTIL_TYPE_FORMAT  = 0,
56         VIDEO_UTIL_TYPE_VIDEO_ENC,
57         VIDEO_UTIL_TYPE_AUDIO_ENC
58 }video_util_type_e;
59
60 #endif /*__TIZEN_VIDEO_UTIL_PRIVATE_H__*/