Specifications

Windows Embedded Automotive 7 Deep Dive: Phone Core and Media Core 69
to call a parse function that takes the file path as an input parameter. If both parse functions
fail, Media Core tries the next parser of the file extension, if there is any.
Each metadata file parser must implement at least one of IMediacoreMetadataBufferParser
and IMediacoreMetadataFileParser. These interfaces are defined in
public\automedia\oak\inc\mediacoremetadataparser.h.
Playlist Parser
The playlist parser interprets playlist format. A playlist parser must create a special value in its
registry entry called Playlist. If a registry entry for a file extension contains a value by the name
of Playlist, Media Core treats this file extension as a playlist extension. When the MSD plug-in
encounters a file that it does not recognize, it checks with the parser manager to see if a parser
is registered for the file. If a parser is registered, then it is invoked to parse the file and feed the
file content to Media Core so that the file can be indexed. If a parser is not found, then the file is
skipped.
Each playlist parser is a COM object, and the registry entry for the file extension contains the
COM object’s CLSID so that Media Core can instantiate it.
The custom playlist parser must implement the IPlaylistParser interface, which is defined in
public\automedia\oak\inc\iplaylistparser.h and contains functions including OpenPlaylist,
GetPlaylistTitle, GetFirstFileinPlaylist, GetNextFileinPlaylist, and ClosePlaylistHandle, that are
called by Media Core so that Media Core can read the playlist through the custom parser.
Album Art
Windows Embedded Automotive 7 supports iPod album art for the now-playing item only, due
to a limitation of the iPod device. On MTP, mass storage, and Zune devices, Media Core supports
album art on all now-playing and indexed items if indexing is complete.
Metadata Plug-in API
The metadata plug-in API supports metadata functionality during both CD ripping and playback.
CDTEXT is supported out of the box, and developers can extend the API to include a built-in or
service-based metadata database.
The metadata provider is a COM object that can be registered with Media Core. When track or
CD information is available Media Core calls the provider, which can look up data (preferably
asynchronously). The provider can then call back into Media Core using the local source edit
APIs to update the metadata.
The following is the CD audio flow:
1. An audio CD is inserted and indexed, although the initial index is sparse.
2. At the end of indexing, the CD audio source class requests the appropriately registered
metadata provider to resolve the CD.
3. The WM_INDEXING_DONE message is sent to the application. Meanwhile, the
metadata provider retrieves the metadata and uses Media Core APIs to update the
metadata for those tracks in the index.