Tizen Native API  4.0
Video Metadata

The Video Metadata API provides functions to get information about video files present in the device.

Required Header

#include <media_content.h>

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:

Attribute Filter Keyword Comments
title MEDIA_TITLE Get from metadata if exist. if not, base name except file extension.
album MEDIA_ALBUM Get from metadata if exist.
artist MEDIA_ARTIST Get from metadata if exist.
album_artist MEDIA_ALBUM_ARTIST Get from metadata if exist.
genre MEDIA_GENRE Get from metadata if exist.
composer MEDIA_COMPOSER Get from metadata if exist.
year MEDIA_YEAR Get from metadata if exist.
recorded_date MEDIA_RECORDED_DATE Get from metadata if exist. if not, same as modified time.
copyright MEDIA_COPYRIGHT Get from metadata if exist.
track_num MEDIA_TRACK_NUM Get from metadata if exist.
bit_rate MEDIA_BITRATE Bitrate
bitpersample MEDIA_BITPERSAMPLE Bit per sample
sample_rate MEDIA_SAMPLERATE Samplerate
channel MEDIA_CHANNEL Channel
duration MEDIA_DURATION Duration
rating MEDIA_RATING Get from metadata if exist.
author MEDIA_AUTHOR Get from metadata if exist.
rotation MEDIA_ORIENTATION Video rotation
width MEDIA_WIDTH Width
height MEDIA_HEIGHT Height
longitude MEDIA_LONGITUDE Get from metadata if exist.
latitude MEDIA_LATITUDE Get from metadata if exist.
altitude MEDIA_ALTITUDE Get from metadata if exist.
is_360_content MEDIA_360 Whether 360 content or not.


For getting the video handle (video_meta_h) from the media information (media_info_h), call the media_info_get_video() function.
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.
When the video handle is no longer needed, it should be destroyed by calling video_meta_destroy() function.

Functions

int video_meta_clone (video_meta_h *dst, video_meta_h src)
 Clones the video metadata.
int video_meta_destroy (video_meta_h video)
 Destroys the video metadata.
int video_meta_get_media_id (video_meta_h video, char **media_id)
 Gets the ID of the media of the given video metadata.
int video_meta_get_album (video_meta_h video, char **album)
 Gets the album of the given video metadata.
int video_meta_get_artist (video_meta_h video, char **artist)
 Gets the artist of the given video metadata.
int video_meta_get_album_artist (video_meta_h video, char **album_artist)
 Gets the video album artist.
int video_meta_get_genre (video_meta_h video, char **genre)
 Gets the genre of the given video metadata.
int video_meta_get_composer (video_meta_h video, char **composer)
 Gets the composer of the given video metadata.
int video_meta_get_year (video_meta_h video, char **year)
 Gets the year of the given video metadata.
int video_meta_get_recorded_date (video_meta_h video, char **recorded_date)
 Gets the recorded date of the video.
int video_meta_get_copyright (video_meta_h video, char **copyright)
 Gets the copyright notice of the given video metadata.
int video_meta_get_track_num (video_meta_h video, char **track_num)
 Gets the track number of the given video metadata.
int video_meta_get_bit_rate (video_meta_h video, int *bit_rate)
 Gets the bitrate of the given video metadata in bitrate per second.
int video_meta_get_duration (video_meta_h video, int *duration)
 Gets the track duration of the given video metadata.
int video_meta_get_width (video_meta_h video, int *width)
 Gets the width of the given video metadata.
int video_meta_get_height (video_meta_h video, int *height)
 Gets the height of the given video metadata.
int video_meta_get_rotation (video_meta_h video, int *rotation)
 Gets the rotation of the given video metadata.
int video_meta_get_played_count (video_meta_h video, int *played_count) TIZEN_DEPRECATED_API
 Gets the played count of the video.
int video_meta_get_played_time (video_meta_h video, time_t *played_time) TIZEN_DEPRECATED_API
 Gets the last played time parameter of the video.
int video_meta_get_played_position (video_meta_h video, int *played_position) TIZEN_DEPRECATED_API
 Gets the played position parameter of the video.
