Multimedia Playlist API

The Multimedia Playlist API exposes the constants, data types (including enumerations), and functions that 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 mmplaylist_props_get() function allows the client 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 to then optimize the user experience by avoiding slow operations.

When it's finished using a playlist, 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.