Playlist plugins (PLPs) are libmmplaylist components that manage playlists of specific formats. PLPs abstract the parsing of playlists by implementing a standard set of functions that higher layers of libmmplaylist can call to navigate and read information from playlists.

When the playlist management layer forwards a user request to open a session on a playlist, the selected plugin invokes the appropriate lower-level service to access and begin parsing the playlist. Depending on the playlist format, this service could be an XML reader, a database engine, or a media streamer. The plugin stores the parser state in an internal structure. This way, the plugin can resume reading the playlist from the same location in the file or database result set that it read up to in the last playlist operation. Common operations such as retrieving the next playlist entry (track) can be implemented more efficiently because the plugin doesn't have to read through the entire playlist each time the track changes.

All PLPs implement functions to:

Some PLPs also implement functions to: