Tizen Native API  5.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_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 operations. 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_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

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()