Use sqlite3 apis directly
[platform/core/api/media-content.git] / doc / media_content_doc.h
index 58424c4..d27b8fd 100755 (executable)
@@ -11,7 +11,7 @@
  * distributed under the License is distributed on an AS IS BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License. 
+ * limitations under the License.
  */
 
 
  *
  * @section CAPI_MEDIA_CONTENT_MODULE_OVERVIEW Overview
  * The Media Content API provides functions and enumerations used in the entire Content Service.\n
- * The information about media items i.e. image, audio and video, are managed in the content database and
+ * The information about media items i.e. image, audio, video and ebook, are managed in the content database and
  * operations that involve database requires an active connection with the media content service.\n
- * During media scanning, Media Service extract media information automatically. media information include basic file info like 
- * path, size, modified time etc and some metadata like ID3tag, EXIF, thumbnail, face detection info, etc. (thumbnail extracted only in Internal and SD card storage. \n
- * Also, face detection only works when the device supports face recignition feature (i.e., http://tizen.org/feature/vision.face_recognition)). \n
+ * During media scanning, Media Service extract media information automatically. media information include basic file info like
+ * path, size, modified time etc and some metadata like ID3tag, EXIF, thumbnail, etc. (thumbnail extracted only in Internal and SD card storage.) \n
+ * Since 3.0, a thumbnail is not automatically extracted during media scanning. A thumbnail will be created only when media_info_generate_thumbnail() is called by any application. \n
  * Media content services do not manage hidden files. \n
  * The API provides functions for connecting (#media_content_connect()) and disconnecting (#media_content_disconnect()) from the media content service.
  *
- * 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.
- * 
+ * The API consists of @ref CAPI_CONTENT_MEDIA_ALBUM_MODULE, @ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE, @ref CAPI_CONTENT_MEDIA_FACE_MODULE,
+ * @ref CAPI_CONTENT_MEDIA_FILTER_MODULE, @ref CAPI_CONTENT_MEDIA_FOLDER_MODULE, @ref CAPI_CONTENT_MEDIA_GROUP_MODULE,
+ * @ref CAPI_CONTENT_MEDIA_INFO_MODULE, @ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE, @ref CAPI_CONTENT_MEDIA_TAG_MODULE API.
+ *
  * <table>
  * <tr>
  *    <th>API</th>
  *    <th>Description</th>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_FOLDER_MODULE </td>
- *    <td> Provide information about folders (e.g. path, name, modification date) stored on the device.\n
- * Provide information about the media items present in the folders.</td>
+ *    <td>@ref CAPI_CONTENT_MEDIA_ALBUM_MODULE </td>
+ *    <td> Provide information about the media album. </td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_TAG_MODULE </td>
- *    <td> Provide information about media tags.\n
- * Provide functions to insert or delete tag from database.\n
- * Provide functions to add and remove media item from tags in the database. </td>
+ *    <td>@ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE </td>
+ *    <td> Provide information about the media bookmark. </td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_CONTENT_MEDIA_FACE_MODULE </td>
+ *    <td> Provide information about the detected faces from image. </td>
  * </tr>
  * <tr>
  *    <td>@ref CAPI_CONTENT_MEDIA_FILTER_MODULE </td>
  * Provide functions to get filter properties</td>
  * </tr>
  * <tr>
+ *    <td>@ref CAPI_CONTENT_MEDIA_FOLDER_MODULE </td>
+ *    <td> Provide information about folders (e.g. path, name, modification date) stored on the device.\n
+ * Provide information about the media items present in the folders.</td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_CONTENT_MEDIA_GROUP_MODULE </td>
+ *    <td> Provide information about the media group(e.g. media artist, album, genre, year). </td>
+ * </tr>
+ * <tr>
  *    <td>@ref CAPI_CONTENT_MEDIA_INFO_MODULE </td>
- *    <td> Provide generic information about media content items (i.e. image, audio, video and others).\n
- *  Provide details about audio files (e.g. name, author, genre etc) present in the device.\n
+ *    <td> Provide generic information about media content items (i.e. image, audio, video, ebook and others).\n
+ *  Provide details about audio files (e.g. name, genre etc) present in the device.\n
  *  Provide details about image files (e.g. width, height, orientation etc) present in the device.\n
- *  Provide details about video files (e.g. width, height, duration etc) present in the device .</td>
+ *  Provide details about video files (e.g. width, height, duration etc) present in the device.\n
+ *  Provide details about ebook files (e.g. subject, author etc) present in the device.</td>
  * </tr>
  * <tr>
  *    <td>@ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE </td>
  *    <td> Provide information about the media playlist. </td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_ALBUM_MODULE </td>
- *    <td> Provide information about the media album. </td>
- * </tr>
- * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_GROUP_MODULE </td>
- *    <td> Provide information about the media group(e.g. media artist, composer, genre, year). </td>
+ *    <td>@ref CAPI_CONTENT_MEDIA_TAG_MODULE </td>
+ *    <td> Provide information about media tags.\n
+ * Provide functions to insert or delete tag from database.\n
+ * Provide functions to add and remove media item from tags in the database. </td>
  * </tr>
- * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE </td>
- *    <td> Provide information about the media bookmark. </td>
- * </tr> 
- * 
  * </table>
  *
  */
  *   \#include <media_content.h>
  *
  * @section CAPI_CONTENT_MEDIA_FOLDER_MODULE_OVERVIEW Overview
- * A Folder is used to organize media content files i.e. image, audio, video files, in the physical storage of the device.  
- * The Media Folder API provides functions to get basic information about existing folders e.g. folder name, path and storage type.
+ * A Folder is used to organize media content files i.e. image, audio, video, ebook files, in the physical storage of the device.
+ * The Media Folder API provides functions to get basic information about existing folders e.g. folder name, path and modified time.
  * It also provides functions to get information related to media items present in the folder.
  *
  * 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
 
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_TAG_MODULE Media Tag
+ * @defgroup CAPI_CONTENT_MEDIA_TAG_MODULE Media Tag (Deprecated)
  * @brief  The Media Tag API provides functions to manage media content tags.
  *
  * @ingroup CAPI_MEDIA_CONTENT_MODULE
  *
  * @section CAPI_CONTENT_MEDIA_TAG_MODULE_OVERVIEW Overview
  * A Tag is a special piece of information that may be associated with media content items.
- * Tagging allows a user to organize large number of items into logical groups providing a simplified 
+ * Tagging allows a user to organize large number of items into logical groups providing a simplified
  * and faster way of accessing media content items.\n\n
- * Media Tag API provides functions to get basic information about existing tags and manage tags 
- * associated with Media Information (#media_info_h). 
+ * Media Tag API provides functions to get basic information about existing tags and manage tags
+ * associated with Media Information (#media_info_h).
  * For inserting a new tag to the database call #media_tag_insert_to_db() function and for deleting existing tag from database
  * call media_tag_delete_from_db() function.\n
  * A Media item can be associated and dissociated from tags by calling #media_tag_add_media() and #media_tag_remove_media() function respectively.
  * - Offset - Used to set starting position of the filter's search
  * - Count - Used to set number of items to be searched from offset
  * - Condition - Used to set keyword which user want to search
- * - Order - Used to set type of media to be ordered by the filter 
+ * - Order - Used to set type of media to be ordered by the filter
  *
  *\n
  * The Media Filter API provides functions for creating and destroying media filters.\n
  * It provide functions to set and get properties of the filter associated with a given media filter. \n
  * 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
- * For setting filter properties call the respective set functions e.g. to set offset position, call #media_filter_set_offset() function and 
+ * For setting filter properties call the respective set functions e.g. to set offset position, call #media_filter_set_offset() function and
  * call #media_filter_set_condition() function to set the condition like an sql "where" clause. \n
  * Searchable expression can use one of the following forms:
  *
  * - column NOT IN (value)
  * - column NOT IN (value-list)
  * - column LIKE value
- * - expression1 AND expression2 OR expression3 
- * 
+ * - expression1 AND expression2 OR expression3
+ *
  *\n
- * 
+ *
  * Note that if you want to set qoutation(" ' " or " " ") as value of LIKE operator, you should use two times.(" '' " or " "" ") \n
  * And the optional ESCAPE clause is supported. Both percent symbol("%") and underscore symbol("_") are used in the LIKE pattern.\n
- * If these characters are used as value of LIKE operation, then the expression following the ESCAPE caluse of sqlite. \n
+ * If these characters are used as value of LIKE operation, then the expression following the ESCAPE clause of sqlite will be ignored. \n
  *
- * For example, 
- * - column LIKE ('#%') ESCAPE('#') - "#" is escape character, it will be ignored. 
+ * For example,
+ * - column LIKE ('#%') ESCAPE('#') - "#" is escape character, it will be ignored.
  *\n
  *
- *  
- * Similarly, call respective get function to get filter properties e.g. call #media_filter_get_condition() function 
+ *
+ * Similarly, call respective get function to get filter properties e.g. call #media_filter_get_condition() function
  * 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.
  *
  * @section CAPI_CONTENT_MEDIA_FILTER_MODULE_EXAMPLE Example
  *
  * @section CAPI_CONTENT_MEDIA_AUDIO_META_MODULE_OVERVIEW Overview
  * The Audio Metadata API provides functions to get information about stored audio files.
- * Its purpose is threefold:
+ * Its purpose is twofold:
  * - to provide information about audio content
  * - to organize audio content logically (grouping)
  *
  * API provides functions that allow to check attributes of audio files. Following information about audio content is provided:
- * - album
- * - artist
- * - genre
- * - composer
- * - year 
- * - recorded_date
- * - copyright
- * - track number
- * - sample rate
- * - played count
- * - played time
- * - played position 
- * - bitrate
+ *
+ * <table>
+ * <tr>
+ * <th>Attribute</th>
+ * <th>Filter Keyword</th>
+ * <th>Comments</th>
+ * </tr>
+ * <tr>
+ * <td>album</td>
+ * <td>#MEDIA_ALBUM</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>artist</td>
+ * <td>#MEDIA_ARTIST</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>album_artist</td>
+ * <td>#MEDIA_ALBUM_ARTIST</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>genre</td>
+ * <td>#MEDIA_GENRE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>composer</td>
+ * <td>#MEDIA_COMPOSER</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>year</td>
+ * <td>#MEDIA_YEAR</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>recorded_date</td>
+ * <td>#MEDIA_RECORDED_DATE</td>
+ * <td>Get from metadata if exist. if not, same as modified time.</td>
+ * </tr>
+ * <tr>
+ * <td>copyright</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>track_num</td>
+ * <td>#MEDIA_TRACK_NUM</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>bit_rate</td>
+ * <td></td>
+ * <td>Bitrate</td>
+ * </tr>
+ * <tr>
+ * <td>bitpersample</td>
+ * <td></td>
+ * <td>Bit per sample</td>
+ * </tr>
+ * <tr>
+ * <td>sample_rate</td>
+ * <td></td>
+ * <td>Samplerate</td>
+ * </tr>
+ * <tr>
+ * <td>channel</td>
+ * <td></td>
+ * <td>Channel</td>
+ * </tr>
+ * <tr>
+ * <td>duration</td>
+ * <td>#MEDIA_DURATION</td>
+ * <td>Duration</td>
+ * </tr>
+ * <tr>
+ * <td>rating</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * </table>
+ * \n
  *
  * <p>
  * For getting the audio handle (#audio_meta_h) from the media information (#media_info_h), call #media_info_get_audio() function.\n
- * 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 
+ * 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
  * to get bitrate of a audio, call #audio_meta_get_bit_rate() function and so on.\n
- * When the audio handle is no longer needed, it should be destroyed by calling #audio_meta_destroy() function.\n 
+ * When the audio handle is no longer needed, it should be destroyed by calling #audio_meta_destroy() function.\n
  *
  *
  *
 
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE Media Playlist
+ * @defgroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE Media Playlist (Deprecated)
  * @brief The Media Playlist API provides functions to manage media playlists.
  *
  * @ingroup CAPI_MEDIA_CONTENT_MODULE
  * @section CAPI_CONTENT_MEDIA_PLAYLIST_MODULE_OVERVIEW Overview
  * A Playlist is a list of songs which can be played in some sequence i.e. sequential or shuffled order.
  * The Media Playlist API provides functions to insert, delete or updates a media playlist in the database.
- * 
+ *
  * 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
  * to delete a playlist from the database.\n
- * For adding a media item to the playlist, call #media_playlist_add_media() function, for removing a media item from the playlist, call 
+ * For adding a media item to the playlist, call #media_playlist_add_media() function, for removing a media item from the playlist, call
  * #media_playlist_remove_media() function.\n
  * Finally, #media_playlist_update_to_db() function should be called so as to update the given item in the media database.
  *
  * @section CAPI_CONTENT_MEDIA_GROUP_MODULE_OVERVIEW Overview
  * A Media Group represents logical grouping of media files with respect to their group name. It is also used for filtering media items.\n
  *
- * The API provides functions to get and search image, video and audio items in media group. 
+ * The API provides functions to get and search image, video and audio items in media group.
  * For getting the count of media items associated with a given group, call #media_group_get_media_count_from_db() function.
  *
  *
 
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_IMAGE_MODULE Image Metadata
+ * @defgroup CAPI_CONTENT_MEDIA_IMAGE_META_MODULE Image Metadata
  * @brief The Image Metadata API provides functions that allow to get information about
  * stored image files.
  *
  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
  *
- * @section CAPI_CONTENT_MEDIA_IMAGE_MODULE_HEADER Required Header
+ * @section CAPI_CONTENT_MEDIA_IMAGE_META_MODULE_HEADER Required Header
  *   \#include <media_content.h>
  *
- * @section CAPI_CONTENT_MEDIA_IMAGE_MODULE_OVERVIEW Overview
+ * @section CAPI_CONTENT_MEDIA_IMAGE_META_MODULE_OVERVIEW Overview
  * The Image Metadata API provides functions to get basic information associated with image files:
- * - width
- * - height
- * - date taken (when image was created)
- * - image orientation\n
+ * <table>
+ * <tr>
+ * <th>Attribute</th>
+ * <th>Filter Keyword</th>
+ * <th>Comments</th>
+ * </tr>
+ * <tr>
+ * <td>width</td>
+ * <td>#MEDIA_WIDTH</td>
+ * <td>Width</td>
+ * </tr>
+ * <tr>
+ * <td>height</td>
+ * <td>#MEDIA_HEIGHT</td>
+ * <td>Height</td>
+ * </tr>
+ * <tr>
+ * <td>longitude</td>
+ * <td>#MEDIA_LONGITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>latitude</td>
+ * <td>#MEDIA_LATITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>altitude</td>
+ * <td>#MEDIA_ALTITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>exposure_time</td>
+ * <td></td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>fnumber</td>
+ * <td></td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>iso</td>
+ * <td></td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>model</td>
+ * <td></td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>date_taken</td>
+ * <td>#MEDIA_DATETAKEN</td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>orientation</td>
+ * <td></td>
+ * <td>Get from EXIF if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>is_360_content</td>
+ * <td>#MEDIA_360</td>
+ * <td>Whether 360 content or not.</td>
+ * </tr>
+ * </table>
+ *
+ * \n
  *
  *<p>
  * For getting the image handle (#image_meta_h) from the media information (#media_info_h), call #media_info_get_image() function.\n
- * 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 
+ * 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
  * to get orientation (#media_content_orientation_e) of a image, call #image_meta_get_orientation() function and so on.\n
- * When the image handle is no longer needed, it should be destroyed by calling #image_meta_destroy() function.\n 
+ * When the image handle is no longer needed, it should be destroyed by calling #image_meta_destroy() function.\n
  *
  */
 
 
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_VIDEO_META_MODULE Video Metadata
+ * @defgroup CAPI_CONTENT_MEDIA_VIDEO_META_MODULE Video Metadata (Deprecated)
  * @brief The Video Metadata API provides functions to get information about video files present in the device.
  *
  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
  *
  * @section CAPI_CONTENT_MEDIA_VIDEO_META_MODULE_OVERVIEW Overview
  * The Video Metadata API provides functions to get information about video files present in the device.
- * Following information about video content (#video_meta_h )is provided:
- * - artist
- * - album
- * - genre
- * - composer
- * - year
- * - recorded date
- * - copyright
- * - track number
- * - bit rate
- * - width
- * - height 
- * - played count
- * - played time
- * - played position
+ * Following information about video content (#video_meta_h) is provided:
+ * <table>
+ * <tr>
+ * <th>Attribute</th>
+ * <th>Filter Keyword</th>
+ * <th>Comments</th>
+ * </tr>
+ * <tr>
+ * <td>album</td>
+ * <td>#MEDIA_ALBUM</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>artist</td>
+ * <td>#MEDIA_ARTIST</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>album_artist</td>
+ * <td>#MEDIA_ALBUM_ARTIST</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>genre</td>
+ * <td>#MEDIA_GENRE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>composer</td>
+ * <td>#MEDIA_COMPOSER</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>year</td>
+ * <td>#MEDIA_YEAR</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>recorded_date</td>
+ * <td>#MEDIA_RECORDED_DATE</td>
+ * <td>Get from metadata if exist. if not, same as modified time.</td>
+ * </tr>
+ * <tr>
+ * <td>copyright</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>track_num</td>
+ * <td>#MEDIA_TRACK_NUM</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>bit_rate</td>
+ * <td></td>
+ * <td>Bitrate</td>
+ * </tr>
+ * <tr>
+ * <td>bitpersample</td>
+ * <td></td>
+ * <td>Bit per sample</td>
+ * </tr>
+ * <tr>
+ * <td>sample_rate</td>
+ * <td></td>
+ * <td>Samplerate</td>
+ * </tr>
+ * <tr>
+ * <td>channel</td>
+ * <td></td>
+ * <td>Channel</td>
+ * </tr>
+ * <tr>
+ * <td>duration</td>
+ * <td>#MEDIA_DURATION</td>
+ * <td>Duration</td>
+ * </tr>
+ * <tr>
+ * <td>rating</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>rotation</td>
+ * <td></td>
+ * <td>Video rotation</td>
+ * </tr>
+ * <tr>
+ * <td>width</td>
+ * <td>#MEDIA_WIDTH</td>
+ * <td>Width</td>
+ * </tr>
+ * <tr>
+ * <td>height</td>
+ * <td>#MEDIA_HEIGHT</td>
+ * <td>Height</td>
+ * </tr>
+ * <tr>
+ * <td>longitude</td>
+ * <td>#MEDIA_LONGITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>latitude</td>
+ * <td>#MEDIA_LATITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>altitude</td>
+ * <td>#MEDIA_ALTITUDE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>is_360_content</td>
+ * <td>#MEDIA_360</td>
+ * <td>Whether 360 content or not.</td>
+ * </tr>
+ * </table>
  * \n
- * and others.\n
  *<p>
  * For getting the video handle (#video_meta_h) from the media information (#media_info_h), call the media_info_get_video() function.\n
  * 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
  * call #video_meta_get_duration() function  and so on.\n
- * When the video handle is no longer needed, it should be destroyed by calling #video_meta_destroy() function. 
+ * When the video handle is no longer needed, it should be destroyed by calling #video_meta_destroy() function.
  *
  *
  *
 
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE Media Bookmark
+ * @defgroup CAPI_CONTENT_MEDIA_BOOK_META_MODULE Book Metadata
+ * @brief The Book Metadata API provides functions to get information about ebook files present in the device.
+ *
+ * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
+ *
+ * @section CAPI_CONTENT_MEDIA_BOOK_META_MODULE_HEADER Required Header
+ *   \#include <media_content.h>
+ *
+ * @section CAPI_CONTENT_MEDIA_BOOK_META_MODULE_OVERVIEW Overview
+ * The Book Metadata API provides functions to get information about book files present in the device.
+ * Following information about book content (#book_meta_h) is provided:
+ * <table>
+ * <tr>
+ * <th>Attribute</th>
+ * <th>Filter Keyword</th>
+ * <th>Comments</th>
+ * </tr>
+ * <tr>
+ * <td>subject</td>
+ * <td>#MEDIA_GENRE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>author</td>
+ * <td>#MEDIA_COMPOSER</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>date</td>
+ * <td>#MEDIA_RECORDED_DATE</td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>publisher</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * </table>
+ * \n
+ *<p>
+ * For getting the book handle (#book_meta_h) from the media information (#media_info_h), call the media_info_get_book() function.\n
+ * For getting the information related to book files stored in the device call the respective get functions e.g. to get author of the ebook file
+ * call #book_meta_get_author() function  and so on.\n
+ * When the book handle is no longer needed, it should be destroyed by calling #book_meta_destroy() function.
+ */
+
+/**
+ * @defgroup CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE Face Detection(Deprecated)
+ * @brief The Face Detection API provides functions to detect face information about stored image files.
+ *
+ * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
+ *
+ * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_HEADER Required Header
+ *   \#include <media_content.h>
+ *
+ * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_FEATURE Related Features
+ * This API is related with the following feature: \n
+ * - %http://tizen.org/feature/vision.face_recognition
+ * It is recommended to create applications with regard to features, to increase reliability. \n
+ *
+ * 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
+ *
+ * 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
+ *
+ * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
+ *
+ * @section CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE_OVERVIEW Overview
+ * The Face Detection API provides functions to detect face information associated with image files. \n
+ * Face information detected by mediavision API. To detect faces, you should use media_info_start_face_detection() API. \n
+ *
+ * API allows to:
+ * - start and cancel face detection with image files
+ *
+ *<p>
+ * To start face detection, call the #media_info_start_face_detection() function.\n
+ * To cancel face detection after it's been started, call the #media_info_cancel_face_detection() function.\n
+ *
+ */
+
+/**
+ * @defgroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE Media Bookmark (Deprecated)
  * @brief The Media Bookmark Information API provides functions to manage bookmark information on the media items.
  *
  * @ingroup CAPI_MEDIA_CONTENT_MODULE
  * - insert new bookmarks
  * - delete bookmarks
  *
- * For inserting a bookmark to media item, call media_bookmark_insert_to_db() function and for deleting already set bookmark from a media, call 
+ * For inserting a bookmark to media item, call media_bookmark_insert_to_db() function and for deleting already set bookmark from a media, call
  * #media_bookmark_delete_from_db() function.
  * For retrieving time where the bookmark is placed on the media, call #media_bookmark_get_marked_time() function.
  *
  * Provide functions to get information (e.g. genre, album, year, bitrate etc) about the audio files.</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_IMAGE_MODULE </td>
+ *    <td>@ref CAPI_CONTENT_MEDIA_FACE_DETECTION_MODULE </td>
+ *    <td> Provide functions to detect faces from image. </td>
+ * </tr>
+ * <tr>
+ *    <td>@ref CAPI_CONTENT_MEDIA_IMAGE_META_MODULE </td>
  *    <td> Provides details about image items present in the device.\n
  * Provide functions to get information (e.g. longitude, description, date etc) about the image files.</td>
  * </tr>
  * <tr>
- *    <td>@ref CAPI_CONTENT_MEDIA_VIDEO_META_MODULE </td>
 *    <td> Provides details about video items present in the device.\n
- * Provide functions to get information (e.g. title, duration, date etc) about the video files.</td>
+ *    <td>@ref CAPI_CONTENT_MEDIA_VIDEO_META_MODULE (Deprecated)</td>
+ *    <td> Provides details about video items present in the device.\n
+ * Provide functions to get information (e.g. duration, date etc) about the video files.</td>
  * </tr>
  * </table>
+ * \n
+ * The media information API provides the following information. Regarding the information of each media type (audio, video, or image), please refer to the type-specific metadata page.
+ *
+ * <table>
+ * <tr>
+ * <th>Attribute</th>
+ * <th>Filter Keyword</th>
+ * <th>Comments</th>
+ * </tr>
+ * <tr>
+ * <td>media_id</td>
+ * <td>#MEDIA_ID</td>
+ * <td>UUID</td>
+ * </tr>
+ * <tr>
+ * <td>file_path</td>
+ * <td>#MEDIA_PATH</td>
+ * <td>Full path of the file</td>
+ * </tr>
+ * <tr>
+ * <td>display_name</td>
+ * <td>#MEDIA_DISPLAY_NAME</td>
+ * <td>Base name of the file</td>
+ * </tr>
+ * <tr>
+ * <td>media_type</td>
+ * <td>#MEDIA_TYPE</td>
+ * <td>Type (media_content_type_e)</td>
+ * </tr>
+ * <tr>
+ * <td>mime_type</td>
+ * <td>#MEDIA_MIME_TYPE</td>
+ * <td>MIME type</td>
+ * </tr>
+ * <tr>
+ * <td>size</td>
+ * <td>#MEDIA_SIZE</td>
+ * <td>File size</td>
+ * </tr>
+ * <tr>
+ * <td>added_time</td>
+ * <td>#MEDIA_ADDED_TIME</td>
+ * <td>Added time to Media DB</td>
+ * </tr>
+ * <tr>
+ * <td>modified_time</td>
+ * <td>#MEDIA_MODIFIED_TIME</td>
+ * <td>Time of last modification</td>
+ * </tr>
+ * <tr>
+ * <td>timeline</td>
+ * <td>#MEDIA_TIMELINE</td>
+ * <td>Same as date taken time(for image) or recorded time(for Audio/Video) if exit. if not, same as modified time.</td>
+ * </tr>
+ * <tr>
+ * <td>is_drm</td>
+ * <td>#MEDIA_IS_DRM</td>
+ * <td>Whether DRM content or not</td>
+ * </tr>
+ * <tr>
+ * <td>favorite</td>
+ * <td>#MEDIA_FAVOURITE</td>
+ * <td>User data. Not guarantee independence between applications.</td>
+ * </tr>
+ * <tr>
+ * <td>thumbnail_path</td>
+ * <td>#MEDIA_THUMBNAIL_PATH</td>
+ * <td>Thumbnail path(album art for Audio) if exist.</td>
+ * </tr>
+ * <tr>
+ * <td>description</td>
+ * <td></td>
+ * <td>Get from metadata if exist.</td>
+ * </tr>
+ * </table>
+ * \n
  *
  * Video and Audio information can be further processed with respect to its properties i.e. playlist, album, using their respective APIs.
- * - @ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE 
- * - @ref CAPI_CONTENT_MEDIA_ALBUM_MODULE 
- * - @ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE  
+ * - @ref CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
+ * - @ref CAPI_CONTENT_MEDIA_ALBUM_MODULE
+ * - @ref CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
  *
  *
  * @subsection CAPI_CONTENT_MEDIA_INFO_FOREACH_OPERATIONS Foreach Operations
  *        <td>media_info_foreach_bookmark_from_db()</td>
  *        <td>media_bookmark_cb()</td>
  *        <td>Iterate through bookmark</td>
- *     </tr> 
+ *     </tr>
  * </table></div>
  *
  *
  */
 
 /**
- * @defgroup CAPI_CONTENT_MEDIA_STORAGE_MODULE Media Storage
- * @brief The Media Storage Information API provides functions to manage storage  information on the media items.
- *
- * @ingroup CAPI_MEDIA_CONTENT_MODULE
- *
- * @section CAPI_CONTENT_MEDIA_STORAGE_MODULE_HEADER Required Header
- *   \#include <media_content.h>
- *
- * @section CAPI_CONTENT_MEDIA_STORAGE_MODULE_OVERVIEW Overview
- * A Storage allows you to manage external storage. \n
- * 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
- * So you can get the information from the storage that you want to view.
- *
- */
-
-/**
- * @defgroup CAPI_CONTENT_MEDIA_FACE_MODULE Media Face
+ * @defgroup CAPI_CONTENT_MEDIA_FACE_MODULE Media Face(Deprecated)
  * @brief The Media Face Information API provides functions to manage the face information in the image files.
  *
  * @ingroup CAPI_MEDIA_CONTENT_MODULE
  *
  * @section CAPI_CONTENT_MEDIA_FACE_MODULE_OVERVIEW Overview
  * The Face Information API provides functions to manage the face information such as face id, face coordinates in the image files.\n
- * 
+ *
  *
  */
+
 
 #endif /* __TIZEN_MEDIA_CONTENT_DOC_H__ */