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.
18 #ifndef __TIZEN_THUMBNAIL_UTIL_TYPE_H__
19 #define __TIZEN_THUMBNAIL_UTIL_TYPE_H__
26 #endif /* __cplusplus */
29 * @file thumbnail_util_type.h
30 * @brief This file contains API related to thumbnail_util enumerations for classes of errors. \n
31 * Listed APIs are called when extracting thumbnail from media files, \n
35 * @addtogroup CAPI_MEDIA_THUMBNAIL_UTIL_MODULE
39 /* temporary fix for tizen_error not applied */
40 #ifndef TIZEN_ERROR_THUMBNAIL_UTIL
41 #define TIZEN_ERROR_THUMBNAIL_UTIL -0x02F90000
44 #define THUMBNAIL_UTIL_ERROR_CLASS TIZEN_ERROR_THUMBNAIL_UTIL
47 * @ingroup CAPI_MEDIA_THUMBNAIL_UTIL_MODULE
48 * @brief Enumeration for a thumbnail util error.
49 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
52 THUMBNAIL_UTIL_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
53 THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
54 THUMBNAIL_UTIL_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
55 THUMBNAIL_UTIL_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid Operation */
56 THUMBNAIL_UTIL_ERROR_FILE_NO_SPACE_ON_DEVICE = TIZEN_ERROR_FILE_NO_SPACE_ON_DEVICE, /**< No space left on device */
57 THUMBNAIL_UTIL_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
58 THUMBNAIL_UTIL_ERROR_UNSUPPORTED_CONTENT = THUMBNAIL_UTIL_ERROR_CLASS | 0x01, /**< Unsupported Content (Since 4.0) */
59 } thumbnail_util_error_e;
63 * @ingroup CAPI_MEDIA_THUMBNAIL_UTIL_MODULE
64 * @brief The structure type for the thumbnail info handle.
65 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
67 typedef struct thumbnail_s *thumbnail_h;
71 * @ingroup CAPI_MEDIA_THUMBNAIL_UTIL_MODULE
72 * @brief Called when creating the thumbnail.
73 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
74 * @remarks Color space of the generated thumbnail is BGRA. \n
75 * The callback is called in a separate thread(not in the main loop). \n
76 * You must release @a thumb_data using free().
78 * @details This callback is called for completion of generating the thumbnail.
79 * The following error codes can be delivered. \n
80 * #MEDIA_CONTENT_ERROR_NONE, \n
81 * #MEDIA_CONTENT_ERROR_INVALID_PARAMETER, \n
82 * #MEDIA_CONTENT_ERROR_INVALID_OPERATION, \n
83 * #MEDIA_CONTENT_ERROR_PERMISSION_DENIED, \n
84 * #MEDIA_CONTENT_ERROR_UNSUPPORTED_CONTENT
86 * @param[in] error The error code
87 * @param[in] request_id The generated request id by thumbnail extraction request
88 * @param[in] thumb_width The width of the thumbnail which is generated
89 * @param[in] thumb_height The height of the thumbnail which is generated
90 * @param[in] thumb_data The raw data of the thumbnail which is generated
91 * @param[in] thumb_size The size of the thumbnail which is generated
92 * @param[in] user_data The user data passed from the thumbnail_util_extract() function
94 * @pre thumbnail_util_extract()
96 * @see thumbnail_util_extract()
98 typedef void (*thumbnail_extracted_cb)(thumbnail_util_error_e error, const char *request_id, int thumb_width, int thumb_height, unsigned char *thumb_data, int thumb_size, void *user_data);
106 #endif /* __cplusplus */
109 #endif /*__TIZEN_THUMBNAIL_UTIL_TYPE_H__*/