* %http://tizen.org/privilege/externalstorage
*
* @remarks The @a info should be released using media_info_destroy(). \n
- * You must add the privilege http://tizen.org/privilege/content.write. You need to add more privileges depending on your choice of contents path. \n
- * If you want to access only internal storage by using this function, you should add privilege http://tizen.org/privilege/mediastorage. \n
- * If you want to access only external storage by using this function, you should add privilege http://tizen.org/privilege/externalstorage. \n
+ * You must add the privilege %http://tizen.org/privilege/content.write. You need to add more privileges depending on your choice of contents path. \n
+ * If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ * If you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
* If you want to access storages of both types, you must add all privileges. \n
* Since 4.0, this function does not accept symbolic links. \n
* @remarks Since 4.0, this function is related to the following feature:\n
* %http://tizen.org/privilege/mediastorage \n
* %http://tizen.org/privilege/externalstorage
*
- * @remarks You must add privilege http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
- * If you want to access only internal storage by using this function, you should add privilege http://tizen.org/privilege/mediastorage. \n
- * Or if you want to access only external storage by using this function, you should add privilege http://tizen.org/privilege/externalstorage. \n
+ * @remarks You must add privilege %http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
+ * If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ * Or if you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
* If you can access both storage, you must add all privilege. \n
* Since 4.0, This function does not allow a symbolic link. \n
* @remarks Since 4.0, this function is related to the following feature:\n
int media_info_get_audio(media_info_h media, audio_meta_h *audio);
/**
+ * @brief Gets a book metadata handle for a given media info.
+ * @details This function returns a book metadata handle retrieved from the media info handle. \n
+ * The title and description information of the book can be obtained from @a media.
+ *
+ * @since_tizen 6.5
+ *
+ * @remarks The @a book should be released using book_meta_destroy().
+ *
+ * @param[in] media The handle to the media info
+ * @param[out] book The handle to the book metadata
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #MEDIA_CONTENT_ERROR_NONE Successful
+ * @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @see media_info_get_title()
+ * @see media_info_get_description()
+ * @see book_meta_destroy()
+ */
+int media_info_get_book(media_info_h media, book_meta_h *book);
+
+/**
* @brief Gets the media ID.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks The @a media_id should be released using free().
int media_info_get_media_from_db(const char *media_id, media_info_h *media);
/**
+ * @brief Gets the media info from the media database using path.
+ *
+ * @details This function creates a new media handle filled with information from the database by the given @a media_path.
+ *
+ * @since_tizen 6.5
+ *
+ * @remarks The @a media should be released using media_info_destroy().\n
+ * If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ * If you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
+ * If you want to access storages of both types, you must add all privileges. \n
+ *
+ * @param[in] media_path The media path
+ * @param[out] media The handle to the media info
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #MEDIA_CONTENT_ERROR_NONE Successful
+ * @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MEDIA_CONTENT_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MEDIA_CONTENT_ERROR_DB_FAILED DB Operation failed
+ * @retval #MEDIA_CONTENT_ERROR_DB_BUSY DB Operation busy
+ * @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
+ *
+ * @pre This function requires opened connection to content service by media_content_connect().
+ *
+ * @see media_content_connect()
+ * @see media_info_destroy()
+ */
+int media_info_get_media_from_db_by_path(const char *media_path, media_info_h *media);
+
+/**
* @brief Sets the favorite of media info.
* @details This function can mark favorite of the media. If set to @c true, this function record the time of the change moment. \n
* So, If you use it in order parameter, you can sort the order of the time was a favorite. \n
* %http://tizen.org/privilege/mediastorage \n
* %http://tizen.org/privilege/externalstorage
*
- * @remarks You must add privilege http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
- * If you want to access only internal storage by using this function, you should add privilege http://tizen.org/privilege/mediastorage. \n
- * Or if you want to access only external storage by using this function, you should add privilege http://tizen.org/privilege/externalstorage. \n
+ * @remarks You must add privilege %http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
+ * If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ * Or if you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
* If you can access both storage, you should add all privilege. \n
* Since 4.0, this function does not allow symbolic links. \n
* This function does not support USB storage before 5.0. Since 5.0, USB storage is supported. \n
* @privlevel public
* @privilege %http://tizen.org/privilege/content.write
*
- * @remarks If you request cancel for the already thumbnail created media, this function return MEDIA_CONTENT_ERROR_INVALID_OPERATION
+ * @remarks If you request cancel for the already thumbnail created media, this function returns #MEDIA_CONTENT_ERROR_INVALID_OPERATION
*
* @param[in] media The handle to the media info
*
* @privlevel public
* @privilege %http://tizen.org/privilege/content.write
*
- * @remarks http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. \n
- * http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage. \n
+ * @remarks %http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. \n
+ * %http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage. \n
* Items in external storage are not supported, with the exception of MMC.
*
* @param[in] media The handle to the media info
* %http://tizen.org/privilege/mediastorage \n
* %http://tizen.org/privilege/externalstorage
*
- * @remarks If you want to destroy the media handle before callback invoked, you must cancel the face detection request by using media_info_cancel_face_detection(). \n
- * If face detection fails, the face_count argument in media_face_detection_completed_cb() will be set to 0. \n
- * Media items in external storage are not supported, with the exception of MMC items. \n
- * Since 5.5, if the format is unsupported, this function returns an error and callback will not be invoked.
+ * @remarks If you want to destroy the media handle before the callback invoked, you must cancel the face detection request using media_info_cancel_face_detection(). \n
+ * If the face detection fails, the @a face_count argument in media_face_detection_completed_cb() will be set to 0. \n
+ * The face detection of media items in external storage except MMC is not supported. \n
+ * Since 5.5, if the format of media data is unsupported, this function returns an error and the callback will not be invoked.
*
* @param[in] media The handle to the media info
* @param[in] callback The callback function to be invoked when detection is completed
* @privlevel public
* @privilege %http://tizen.org/privilege/content.write
*
- * @remarks If face detection is already done when you request the cancellation, this function return MEDIA_CONTENT_ERROR_INVALID_OPERATION
+ * @remarks If face detection is already done when you request the cancellation, this function returns #MEDIA_CONTENT_ERROR_INVALID_OPERATION
*
* @param[in] media The handle to the media info
*