Tizen Native API  4.0
Media Controller Playlist

The Media Controller Playlist API provides functions for playlist of the media.

Required Header

#include <media_controller_playlist.h>

Overview

The Media Controller Playlist API allows you to get playlist name and its items (mc_playlist_get_name() and mc_playlist_foreach_item()).
You can copy the playlist by using mc_playlist_clone(). And if you don't use handle anymore, you have to destroy it(mc_playlist_destroy()).

Functions

int mc_playlist_get_name (mc_playlist_h playlist, char **playlist_name)
 Gets the name of the playlist.
int mc_playlist_foreach_item (mc_playlist_h playlist, mc_playlist_item_cb callback, void *user_data)
 Iterates through media items in a playlist.
int mc_playlist_clone (mc_playlist_h src, mc_playlist_h *dst)
 Clones a media controller playlist handle.
int mc_playlist_destroy (mc_playlist_h playlist)
 Destroys a media controller playlist handle.

Typedefs

typedef bool(* mc_playlist_cb )(mc_playlist_h playlist, void *user_data)
 Called for every playlist.
typedef bool(* mc_playlist_item_cb )(const char *index, mc_metadata_h metadata, void *user_data)
 Called for every playlist item in the playlist.

Typedef Documentation

typedef bool(* mc_playlist_cb)(mc_playlist_h playlist, void *user_data)

Called for every playlist.

Since :
4.0
Remarks:
The playlist should not be released by the application.
To use the playlist outside this function, copy the handle with the mc_playlist_clone() function.
The callback is called in the main loop.
Parameters:
[in]playlistThe handle to the media controller playlist.
[in]user_dataThe user data passed from the foreach function
Returns:
true to continue with the next iteration of the loop, otherwise false to break out of the loop
Precondition:
mc_server_foreach_playlist() and mc_client_foreach_server_playlist() will invoke this function.
See also:
mc_playlist_clone()
mc_server_foreach_playlist()
mc_client_foreach_server_playlist()
mc_playlist_get_name()
mc_playlist_foreach_item()
typedef bool(* mc_playlist_item_cb)(const char *index, mc_metadata_h metadata, void *user_data)

Called for every playlist item in the playlist.

Since :
4.0
Remarks:
The index and metadata should not be released by the application.
The index can be used only in the callback. To use outside, make a copy. And metadata also can be used only in the callback. To use outside, make a copy with the mc_metadata_clone() function.
The callback is called in the main loop.
Parameters:
[in]indexThe ID of the playlist member.
[in]metadataThe handle to metadata of the playlist item.
[in]user_dataThe user data passed from the foreach function
Returns:
true to continue with the next iteration of the loop, otherwise false to break out of the loop
Precondition:
mc_playlist_foreach_item() will invoke this function.
See also:
mc_playlist_foreach_item()
mc_metadata_clone()
mc_metadata_get()

Function Documentation

int mc_playlist_clone ( mc_playlist_h  src,
mc_playlist_h dst 
)

Clones a media controller playlist handle.

This function copies the media controller playlist handle from a source to destination. The mc_playlist_h is created internally and available through media controller playlist functions.

Since :
4.0
Remarks:
The dst should be released using mc_playlist_destroy().
Parameters:
[in]srcThe source handle to the media controller playlist
[out]dstThe destination handle to the media controller playlist
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTROLLER_ERROR_NONESuccessful
MEDIA_CONTROLLER_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORYOut of memory
See also:
mc_playlist_destroy()

Destroys a media controller playlist handle.

This function frees all resources related to the media controller playlist handle. This handle no longer can be used to perform any operations. A new handle has to be created before next usage.

Since :
4.0
Parameters:
[in]playlistThe handle to the media controller playlist
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTROLLER_ERROR_NONESuccessful
MEDIA_CONTROLLER_ERROR_INVALID_PARAMETERInvalid parameter
See also:
mc_playlist_clone()
int mc_playlist_foreach_item ( mc_playlist_h  playlist,
mc_playlist_item_cb  callback,
void *  user_data 
)

Iterates through media items in a playlist.

This function gets all items in a playlist. The callback function will be invoked for every retrieved playlist item. If there are no items on the playlist, the callback will not be invoked.

Since :
4.0
Parameters:
[in]playlistThe handle to the media controller playlist
[in]callbackThe callback function to be invoked
[in]user_dataThe user data to be passed to the callback function
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTROLLER_ERROR_NONESuccessful
MEDIA_CONTROLLER_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTROLLER_ERROR_INVALID_OPERATIONInvalid operation
MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORYOut of memory
Precondition:
You can get playlist handle using mc_server_foreach_playlist() if you are media controller server, or mc_client_foreach_server_playlist() if you are media controller client.
Postcondition:
This function invokes mc_playlist_item_cb().
See also:
mc_server_foreach_playlist()
mc_client_foreach_server_playlist()
mc_playlist_item_cb()
mc_playlist_destroy()
int mc_playlist_get_name ( mc_playlist_h  playlist,
char **  playlist_name 
)

Gets the name of the playlist.

Since :
4.0
Remarks:
The playlist_name should be released using free().
Parameters:
[in]playlistThe handle to the media controller playlist
[out]playlist_nameThe name of the playlist
Returns:
0 on success, otherwise a negative error value
Return values:
MEDIA_CONTROLLER_ERROR_NONESuccessful
MEDIA_CONTROLLER_ERROR_INVALID_PARAMETERInvalid parameter
MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORYOut of memory
Precondition:
You can get playlist handle using mc_server_foreach_playlist() if you are media controller server, or mc_client_foreach_server_playlist() if you are media controller client.
See also:
mc_server_foreach_playlist()
mc_client_foreach_server_playlist()
mc_playlist_destroy()