* @param[in] path The path to the media file
* @param[out] info The handle to the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
*
* @see media_content_connect()
*/
-int media_info_insert_to_db (const char *path, media_info_h *info);
+int media_info_insert_to_db(const char *path, media_info_h *info);
/**
* @brief Inserts media files into the media database, asynchronously.
* @param[in] callback The callback to be invoked when media items inserted completely
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @see media_content_connect()
* @see media_insert_completed_cb()
*/
-int media_info_insert_batch_to_db(const char **path_array,unsigned int array_length, media_insert_completed_cb callback, void *user_data);
+int media_info_insert_batch_to_db(const char **path_array, unsigned int array_length, media_insert_completed_cb callback, void *user_data);
/**
* @brief Inserts the burst shot images into the media database, asynchronously.
* @param[in] callback The callback to be invoked when the images are inserted completely
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @see media_content_connect()
* @see media_insert_burst_shot_completed_cb()
*/
-int media_info_insert_burst_shot_to_db(const char **path_array,unsigned int array_length, media_insert_burst_shot_completed_cb callback, void *user_data);
+int media_info_insert_burst_shot_to_db(const char **path_array, unsigned int array_length, media_insert_burst_shot_completed_cb callback, void *user_data);
/**
* @brief Deletes a media file from the media database.
*
* @param[in] media_id The ID to the media file
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
*
* @param[in] filter The handle to filter
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
*
* @param[in] media The media info handle
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[out] dst The destination handle to the media info
* @param[in] src The source handle to media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] filter The handle to filter
* @param[out] media_count The count of media
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] callback The callback function to be invoked
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] filter The handle to the media filter
* @param[out] tag_count The count of the media tag
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] callback The callback function to be invoked
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] filter The handle to the media filter
* @param[out] bookmark_count The count of the media tag
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] callback The callback function to be invoked
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @see media_content_connect()
* @see media_bookmark_cb()
*/
-int media_info_foreach_bookmark_from_db (const char *media_id, filter_h filter, media_bookmark_cb callback, void *user_data);
+int media_info_foreach_bookmark_from_db(const char *media_id, filter_h filter, media_bookmark_cb callback, void *user_data);
/**
* @brief Gets the number of face for the passed @a media_id from the media database.
* @see media_filter_create()
*
*/
-int media_info_foreach_face_from_db (const char *media_id, filter_h filter, media_face_cb callback, void *user_data);
+int media_info_foreach_face_from_db(const char *media_id, filter_h filter, media_face_cb callback, void *user_data);
/**
* @brief Gets the image metadata for a given media info.
* @param[in] media The media info handle
* @param[out] image A handle to image metadata
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] video A handle to the video meta
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] audio A handle to the audio meta
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] media_id The ID of the media tag
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] path The path of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] name The name of media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] type The type of the media content (#media_content_type_e)
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] mime_type The MIME type of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] size The type of the media content
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] added_time The added time to the DB
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[out] time The date of modification of the file \n
* Get from the file.
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] time The date of the timeline
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] path The path to the thumbnail of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
/**
* @brief Gets the description of media info.
+ * @details If the value is an empty string, the method returns "Unknown". \n
+ * Since 3.0, if the media info has no description, the method returns empty string.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @remarks You must release @a description using free().
* @param[in] media The media info handle
* @param[out] description The description of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] longitude The longitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] latitude The latitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] altitude The altitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] weather The weather of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] rating The rating of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] media The media info handle
- * @param[out] favorite @c true if media info is set as favorite,
+ * @param[out] favorite @c true if media info is set as favorite,
* otherwise @c false if media info is not set as favorite
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] author The author of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] provider The provider of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] content_name The content name of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
/**
* @brief Gets the title of media info.
+ * @details If the value is an empty string, the method returns "Unknown". \n
+ * Since 3.0, if the media info has no title, the method returns empty string.
+ *
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @remarks You must release @a title using free().
* @param[in] media The media info handle
* @param[out] title The title of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] category The category of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] location_tag The location of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] age_rating The age rating of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] keyword The keyword of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] storage_id The storage id of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[out] is_drm @c true if media is DRM media,
* otherwise @c false if media is not DRM media
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[out] storage_type The storage type of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] display_name The display name of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] description The description of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] longitude The longitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] latitude The latitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] altitude The altitude of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] weather The weather of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] rating The rating of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] favorite Set @c true to set the media info as favorite,
* otherwise set @c false to not set the media info as favorite
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] author The author of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] provider The provider of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] content_name The content name of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] category The category of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] location_tag The location of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] age_rating The age rating of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] keyword The keyword of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
/**
* @brief Updates the media info to the media database.
- *
+ *
* @details The function updates the given media info in the media database.
*
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] media The media info handle
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
*
* @param[in] media_id The ID of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] added_time The added time of the media info
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] media The media info handle
* @param[in] dst_path The path of destination
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
* @param[in] callback The callback function to be invoked
* @param[in] user_data The user data to be passed to the callback function
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
*
* @param[in] media The media info handle
*
- * @return @c 0 on success,
+ * @return @c 0 on success,
* otherwise a negative error value
*
* @retval #MEDIA_CONTENT_ERROR_NONE Successful
int media_info_cancel_thumbnail(media_info_h media);
/**
+* @brief Creates the media info handle.
+* @details If the information about the file that is already known, you can use this API to generate empty handler.
+* And you can add the information to the generated handler using media_info_set_XXX() API.
+* After filling the information to the handler, you can insert into database using media_info_insert_to_db_with_data() API.
+* @since_tizen 3.0
+*
+*
+* @privilege %http://tizen.org/privilege/mediastorage \n
+* %http://tizen.org/privilege/externalstorage
+*
+* @remarks If you want to access only internal storage with this API, you should add privilege http://tizen.org/privilege/mediastorage. \n
+* Or if you want to access only external storage with this API, you shold add privilege http://tizen.org/privilege/externalstorage. \n
+* If you can access both storage, you must add all privilege.
+*
+* @param[in] path The path to create the media info handle
+* @param[out] media The media info handle
+*
+* @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_DB_FAILED DB operation failed
+* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
+*
+* @see media_info_insert_to_db_with_data()
+* @see media_info_destroy()
+*/
+int media_info_create(const char *path, media_info_h *media);
+
+/**
+* @brief Inserts media info to database with media info data.
+* @details After filling the information to the generated handler using media_info_create() API, you can insert into database using this API.
+* @since_tizen 3.0
+*
+* @remarks You must create media handle using media_info_create(),
+* and release @a info using media_info_destroy().
+*
+* @privlevel public
+* @privilege %http://tizen.org/privilege/content.write
+*
+* @param[in] media The media info handle to be inserted
+*
+* @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_DB_FAILED DB operation failed
+* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
+*
+* @see media_info_create()
+*/
+int media_info_insert_to_db_with_data(media_info_h media);
+
+/**
+* @brief Sets the title of media info handle.
+* @since_tizen 3.0
+*
+* @param[in] media The media info handle
+* @param[in] title The title of media info handle
+*
+* @return @c 0 on success,
+* otherwise a negative error value
+*
+* @retval #MEDIA_CONTENT_ERROR_NONE Successful
+* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+*
+* @post media_info_insert_to_db_with_data()
+*/
+int media_info_set_title(media_info_h media, const char *title);
+
+/**
+* @brief Sets the album of media info handle.
+* @since_tizen 3.0
+*
+* @param[in] media The media info handle
+* @param[in] album The album of media info handle
+*
+* @return @c 0 on success,
+* otherwise a negative error value
+*
+* @retval #MEDIA_CONTENT_ERROR_NONE Successful
+* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+*
+* @post media_info_insert_to_db_with_data()
+*/
+int media_info_set_album(media_info_h media, const char *album);
+
+/**
+* @brief Sets the artist of media info handle.
+* @since_tizen 3.0
+*
+* @param[in] media The media info handle
+* @param[in] artist The artist of media info handle
+*
+* @return @c 0 on success,
+* otherwise a negative error value
+*
+* @retval #MEDIA_CONTENT_ERROR_NONE Successful
+* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+*
+* @post media_info_insert_to_db_with_data()
+*/
+int media_info_set_artist(media_info_h media, const char *artist);
+
+/**
+* @brief Sets the genre of media info handle.
+* @since_tizen 3.0
+*
+* @param[in] media The media info handle
+* @param[in] genre The genre of media info handle
+*
+* @return @c 0 on success,
+* otherwise a negative error value
+*
+* @retval #MEDIA_CONTENT_ERROR_NONE Successful
+* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+*
+* @post media_info_insert_to_db_with_data()
+*/
+int media_info_set_genre(media_info_h media, const char *genre);
+
+/**
+* @brief Sets the recorded date of media info handle.
+* @since_tizen 3.0
+*
+* @param[in] media The media info handle
+* @param[in] recorded_date The recorded date of media info handle
+*
+* @return @c 0 on success,
+* otherwise a negative error value
+*
+* @retval #MEDIA_CONTENT_ERROR_NONE Successful
+* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+*
+* @post media_info_insert_to_db_with_data()
+*/
+int media_info_set_recorded_date(media_info_h media, const char *recorded_date);
+
+
+/**
* @}
*/