Multimedia Playlist API

The Multimedia Playlist API exposes the constants, data types (including enumerations), and functions that your client applications can use to open playlist sessions, seek to specific track positions, and retrieve playlist metadata.

Before it can access any playlists, the client must first initialize the libmmplaylist library by calling mmplaylist_init(), which loads the playlist plugins (PLPs) listed in the configuration file.

The client can then open sessions on playlists by calling mmplaylist_open(). In each mmplaylist_open() call, the client can specify the character encoding and validation to perform on each entry that's retrieved by an mmplaylist_entry_next_get() call.

Media applications can read playlist information for many reasons. For example, an application could extract the track URLs of a playlist's entries and pass these URLs to mm-renderer to play the tracks one by one. Or, it could retrieve the number of entries in all the playlists on a mediastore and display this information to the user as a type of playlist inventory.

The client can call mmplaylist_props_get() to learn which operations (e.g., seeking to a new position, getting the number of playlist entries) have fast implementations in the current session and then optimize the user experience by avoiding expensive operations.

When it's finished using a playlist for a specific reason, the client can close the corresponding playlist session by calling mmplaylist_close(). When it's finished using libmmplaylist altogether (e.g., during shutdown), the client must call mmplaylist_terminate() to unload the PLPs used by the library.