int video_meta_set_played_count (video_meta_h video, int played_count) TIZEN_DEPRECATED_API
 Sets the played count of the video.
int video_meta_set_played_time (video_meta_h video, time_t played_time) TIZEN_DEPRECATED_API
 Sets the last played time of the video.
int video_meta_set_played_position (video_meta_h video, int played_position) TIZEN_DEPRECATED_API
 Sets the played position of the video.
int video_meta_update_to_db (video_meta_h video) TIZEN_DEPRECATED_API
 Updates an video metadata with modified attributes in the media database.

Typedefs

typedef struct video_meta_s * video_meta_h
 The structure type for the Video metadata handle.

Typedef Documentation

typedef struct video_meta_s* video_meta_h

The structure type for the Video metadata handle.

Since :
2.3

Function Documentation

int video_meta_clone ( video_meta_h dst,
video_meta_h  src 
)

Clones the video metadata.

This function copies the video metadata handle from a source to destination.

Since :
2.3
Remarks:
The dst should be released using video_meta_destroy().
Parameters:
[out]dstThe destination handle to the video metadata
[in]srcThe source handle to the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
See also:
video_meta_destroy()

Destroys the video metadata.

This function frees all resources related to the video metadata handle. This handle no longer can be used to perform any operation. A new handle has to be created before the next use.

Since :
2.3
Parameters:
[in]videoThe handle to the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
Precondition:
Get copy of video metadata handle by calling video_meta_clone().
See also:
video_meta_clone()
int video_meta_get_album ( video_meta_h  video,
char **  album 
)

Gets the album of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no album info, the method returns empty string.

Since :
2.3
Remarks:
The album should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]albumThe album of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_album_artist ( video_meta_h  video,
char **  album_artist 
)

Gets the video album artist.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no album artist info, the method returns empty string.

Since :
2.3
Remarks:
The album_artist should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]album_artistThe album artist of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_artist ( video_meta_h  video,
char **  artist 
)

Gets the artist of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no artist info, the method returns empty string.

Since :
2.3
Remarks:
The artist should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]artistThe artist of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_bit_rate ( video_meta_h  video,
int *  bit_rate 
)

Gets the bitrate of the given video metadata in bitrate per second.

Since :
2.3
Parameters:
[in]videoThe handle to the video metadata
[out]bit_rateThe video bit rate in bit per second [bps]
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_composer ( video_meta_h  video,
char **  composer 
)

Gets the composer of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no composer info, the method returns empty string.

Since :
2.3
Remarks:
The composer should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]composerThe composer of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_copyright ( video_meta_h  video,
char **  copyright 
)

Gets the copyright notice of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no copyright info, the method returns empty string.

Since :
2.3
Remarks:
The copyright should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]copyrightThe copyright of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_duration ( video_meta_h  video,
int *  duration 
)

Gets the track duration of the given video metadata.

Since :
2.3
Parameters:
[in]videoThe handle to the video metadata
[out]durationThe video duration in milliseconds
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_genre ( video_meta_h  video,
char **  genre 
)

Gets the genre of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no genre info, the method returns empty string.

Since :
2.3
Remarks:
The genre should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]genreThe genre of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_height ( video_meta_h  video,
int *  height 
)

Gets the height of the given video metadata.

Since :
2.3
Parameters:
[in]videoThe handle to the video metadata
[out]heightThe video height in pixels
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_media_id ( video_meta_h  video,
char **  media_id 
)

Gets the ID of the media of the given video metadata.

Since :
2.3
Remarks:
The media_id should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]media_idThe media ID
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_played_count ( video_meta_h  video,
int *  played_count 
)

Gets the played count of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played count value between applications. It is recommended that the value is managed by the application.
Since :
2.3
Parameters:
[in]videoThe video metadata handle
[out]played_countThe counter of the video played
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_played_position ( video_meta_h  video,
int *  played_position 
)

Gets the played position parameter of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played position value between applications. It is recommended that the value is managed by the application.

