Specifications
Windows Embedded Automotive 7 Deep Dive: Phone Core and Media Core 68
Custom Media Device Class
The custom media device class in Windows Embedded Automotive gives additional sources the
ability to plug into Media Core by providing standard interfaces to expose indexing and playback
to Media Core. Additional sources that take advantage of this capability might include DLNA-
certified devices and devices based on future or proprietary protocols.
This feature provides the ability to developers to create optional extensions for applications. For
example, developers could create a content parser to extract metadata or could enable playlist
parsing to interpret playlist formats. Developers could also create a service that interacts
directly with the device, similar to the MTP or iPod service Media Core provides.
The interfaces for a custom media device class are defined in
%WINCEROOT%\public\automedia\sdk\inc\mediacustomsource.h.
Each custom media device class is registered with Media Core in the registry, as shown in the
following example: [HKEY_CLASSES_ROOT\Mediacore\Devices\<NameOfDevice>]where
<NameOfDevice> is the device name. The default value for the key is the CLSID of the COM
object.
Media Core implements a custom, media-device class as a COM object. In addition, you must
implement the plug-in by using the following interfaces:
• IDevice
• IDeviceBrowse
• IDeviceHost
• IDeviceIndexer
• IDevicePlugin
• IDevicePlayback
Custom File and Playlist Parser
The custom file and playlist parser brings additional indexing and browsing functionality to the
mass storage media plug-in by extending the existing file type support. It is applicable to the
mass storage class only.
File Parser
The file parser extracts metadata from image files and maps that data to standard Media Core
metadata fields. The file parser could set one of those fields, such as Genre, to a standard string,
such as “X-JPEG” or “X-GIF.” The media player application could then easily filter these genre
fields when working with media, and use the genre fields when in picture viewer mode.
Each metadata parser is a COM object whose associated file extension and CLSID must be
registered so Media Core knows how to create it. On startup, Media Core reads the registry and
generates a list of known file extensions. When a file is read by the MSD or DMSD source plug-
in, Media Core creates a metadata parser on demand (at most, once per device insertion) and
lets the parser parse the file.
To support the DMSD source plug-in, Media Core first tries to call a parse function that takes file
data as the input parameter. If the parser does not support such an API, Media Core then tries










