Fix doxygen error(modify the link for the feature)
[platform/core/api/media-content.git] / doc / media_content_doc.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_MEDIA_CONTENT_DOC_H__
19 #define __TIZEN_MEDIA_CONTENT_DOC_H__
20
21 /**
22  * @defgroup CAPI_MEDIA_CONTENT_MODULE Media Content
23  * @brief The Media Content API provides functions, enumerations used in the entire Content Service.
24  *
25  * @ingroup CAPI_CONTENT_FRAMEWORK
26  *
27  * @section CAPI_MEDIA_CONTENT_MODULE_HEADER Required Header
28  *   \#include <media_content.h>
29  *
30  * @section CAPI_MEDIA_CONTENT_MODULE_OVERVIEW Overview
31  * The Media Content API provides functions and enumerations used in the entire Content Service.\n
32  * The information about media items i.e. image, audio and video, are managed in the content database and
33  * operations that involve database requires an active connection with the media content service.\n
34  * During media scanning, Media Service extract media information automatically. media information include basic file info like
35  * path, size, modified time etc and some metadata like ID3tag, EXIF, thumbnail, etc. (thumbnail extracted only in Internal and SD card storage.) \n
36  * Since 3.0, a thumbnail is not automatically extracted during media scanning. A thumbnail will be created only when media_info_create_thumbnail() is called by any application. \n
37  * Media content services do not manage hidden files. \n
38  * The API provides functions for connecting (#media_content_connect()) and disconnecting (#media_content_disconnect()) from the media content service.
39  *
40  * The API consists of @ref CAPI_CONTENT_MEDIA_FOLDER_MODULE,@ref CAPI_CONTENT_MEDIA_TAG_MODULE,@ref CAPI_CONTENT_MEDIA_FILTER_MODULE, @ref CAPI_CONTENT_MEDIA_INFO_MODULE API and others.
41  *
42  * <table>
43  * <tr>
44  *    <th>API</th>
45  *    <th>Description</th>
46  * </tr>
47  * <tr>
48  *    <td>@ref CAPI_CONTENT_MEDIA_FOLDER_MODULE </td>
49  *    <td> Provide information about folders (e.g. path, name, modification date) stored on the device.\n
50  * Provide information about the media items present in the folders.</td>
51  * </tr>
52  * <tr>
53  *    <td>@ref CAPI_CONTENT_MEDIA_TAG_MODULE </td>
54  *    <td> Provide information about media tags.\n
55  * Provide functions to insert or delete tag from database.\n
56  * Provide functions to add and remove media item from tags in the database. </td>
57  * </tr>
58  * <tr>
59  *    <td>@ref CAPI_CONTENT_MEDIA_FILTER_MODULE </td>
60  *    <td> Provide functions for creating and destroying media filters.\n
61  * Provide functions to get filter properties</td>
62  * </tr>
63  * <tr>
64  *    <td>@ref CAPI_CONTENT_MEDIA_INFO_MODULE </td>
65  *    <td> Provide generic information about media content items (i.e. image, audio, video and others).\n
66  *  Provide details about audio files (e.g. name, author, genre etc) present in the device.\n
67  *  Provide details about image files (e.g. width, height, orientation etc) present in the device.\n
68  *  Provide details about video files (e.g. width, height, duration etc) present in the device .</td>
69  * </tr>
70  * <tr>
71  *    <td>@ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE </td>
72  *    <td> Provide information about the media playlist. </td>
73  * </tr>
74  * <tr>
75  *    <td>@ref CAPI_CONTENT_MEDIA_ALBUM_MODULE </td>
76  *    <td> Provide information about the media album. </td>
77  * </tr>
78  * <tr>
79  *    <td>@ref CAPI_CONTENT_MEDIA_GROUP_MODULE </td>
80  *    <td> Provide information about the media group(e.g. media artist, composer, genre, year). </td>
81  * </tr>
82  * <tr>
83  *    <td>@ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE </td>
84  *    <td> Provide information about the media bookmark. </td>
85  * </tr>
86  *
87  * </table>
88  *
89  */
90
91 /**
92  * @defgroup CAPI_CONTENT_MEDIA_FOLDER_MODULE Media Folder
93  * @brief The Media folder API provides functions to get information about folders.
94  *
95  * @ingroup CAPI_MEDIA_CONTENT_MODULE
96  *
97  * @section CAPI_CONTENT_MEDIA_FOLDER_MODULE_HEADER Required Header
98  *   \#include <media_content.h>
99  *
100  * @section CAPI_CONTENT_MEDIA_FOLDER_MODULE_OVERVIEW Overview
101  * A Folder is used to organize media content files i.e. image, audio, video files, in the physical storage of the device.
102  * The Media Folder API provides functions to get basic information about existing folders e.g. folder name, path and storage type.
103  * It also provides functions to get information related to media items present in the folder.
104  *
105  * For getting information about folder call the respective get functions e.g. to get path and name of a given folder call #media_folder_get_path() and #media_folder_get_name() function respectively and so on.\n
106  * Similarly call media_folder_get_media_count_from_db() to get count of media items present in a given folder.
107  * @subsection CAPI_CONTENT_MEDIA_FOLDER_FOREACH_OPERATIONS Foreach Operations
108  * <div><table class="doxtable">
109  *     <tr>
110  *        <th><b>FOREACH</b></th>
111  *        <th><b>CALLBACK</b></th>
112  *        <th><b>DESCRIPTION</b></th>
113  *     </tr>
114  *     <tr>
115  *        <td>media_folder_foreach_folder_from_db()</td>
116  *        <td>media_folder_cb()</td>
117  *        <td>Iterates over a folder information list</td>
118  *     </tr>
119  *     <tr>
120  *        <td>media_folder_foreach_media_from_db()</td>
121  *        <td>media_info_cb()</td>
122  *        <td>Iterates media information trough the folder</td>
123  *     </tr>
124  * </table></div>
125  *
126  *
127  */
128
129
130 /**
131  * @defgroup CAPI_CONTENT_MEDIA_TAG_MODULE Media Tag
132  * @brief  The Media Tag API provides functions to manage media content tags.
133  *
134  * @ingroup CAPI_MEDIA_CONTENT_MODULE
135  *
136  * @section CAPI_CONTENT_MEDIA_TAG_MODULE_HEADER Required Header
137  *   \#include <media_content.h>
138  *
139  * @section CAPI_CONTENT_MEDIA_TAG_MODULE_OVERVIEW Overview
140  * A Tag is a special piece of information that may be associated with media content items.
141  * Tagging allows a user to organize large number of items into logical groups providing a simplified
142  * and faster way of accessing media content items.\n\n
143  * Media Tag API provides functions to get basic information about existing tags and manage tags
144  * associated with Media Information (#media_info_h).
145  * For inserting a new tag to the database call #media_tag_insert_to_db() function and for deleting existing tag from database
146  * call media_tag_delete_from_db() function.\n
147  * A Media item can be associated and dissociated from tags by calling #media_tag_add_media() and #media_tag_remove_media() function respectively.
148  * Finally, #media_tag_update_to_db function should be called so as to update the given item in the media database.
149  *
150  * @subsection CAPI_CONTENT_MEDIA_TAG_FOREACH_OPERATIONS Foreach Operations
151  * <div><table class="doxtable">
152  *     <tr>
153  *        <th><b>FOREACH</b></th>
154  *        <th><b>CALLBACK</b></th>
155  *        <th><b>DESCRIPTION</b></th>
156  *     </tr>
157  *     <tr>
158  *        <td>media_tag_foreach_tag_from_db()</td>
159  *        <td> media_tag_cb()</td>
160  *        <td>Iterates through tags</td>
161  *     </tr>
162  *     <tr>
163  *        <td>media_tag_foreach_media_from_db()</td>
164  *        <td>media_info_cb()</td>
165  *        <td> Iterates through the media items for a given tag
166  </td>
167  *     </tr>
168  * </table></div>
169  *
170  *
171  *
172  */
173
174
175 /**
176  * @defgroup CAPI_CONTENT_MEDIA_FILTER_MODULE Media Filter
177  * @brief The Media Filter API provides functions to manage media filters.
178  *
179  * @ingroup CAPI_MEDIA_CONTENT_MODULE
180  *
181  * @section CAPI_CONTENT_MEDIA_FILTER_MODULE_HEADER Required Header
182  *   \#include <media_content.h>
183  *
184  * @section CAPI_CONTENT_MEDIA_FILTER_MODULE_OVERVIEW Overview
185  * A Media filter is required for filtering information associated with media Folder, Tag, Audio, Bookmark and Media Information on basis of details like offset, count, order and condition for searching.\n
186  * @ref CAPI_CONTENT_MEDIA_FILTER_MODULE API provides functions for creating and destroying media filters. \n
187  * It provide functions to set properties and also provide functions for getting filter properties associated with a given media filter.
188  *
189  *\n
190  * Setting media filter properties helps to limit the number of filtered items as following:
191  * - Offset - Used to set starting position of the filter's search
192  * - Count - Used to set number of items to be searched from offset
193  * - Condition - Used to set keyword which user want to search
194  * - Order - Used to set type of media to be ordered by the filter
195  *
196  *\n
197  * The Media Filter API provides functions for creating and destroying media filters.\n
198  * It provide functions to set and get properties of the filter associated with a given media filter. \n
199  * For creating a media filter (@ref filter_h), call #media_filter_create() function and call #media_filter_destroy() function for destroying an existing filter. \n
200  * For setting filter properties call the respective set functions e.g. to set offset position, call #media_filter_set_offset() function and 
201  * call #media_filter_set_condition() function to set the condition like an sql "where" clause. \n
202  * Searchable expression can use one of the following forms:
203  *
204  *
205  * - column = value
206  * - column > value
207  * - column >= value
208  * - column < value
209  * - column <= value
210  * - value = column
211  * -  * - value > column
212  * - value >= column
213  * - value < column
214  * - value <= column
215  * - column IN (value)
216  * - column IN (value-list)
217  * - column NOT IN (value)
218  * - column NOT IN (value-list)
219  * - column LIKE value
220  * - expression1 AND expression2 OR expression3
221  *
222  *\n
223  *
224  * Note that if you want to set qoutation(" ' " or " " ") as value of LIKE operator, you should use two times.(" '' " or " "" ") \n
225  * And the optional ESCAPE clause is supported. Both percent symbol("%") and underscore symbol("_") are used in the LIKE pattern.\n
226  * If these characters are used as value of LIKE operation, then the expression following the ESCAPE caluse of sqlite will be ignored. \n
227  *
228  * For example, 
229  * - column LIKE ('#%') ESCAPE('#') - "#" is escape character, it will be ignored.
230  *\n
231  *
232  *
233  * Similarly, call respective get function to get filter properties e.g. call #media_filter_get_condition() function 
234  * to get condition of the media filter and call #media_filter_get_order() function to get order (#media_content_order_e) of the filtered items and so on.
235  *
236  * @section CAPI_CONTENT_MEDIA_FILTER_MODULE_EXAMPLE Example
237  * You can set the filter as follows.
238  * @code
239  *
240  * #include <stdio.h>
241  * #include <string.h>
242  * #include <media_content.h>
243  *
244  * #define MAX_QUERY_LEN 512
245  * #define DLOG_TAG "media-content-test"
246  *
247  * filter_h g_filter = NULL;
248  *
249  * int create_filter()
250  * {
251  *     int ret = MEDIA_CONTENT_ERROR_NONE;
252  *     char condition[MAX_QUERY_LEN] = {0,};
253  *
254  *     snprintf(condition,sizeof(condition),"%s = 0",MEDIA_TYPE);
255  *
256  *     ret = media_filter_create(&g_filter);
257  *     ret = media_filter_set_condition(g_filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
258  *     ret = media_filter_set_order(g_filter, MEDIA_CONTENT_ORDER_DESC, MEDIA_ARTIST, MEDIA_CONTENT_COLLATE_DEFAULT);
259  *
260  *     return ret;
261  * }
262  *
263  * @endcode
264  * And you can use the created filter as follows.
265  * @code
266  *
267  * int get_media_count()
268  * {
269  *     int ret = MEDIA_CONTENT_ERROR_NONE;
270  *     int media_cnt = 0;
271  *
272  *     ret = media_info_get_media_count_from_db(g_filter, &media_cnt);
273  *     dlog_print(DLOG_DEBUG, DLOG_TAG, "media count [%d]\n", media_cnt);
274  *
275  *     return ret;
276  * }
277  *
278  * @endcode
279  */
280
281
282 /**
283  * @defgroup CAPI_CONTENT_MEDIA_AUDIO_META_MODULE Audio Metadata
284  * @brief The Audio Metadata API provides functions to get information about audio items.
285  *
286  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
287  *
288  * @section CAPI_CONTENT_MEDIA_AUDIO_META_MODULE_HEADER Required Header
289  *   \#include <media_content.h>
290  *
291  * @section CAPI_CONTENT_MEDIA_AUDIO_META_MODULE_OVERVIEW Overview
292  * The Audio Metadata API provides functions to get information about stored audio files.
293  * Its purpose is twofold:
294  * - to provide information about audio content
295  * - to organize audio content logically (grouping)
296  *
297  * API provides functions that allow to check attributes of audio files. Following information about audio content is provided:
298  * - album
299  * - artist
300  * - genre
301  * - composer
302  * - year
303  * - recorded_date
304  * - copyright
305  * - track number
306  * - sample rate
307  * - played count
308  * - played time
309  * - played position
310  * - bitrate
311  *
312  * <p>
313  * For getting the audio handle (#audio_meta_h) from the media information (#media_info_h), call #media_info_get_audio() function.\n
314  * For getting the information related to audio files stored in the device, call the respective get functions e.g. to get the artist of a audio, call #audio_meta_get_artist() function and 
315  * to get bitrate of a audio, call #audio_meta_get_bit_rate() function and so on.\n
316  * When the audio handle is no longer needed, it should be destroyed by calling #audio_meta_destroy() function.\n
317  *
318  *
319  *
320  */
321
322
323 /**
324  * @defgroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE Media Playlist
325  * @brief The Media Playlist API provides functions to manage media playlists.
326  *
327  * @ingroup CAPI_MEDIA_CONTENT_MODULE
328  *
329  * @section CAPI_CONTENT_MEDIA_PLAYLIST_MODULE_HEADER Required Header
330  *   \#include <media_content.h>
331  *
332  * @section CAPI_CONTENT_MEDIA_PLAYLIST_MODULE_OVERVIEW Overview
333  * A Playlist is a list of songs which can be played in some sequence i.e. sequential or shuffled order.
334  * The Media Playlist API provides functions to insert, delete or updates a media playlist in the database.
335  *
336  * For inserting new playlist (#media_playlist_h) in the database, call  #media_playlist_insert_to_db() function and call #media_playlist_delete_from_db() function
337  * to delete a playlist from the database.\n
338  * For adding a media item to the playlist, call #media_playlist_add_media() function, for removing a media item from the playlist, call 
339  * #media_playlist_remove_media() function.\n
340  * Finally, #media_playlist_update_to_db() function should be called so as to update the given item in the media database.
341  *
342  * @subsection CAPI_CONTENT_MEDIA_PLAYLIST_FOREACH_OPERATIONS Foreach Operations
343  * <div><table class="doxtable">
344  *     <tr>
345  *        <th><b>FOREACH</b></th>
346  *        <th><b>CALLBACK</b></th>
347  *        <th><b>DESCRIPTION</b></th>
348  *     </tr>
349  *     <tr>
350  *        <td>media_playlist_foreach_playlist_from_db()</td>
351  *        <td>media_playlist_cb()</td>
352  *        <td>Iterates through playlist</td>
353  *     </tr>
354  *     <tr>
355  *        <td>media_playlist_foreach_media_from_db()</td>
356  *        <td>media_info_cb()</td>
357  *        <td>Iterates through playlist's items</td>
358  *     </tr>
359  * </table></div>
360  *
361  *
362  */
363
364
365 /**
366  * @defgroup CAPI_CONTENT_MEDIA_ALBUM_MODULE Media Album
367  * @brief The Media Album API provides information related to album of media items.
368  *
369  * @ingroup CAPI_MEDIA_CONTENT_MODULE
370  *
371  * @section CAPI_CONTENT_MEDIA_ALBUM_MODULE_HEADER Required Header
372  *   \#include <media_content.h>
373  *
374  * @section CAPI_CONTENT_MEDIA_ALBUM_MODULE_OVERVIEW Overview
375  * An album is a logical collection or grouping of related audio files. It is also used for filtering media items.\n
376  * The Media Album API allows to manage media albums which contains all video and audio items from
377  * the same album.
378  *
379  * The API provides functions to get and search media items in album group.
380  * For getting the count of media items associated with a given album, call #media_album_get_media_count_from_db() function.
381  *
382  * @subsection CAPI_CONTENT_MEDIA_ALBUM_FOREACH_OPERATIONS Foreach Operations
383  * <div><table class="doxtable">
384  *     <tr>
385  *        <th><b>FOREACH</b></th>
386  *        <th><b>CALLBACK</b></th>
387  *        <th><b>DESCRIPTION</b></th>
388  *     </tr>
389  *     <tr>
390  *        <td>media_album_foreach_album_from_db()</td>
391  *        <td>media_album_cb()</td>
392  *        <td>Iterates through albums</td>
393  *     </tr>
394  *     <tr>
395  *        <td>media_album_foreach_media_from_db()</td>
396  *        <td>media_info_cb()</td>
397  *        <td>Iterates through album's items</td>
398  *     </tr>
399  * </table></div>
400  *
401  *
402  */
403
404
405 /**
406  * @defgroup CAPI_CONTENT_MEDIA_GROUP_MODULE Media Group
407  * @brief The Media Group API provides information related to artist of media group.
408  *
409  * @ingroup CAPI_MEDIA_CONTENT_MODULE
410  *
411  * @section CAPI_CONTENT_MEDIA_GROUP_MODULE_HEADER Required Header
412  *   \#include <media_content.h>
413  *
414  * @section CAPI_CONTENT_MEDIA_GROUP_MODULE_OVERVIEW Overview
415  * A Media Group represents logical grouping of media files with respect to their group name. It is also used for filtering media items.\n
416  *
417  * The API provides functions to get and search image, video and audio items in media group. 
418  * For getting the count of media items associated with a given group, call #media_group_get_media_count_from_db() function.
419  *
420  *
421  * @subsection CAPI_CONTENT_MEDIA_GROUP_FOREACH_OPERATIONS Foreach Operations
422  * <div><table class="doxtable">
423  *      <tr>
424  *         <th><b>FOREACH</b></th>
425  *         <th><b>CALLBACK</b></th>
426  *         <th><b>DESCRIPTION</b></th>
427  *      </tr>
428  *      <tr>
429  *         <td>media_group_foreach_group_from_db()</td>
430  *         <td> media_group_cb()</td>
431  *         <td>Iterates through group</td>
432  *      </tr>
433  *      <tr>
434  *         <td>media_group_foreach_media_from_db()</td>
435  *         <td>media_info_cb()</td>
436  *         <td>Iterates through group's items</td>
437  *      </tr>
438  * </table></div>
439  *
440  *
441  */
442
443
444 /**
445  * @defgroup CAPI_CONTENT_MEDIA_IMAGE_MODULE Image Metadata
446  * @brief The Image Metadata API provides functions that allow to get information about
447  * stored image files.
448  *
449  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
450  *
451  * @section CAPI_CONTENT_MEDIA_IMAGE_MODULE_HEADER Required Header
452  *   \#include <media_content.h>
453  *
454  * @section CAPI_CONTENT_MEDIA_IMAGE_MODULE_OVERVIEW Overview
455  * The Image Metadata API provides functions to get basic information associated with image files:
456  * - width
457  * - height
458  * - date taken (when image was created)
459  * - image orientation\n
460  *
461  *<p>
462  * For getting the image handle (#image_meta_h) from the media information (#media_info_h), call #media_info_get_image() function.\n
463  * For getting the information related to image files stored in the device call the respective get functions e.g. to get the width of a image, call #image_meta_get_width() function and 
464  * to get orientation (#media_content_orientation_e) of a image, call #image_meta_get_orientation() function and so on.\n
465  * When the image handle is no longer needed, it should be destroyed by calling #image_meta_destroy() function.\n
466  *
467  */
468
469
470
471
472 /**
473  * @defgroup CAPI_CONTENT_MEDIA_VIDEO_META_MODULE Video Metadata
474  * @brief The Video Metadata API provides functions to get information about video files present in the device.
475  *
476  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
477  *
478  * @section CAPI_CONTENT_MEDIA_VIDEO_META_MODULE_HEADER Required Header
479  *   \#include <media_content.h>
480  *
481  * @section CAPI_CONTENT_MEDIA_VIDEO_META_MODULE_OVERVIEW Overview
482  * The Video Metadata API provides functions to get information about video files present in the device.
483  * Following information about video content (#video_meta_h )is provided:
484  * - artist
485  * - album
486  * - genre
487  * - composer
488  * - year
489  * - recorded date
490  * - copyright
491  * - track number
492  * - bit rate
493  * - width
494  * - height
495  * - played count
496  * - played time
497  * - played position
498  * \n
499  * and others.\n
500  *<p>
501  * For getting the video handle (#video_meta_h) from the media information (#media_info_h), call the media_info_get_video() function.\n
502  * For getting the information related to video files stored in the device call the respective get functions e.g. to get duration of the video file
503  * call #video_meta_get_duration() function  and so on.\n
504  * When the video handle is no longer needed, it should be destroyed by calling #video_meta_destroy() function.
505  *
506  *
507  *
508  */
509
510 /**
511  * @defgroup CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE Face Detection
512  * @brief The Face Detection API provides functions to detect face information about stored image files.
513  *
514  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
515  *
516  * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_HEADER Required Header
517  *   \#include <media_content.h>
518  *
519  * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_FEATURE Related Features
520  * This API is related with the following feature: \n
521  * - %http://tizen.org/feature/vision.face_recognition
522  * It is recommended to create applications with regard to features, to increase reliability. \n
523  *
524  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application. \n
525  *
526  * To ensure your application is only running on a device with specific features, please define the features in your manifest file using the manifest editor in the SDK. \n
527  *
528  * More details on featuring your application can be found from <a href="https://developer.tizen.org/development/tizen-studio/native-tools/configuring-your-app/manifest-text-editor#feature"><b>Feature Element</b>.</a>
529  *
530  * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_OVERVIEW Overview
531  * The Face Detection API provides functions to detect face information associated with image files. \n
532  * Face information detected by mediavision API. To detect faces, you should use media_info_start_face_detection() API. \n
533  *
534  * API allows to:
535  * - start and cancel face detection with image files
536  *
537  *<p>
538  * To obtain the media handle (#media_info_h), call the #media_info_create() function.\n
539  * To start face detection, call the #media_info_start_face_detection() function.\n
540  * To cancel face detection after it's been started, call the #media_info_cancel_face_detection() function.\n
541  *
542  */
543
544 /**
545  * @defgroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE Media Bookmark
546  * @brief The Media Bookmark Information API provides functions to manage bookmark information on the media items.
547  *
548  * @ingroup CAPI_MEDIA_CONTENT_MODULE
549  *
550  * @section CAPI_CONTENT_MEDIA_BOOKMARKINFO_MODULE_HEADER Required Header
551  *   \#include <media_content.h>
552  *
553  * @section CAPI_CONTENT_MEDIA_BOOKMARKINFO_MODULE_OVERVIEW Overview
554  * A Bookmark allows you to mark interesting moment in a media(video and audio) to enable fast searching.
555  * The Bookmark Information API  provides functions to get information about bookmarks associated with video and audio items.
556  *
557  * API allows to:
558  * - get and filter existing bookmarks
559  * - insert new bookmarks
560  * - delete bookmarks
561  *
562  * For inserting a bookmark to media item, call media_bookmark_insert_to_db() function and for deleting already set bookmark from a media, call 
563  * #media_bookmark_delete_from_db() function.
564  * For retrieving time where the bookmark is placed on the media, call #media_bookmark_get_marked_time() function.
565  *
566  * @subsection CAPI_CONTENT_MEDIA_BOOKMARKINFO_FOREACH_OPERATIONS Foreach Operations
567  * <div><table class="doxtable" >
568  *     <tr>
569  *        <th><b>FOREACH</b></th>
570  *        <th><b>CALLBACK</b></th>
571  *        <th><b>DESCRIPTION</b></th>
572  *     </tr>
573  *     <tr>
574  *        <td>media_info_foreach_bookmark_from_db()</td>
575  *        <td>media_bookmark_cb()</td>
576  *        <td>Iterates through bookmarks</td>
577  *     </tr>
578  *</table></div>
579  *
580  *
581  */
582
583 /**
584  * @defgroup CAPI_CONTENT_MEDIA_INFO_MODULE Media Information
585  * @brief The Media Information API provides functions to get information about media items
586  * stored on an internal and external storage.
587  *
588  * @ingroup CAPI_MEDIA_CONTENT_MODULE
589  *
590  * @section CAPI_CONTENT_MEDIA_INFO_MODULE_HEADER Required Header
591  *   \#include <media_content.h>
592  *
593  * @section CAPI_CONTENT_MEDIA_INFO_MODULE_OVERVIEW Overview
594  *
595  * The Media Information API provides functions to get basic information e.g. path, date, type etc about media items (#media_info_h) present in the device.
596  * Media Information (#media_info_h) is a generalization of media content of any type (audio, image, video and others).
597  *
598  * Received information about media items can be the processed using dedicated APIs:
599  * <table>
600  * <tr>
601  *    <th>API</th>
602  *    <th>Description</th>
603  * </tr>
604  * <tr>
605  *    <td>@ref CAPI_CONTENT_MEDIA_INFO_MODULE </td>
606  *    <td> Provides details about all items present in the device.\n
607  * Provide functions to get information (e.g. title, size, mime type etc) about the files.</td>
608  * </tr>
609  * <tr>
610  *    <td>@ref CAPI_CONTENT_MEDIA_AUDIO_META_MODULE </td>
611  *    <td> Provides details about audio items present in the device.\n
612  * Provide functions to get information (e.g. genre, album, year, bitrate etc) about the audio files.</td>
613  * </tr>
614  * <tr>
615  *    <td>@ref CAPI_CONTENT_MEDIA_IMAGE_MODULE </td>
616  *    <td> Provides details about image items present in the device.\n
617  * Provide functions to get information (e.g. longitude, description, date etc) about the image files.</td>
618  * </tr>
619  * <tr>
620  *    <td>@ref CAPI_CONTENT_MEDIA_VIDEO_META_MODULE </td>
621   *    <td> Provides details about video items present in the device.\n
622  * Provide functions to get information (e.g. title, duration, date etc) about the video files.</td>
623  * </tr>
624  * </table>
625  *
626  * Video and Audio information can be further processed with respect to its properties i.e. playlist, album, using their respective APIs.
627  * - @ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
628  * - @ref CAPI_CONTENT_MEDIA_ALBUM_MODULE
629  * - @ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
630  *
631  *
632  * @subsection CAPI_CONTENT_MEDIA_INFO_FOREACH_OPERATIONS Foreach Operations
633  * <div><table class="doxtable">
634  *     <tr>
635  *        <th><b>FOREACH</b></th>
636  *        <th><b>CALLBACK</b></th>
637  *        <th><b>DESCRIPTION</b></th>
638  *     </tr>
639  *     <tr>
640  *        <td>media_info_foreach_media_from_db()</td>
641  *        <td>media_info_cb()</td>
642  *        <td>Iterates through items</td>
643  *     </tr>
644  *     <tr>
645  *        <td>media_info_foreach_tag_from_db()</td>
646  *        <td>media_tag_cb()</td>
647  *        <td>Iterate through tags</td>
648  *     </tr>
649  *     <tr>
650  *        <td>media_info_foreach_bookmark_from_db()</td>
651  *        <td>media_bookmark_cb()</td>
652  *        <td>Iterate through bookmark</td>
653  *     </tr>
654  * </table></div>
655  *
656  *
657  *
658  */
659
660 /**
661  * @defgroup CAPI_CONTENT_MEDIA_STORAGE_MODULE Media Storage
662  * @brief The Media Storage Information API provides functions to manage storage  information on the media items.
663  *
664  * @ingroup CAPI_MEDIA_CONTENT_MODULE
665  *
666  * @section CAPI_CONTENT_MEDIA_STORAGE_MODULE_HEADER Required Header
667  *   \#include <media_content.h>
668  *
669  * @section CAPI_CONTENT_MEDIA_STORAGE_MODULE_OVERVIEW Overview
670  * A Storage allows you to manage external storage. \n
671  * The system generates the storage id when the external storage is added. And the system manages the media information in each of the storage by using storage id. \n
672  * So you can get the information from the storage that you want to view.
673  *
674  */
675
676 /**
677  * @defgroup CAPI_CONTENT_MEDIA_FACE_MODULE Media Face
678  * @brief The Media Face Information API provides functions to manage the face information in the image files.
679  *
680  * @ingroup CAPI_MEDIA_CONTENT_MODULE
681  *
682  * @section CAPI_CONTENT_MEDIA_FACE_MODULE_HEADER Required Header
683  *   \#include <media_content.h>
684  *
685  * @section CAPI_CONTENT_MEDIA_FACE_MODULE_OVERVIEW Overview
686  * The Face Information API provides functions to manage the face information such as face id, face coordinates in the image files.\n
687  *
688  *
689  */
690
691
692 #endif /* __TIZEN_MEDIA_CONTENT_DOC_H__ */