Update document and Code. Support METADATA_ALBUM_ARTIST and METADATA_AUDIO_BITPERSAMPLE
[platform/core/api/metadata-extractor.git] / include / metadata_extractor_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_METADATA_EXTRACTOR_TYPE_H__
18 #define __TIZEN_MEDIA_METADATA_EXTRACTOR_TYPE_H__
19
20 #include <tizen.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* __cplusplus */
25
26 /**
27  * @file metadata_extractor_type.h
28  */
29
30 /**
31 * @addtogroup CAPI_METADATA_EXTRACTOR_MODULE
32 * @{
33 */
34
35 /** @brief Definition for Content Error Class */
36 #define METADATA_EXTRACTOR_ERROR_CLASS                          TIZEN_ERROR_METADATA_EXTRACTOR
37
38 /**
39  * @ingroup CAPI_METADATA_EXTRACTOR_MODULE
40  * @brief Enumeration for metadata extractor error.
41  */
42 typedef enum
43 {
44         METADATA_EXTRACTOR_ERROR_NONE = TIZEN_ERROR_NONE,         /**< Successful */
45         METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER    = TIZEN_ERROR_INVALID_PARAMETER,         /**< Invalid parameter */
46         METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,         /**< Out of memory */
47         METADATA_EXTRACTOR_ERROR_FILE_EXISTS = TIZEN_ERROR_FILE_EXISTS,         /**< File does not exist */
48         METADATA_EXTRACTOR_ERROR_PERMISSION_DENIED              = TIZEN_ERROR_PERMISSION_DENIED,                        /**< Permission denied */
49         METADATA_EXTRACTOR_ERROR_OPERATION_FAILED = METADATA_EXTRACTOR_ERROR_CLASS | 0x01,        /**< Invalid internal operation */
50 }
51     metadata_extractor_error_e;
52
53
54 /**
55  * @ingroup CAPI_METADATA_EXTRACTOR_MODULE
56  * @brief Enumeration for attribute.
57  */
58 typedef enum {
59         METADATA_DURATION       = 0,                    /**< Duration */
60         METADATA_VIDEO_BITRATE,                 /**< Video Bitrate */
61         METADATA_VIDEO_FPS,                             /**< Video FPS */
62         METADATA_VIDEO_WIDTH,                   /**< Video Width */
63         METADATA_VIDEO_HEIGHT,                  /**< Video Height */
64         METADATA_HAS_VIDEO,                             /**< Video stream count */
65         METADATA_AUDIO_BITRATE,                 /**< Audio Bitrate */
66         METADATA_AUDIO_CHANNELS,                /**< Audio Channels */
67         METADATA_AUDIO_SAMPLERATE,              /**< Audio Samplerate */
68         METADATA_AUDIO_BITPERSAMPLE,            /**< Audio bit per sample */
69         METADATA_HAS_AUDIO,                             /**< Audio stream count */
70         METADATA_ARTIST,                                        /**< Artist */
71         METADATA_TITLE,                                 /**< Title */
72         METADATA_ALBUM,                                 /**< Album */
73         METADATA_ALBUM_ARTIST,                  /**< Album_Artist */
74         METADATA_GENRE,                                 /**< Genre */
75         METADATA_AUTHOR,                                        /**< Author */
76         METADATA_COPYRIGHT,                             /**< Copyright */
77         METADATA_DATE,                                  /**< Date */
78         METADATA_DESCRIPTION,                           /**< Description */
79         METADATA_COMMENT,                               /**< Comment */
80         METADATA_TRACK_NUM,                             /**< Track number info */
81         METADATA_CLASSIFICATION,                        /**< Classification */
82         METADATA_RATING,                                        /**< Rating */
83         METADATA_LONGITUDE,                             /**< Longitude */
84         METADATA_LATITUDE,                              /**< Latitude */
85         METADATA_ALTITUDE,                              /**< Altitude */
86         METADATA_CONDUCTOR,                             /**< Conductor */
87         METADATA_UNSYNCLYRICS,                  /**< Unsynchronized lyric */
88         METADATA_SYNCLYRICS_NUM,                /**< Synchronized lyric (time/lyric set) number */
89         METADATA_RECDATE,                               /**< Recording date */
90         METADATA_ROTATE,                                        /**< Rotate(Orientation) Information */
91 } metadata_extractor_attr_e;
92
93 /**
94  * @ingroup CAPI_METADATA_EXTRACTOR_MODULE
95  * @brief The metadata extractor handle.
96  */
97 typedef struct metadata_extractor_s *metadata_extractor_h;
98
99 /**
100  * @}
101  */
102
103 #ifdef __cplusplus
104 }
105 #endif /* __cplusplus */
106
107 #endif /*__TIZEN_MEDIA_METADATA_EXTRACTOR_TYPE_H__*/