2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 #ifndef __TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__
18 #define __TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__
24 #endif /* __cplusplus */
26 #ifndef DEPRECATED_API
27 #define DEPRECATED_API __attribute__ ((deprecated))
30 #define VIDEO_UTIL_ERROR_CLASS TIZEN_ERROR_VIDEO_UTIL
31 #define TRANSCODER_FEATURE_PATH "http://tizen.org/feature/multimedia.transcoder"
33 * @file video_util_type.h
37 * @addtogroup CAPI_MEDIA_VIDEO_UTIL_MODULE
42 * @deprecated Deprecated since 5.0
43 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
44 * @brief Enumeration for errors of a video util.
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 */
59 * @deprecated Deprecated since 5.0
60 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
61 * @brief Enumeration for video codec.
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;
72 * @deprecated Deprecated since 5.0
73 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
74 * @brief Enumeration for audio codec.
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;
84 * @deprecated Deprecated since 5.0
85 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
86 * @brief Enumeration for formats of a media.
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;
96 * @deprecated Deprecated since 5.0
97 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
98 * @brief Video util handle.
101 typedef struct video_util_s *video_util_h;
104 * @deprecated Deprecated since 5.0
105 * @ingroup CAPI_MEDIA_VIDEO_UTIL_MODULE
106 * @brief Called regularly during the video transcoding.
109 * @details The interval of callback invocation depends on the framework.
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
115 * @pre This callback function is invoked if you register this callback using video_util_set_progress_transcoding_cb().
117 * @see video_util_start_transcoding()
119 typedef void (*video_util_transcoding_progress_cb)(unsigned long current_position, unsigned long duration, void *user_data);
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.
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
130 * @pre video_util_start_transcoding() will invoke this function.
132 typedef void (*video_util_transcoding_completed_cb)(video_util_error_e error_code, void *user_data);
135 * @deprecated Deprecated since 5.0
136 * @brief Called iteratively to notify you about the supported file formats.
139 * @param[in] format The format of media files
140 * @param[in] user_data The user data passed from the foreach function
142 * @return @c true to continue with the next iteration of the loop,
143 * otherwise @c false to break out of the loop
145 * @pre video_util_foreach_supported_file_format() will invoke this callback.
147 typedef bool (*video_util_supported_file_format_cb)(video_util_file_format_e format, void *user_data);
150 * @deprecated Deprecated since 5.0
151 * @brief Called iteratively to notify you of supported video codec.
154 * @param[in] codec The codec of video
155 * @param[in] user_data The user data passed from the foreach function
157 * @return @c true to continue with the next iteration of the loop,
158 * otherwise @c false to break out of the loop
160 * @pre video_util_foreach_supported_video_codec() will invoke this callback.
162 typedef bool (*video_util_supported_video_encoder_cb)(video_util_video_codec_e codec, void *user_data);
165 * @deprecated Deprecated since 5.0
166 * @brief Called iteratively to notify you about the supported audio codec.
169 * @param[in] codec The codec of audio
170 * @param[in] user_data The user data passed from the foreach function
172 * @return @c true to continue with the next iteration of the loop,
173 * otherwise @c false to break out of the loop
175 * @pre video_util_foreach_supported_audio_codec() will invoke this callback.
177 typedef bool (*video_util_supported_audio_encoder_cb)(video_util_audio_codec_e codec, void *user_data);
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);
187 #endif /* __cplusplus */
188 #endif /*__TIZEN_MEDIA_VIDEO_UTIL_TYPE_H__*/