[ACR-1221] Deprecate all capi-media-video-util APIs
[platform/core/api/video-util.git] / include / video_util_type.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 #ifndef __TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__
18 #define __TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__
19
20 #include <tizen.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* __cplusplus */
25
26 #ifndef DEPRECATED_API
27 #define DEPRECATED_API __attribute__ ((deprecated))
28 #endif
29
30 #define VIDEO_UTIL_ERROR_CLASS TIZEN_ERROR_VIDEO_UTIL
31 #define TRANSCODER_FEATURE_PATH "http://tizen.org/feature/multimedia.transcoder"
32 /**
33  * @file video_util_type.h
34  */
35
36 /**
37 * @addtogroup CAPI_MEDIA_VIDEO_UTIL_MODULE
38 * @{
39 */
40
41 /**
42  * @deprecated Deprecated since 5.0
43  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
44  * @brief Enumeration for errors of a video util.
45  * @since_tizen 2.3
46  */
47 typedef enum {
48         VIDEO_UTIL_ERROR_NONE = TIZEN_ERROR_NONE,                                                       /**< Successful */
49         VIDEO_UTIL_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,             /**< Invalid parameter */
50         VIDEO_UTIL_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,                             /**< Out of memory */
51         VIDEO_UTIL_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION,                     /**< Invalid operation */
52         VIDEO_UTIL_ERROR_BUSY = TIZEN_ERROR_RESOURCE_BUSY,                                              /**< Device or resource busy */
53         VIDEO_UTIL_ERROR_NOT_SUPPORTED_FORMAT = TIZEN_ERROR_VIDEO_UTIL | 0x01,  /**< Not supported format */
54         VIDEO_UTIL_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,                     /**< Permission denied  */
55         VIDEO_UTIL_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED              /**< Not supported */
56 } video_util_error_e;
57
58 /**
59  * @deprecated Deprecated since 5.0
60  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
61  * @brief Enumeration for video codec.
62  * @since_tizen 2.3
63  */
64 typedef enum {
65         VIDEO_UTIL_VIDEO_CODEC_MPEG4 = 0,       /**< MPEG4 */
66         VIDEO_UTIL_VIDEO_CODEC_H263,            /**< H.263 */
67         VIDEO_UTIL_VIDEO_CODEC_H264,            /**< H.264 */
68         VIDEO_UTIL_VIDEO_CODEC_NONE             /**< No transcoding for video */
69 } video_util_video_codec_e;
70
71 /**
72  * @deprecated Deprecated since 5.0
73  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
74  * @brief Enumeration for audio codec.
75  * @since_tizen 2.3
76  */
77 typedef enum {
78         VIDEO_UTIL_AUDIO_CODEC_AAC = 0,         /**< AAC */
79         VIDEO_UTIL_AUDIO_CODEC_AMRNB,   /**< AMRNB */
80         VIDEO_UTIL_AUDIO_CODEC_NONE             /**< No transcoding for audio */
81 } video_util_audio_codec_e;
82
83 /**
84  * @deprecated Deprecated since 5.0
85  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
86  * @brief Enumeration for formats of a media.
87  * @since_tizen 2.3
88  */
89 typedef enum {
90         VIDEO_UTIL_FILE_FORMAT_3GP = 0,         /**< 3GP */
91         VIDEO_UTIL_FILE_FORMAT_MP4,             /**< MP4 */
92         VIDEO_UTIL_FILE_FORMAT_MAX
93 } video_util_file_format_e;
94
95 /**
96  * @deprecated Deprecated since 5.0
97  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
98  * @brief Video util handle.
99  * @since_tizen 2.3
100  */
101 typedef struct video_util_s *video_util_h;
102
103 /**
104  * @deprecated Deprecated since 5.0
105  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
106  * @brief Called regularly during the video transcoding.
107  * @since_tizen 2.3
108  *
109  * @details The interval of callback invocation depends on the framework.
110  *
111  * @param[in] current_position The current position in milliseconds
112  * @param[in] duration The duration in seconds
113  * @param[in] user_data The user data passed from the callback registration function
114  *
115  * @pre This callback function is invoked if you register this callback using video_util_set_progress_transcoding_cb().
116  *
117  * @see video_util_start_transcoding()
118  */
119 typedef void (*video_util_transcoding_progress_cb)(unsigned long current_position, unsigned long duration, void *user_data);
120
121 /**
122  * @deprecated Deprecated since 5.0
123  * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
124  * @brief Called when transcoding is finished just before storing in the file.
125  * @since_tizen 2.3
126  *
127  * @param[in] error_code The error code of video util
128  * @param[in] user_data The user data passed from the callback registration function
129  *
130  * @pre video_util_start_transcoding() will invoke this function.
131  */
132 typedef void (*video_util_transcoding_completed_cb)(video_util_error_e error_code, void *user_data);
133
134 /**
135  * @deprecated Deprecated since 5.0
136  * @brief Called iteratively to notify you about the supported file formats.
137  * @since_tizen 2.3
138  *
139  * @param[in] format The format of media files
140  * @param[in] user_data The user data passed from the foreach function
141  *
142  * @return @c true to continue with the next iteration of the loop,
143  *               otherwise @c false to break out of the loop
144  *
145  * @pre video_util_foreach_supported_file_format() will invoke this callback.
146  */
147 typedef bool (*video_util_supported_file_format_cb)(video_util_file_format_e format, void *user_data);
148
149 /**
150  * @deprecated Deprecated since 5.0
151  * @brief Called iteratively to notify you of supported video codec.
152  * @since_tizen 2.3
153  *
154  * @param[in] format The codec of video
155  * @param[in] user_data The user data passed from the foreach function
156  *
157  * @return @c true to continue with the next iteration of the loop,
158  *               otherwise @c false to break out of the loop
159  *
160  * @pre video_util_foreach_supported_video_codec() will invoke this callback.
161  */
162 typedef bool (*video_util_supported_video_encoder_cb)(video_util_video_codec_e codec, void *user_data);
163
164 /**
165  * @deprecated Deprecated since 5.0
166  * @brief Called iteratively to notify you about the supported audio codec.
167  * @since_tizen 2.3
168  *
169  * @param[in] format The codec of audio
170  * @param[in] user_data The user data passed from the foreach function
171  *
172  * @return @c true to continue with the next iteration of the loop,
173  *               otherwise @c false to break out of the loop
174  *
175  * @pre video_util_foreach_supported_audio_codec() will invoke this callback.
176  */
177 typedef bool (*video_util_supported_audio_encoder_cb)(video_util_audio_codec_e codec, void *user_data);
178
179 __attribute__ ((deprecated)) typedef bool (*video_util_progress_transcoding_cb)(video_util_error_e error, unsigned long current_position, unsigned long duration, void *user_data);
180
181 /**
182  * @}
183  */
184
185 #ifdef __cplusplus
186 }
187 #endif /* __cplusplus */
188 #endif /*__TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__*/