This function returns the elapsed playback position parameter of the video as period starting from the beginning of the movie.

Since :
2.3
Parameters:
[in]videoThe video metadata handle
[out]played_positionThe elapsed time of the video
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_played_time ( video_meta_h  video,
time_t *  played_time 
)

Gets the last played time parameter of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played time value between applications. It is recommended that the value is managed by the application.
Since :
2.3
Parameters:
[in]videoThe video metadata handle
[out]played_timeThe last played time of the video
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_recorded_date ( video_meta_h  video,
char **  recorded_date 
)

Gets the recorded date of the video.

The recorded date is got from video file's metadata. Some formats like mp4 use UTC and the rest can be different.
So, please refer to the format specification if needed.

Since :
2.3
Remarks:
The recorded_date should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]recorded_dateThe recorded date of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_rotation ( video_meta_h  video,
int *  rotation 
)

Gets the rotation of the given video metadata.

Since :
4.0
Parameters:
[in]videoThe handle to the video metadata
[out]rotationThe clockwise rotation angle of the video in degrees (can be returned from 0 to less than 360)
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_track_num ( video_meta_h  video,
char **  track_num 
)

Gets the track number of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no track info, the method returns empty string.

Since :
2.3
Remarks:
The track_num should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]track_numThe track number of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_get_width ( video_meta_h  video,
int *  width 
)

Gets the width of the given video metadata.

Since :
2.3
Parameters:
[in]videoThe handle to the video metadata
[out]widthThe video width in pixels
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_get_year ( video_meta_h  video,
char **  year 
)

Gets the year of the given video metadata.

If the value is an empty string, the method returns "Unknown".
Since 3.0, if the media content has no year info, the method returns empty string.

Since :
2.3
Remarks:
The year should be released using free().
Parameters:
[in]videoThe handle to the video metadata
[out]yearThe year of the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
int video_meta_set_played_count ( video_meta_h  video,
int  played_count 
)

Sets the played count of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played count value between applications. It is recommended that the value is managed by the application.
Since :
2.3
Parameters:
[in]videoThe video metadata handle
[in]played_countThe number of played
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_set_played_position ( video_meta_h  video,
int  played_position 
)

Sets the played position of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played position value between applications. It is recommended that the value is managed by the application.
Since :
2.3
Remarks:
It is NOT recommended to use this attribute for your application-specific purpose because this attribute can be overwritten by other applications (even 0).
Parameters:
[in]videoThe video metadata handle
[in]played_positionThe position from the beginning of the video (in milliseconds)
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
int video_meta_set_played_time ( video_meta_h  video,
time_t  played_time 
)

Sets the last played time of the video.

Deprecated:
Deprecated since 2.4.
This function does not guarantee independence of the played time value between applications. It is recommended that the value is managed by the application.
Since :
2.3
Parameters:
[in]videoThe video metadata handle
[in]played_timeThe last played time of the video
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter

Updates an video metadata with modified attributes in the media database.

Deprecated:
Deprecated since 4.0. Related setter functions are deprecated, therefore this function is not needed anymore.

The function updates the given video meta in the media database. The function should be called after any change in video attributes, to be updated to the media database.

Since :
2.3
Privilege Level:
public
Privilege:
http://tizen.org/privilege/content.write
Remarks:
Do not call this function in callback function of foreach function like media_info_foreach_media_from_db().
Parameters:
[in]videoThe handle to the video metadata
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTENT_ERROR_NONESuccessful
MEDIA_CONTENT_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTENT_ERROR_OUT_OF_MEMORYOut of memory
MEDIA_CONTENT_ERROR_INVALID_OPERATIONInvalid operation
MEDIA_CONTENT_ERROR_DB_FAILEDDB Operation failed
MEDIA_CONTENT_ERROR_DB_BUSYDB Operation busy
MEDIA_CONTENT_ERROR_NETWORKNetwork fail
MEDIA_CONTENT_ERROR_PERMISSION_DENIEDPermission denied
Precondition:
This function requires opened connection to content service by media_content_connect().
See also:
media_content_connect()