Tizen 2.1 base
[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_completed_cb transcode_completed_cb;
44 }video_util_cb_s;
45
46 typedef struct
47 {
48         void *user_data;
49         video_util_supported_type_cb supported_type_cb;
50 }video_util_type_cb_s;
51
52 typedef enum
53 {
54         VIDEO_UTIL_TYPE_FORMAT  = 0,
55         VIDEO_UTIL_TYPE_VIDEO_ENC,
56         VIDEO_UTIL_TYPE_AUDIO_ENC
57 }video_util_type_e;
58
59 #endif /*__TIZEN_VIDEO_UTIL_PRIVATE_H__*/