1.3 Overview

The Device Media Control Protocol can be viewed as a set of services implemented and offered between the extender device (client) and a computer (host) so that the computer can remotely control a media session on an extender device. The computer sends media control operation requests, such as OpenMedia and CloseMedia, to the client to control video playback. The client in return sends asynchronous events, such as end of file, to the computer. This protocol uses the Device Services Lightweight Remoting Protocol specified in [MS-DSLR] to enable the remoting of services between the two devices over a reliable point-to-point channel.

The following block diagram shows the relationship between the host device (that is, the computer) and the client device (the extender device):

Device Media Control Protocol block diagram

Figure 1: Device Media Control Protocol block diagram

The Media Controller service is implemented and offered by the extender device (acting in this case as the Device Services Lightweight Remoting (DSLR) stub/server while the computer acts as the DSLR proxy/client, in DSLR nomenclatures. For a more detailed definition of these roles, see [MS-DSLR]). The Media Controller service contains the following functions:

OpenMedia: Opens the streaming media session on an extender device.

CloseMedia: Closes the streaming media session.

Start: Requests the extender device to start streaming media samples and playing them.

Pause: Pauses the streaming media session.

Stop: Stops the streaming media session.

GetDuration: Gets the duration of media.

GetPosition: Gets the current position of media.

RegisterMediaEventCallback: Creates and connects the Media Event Callback Service between the extender device and the computer to get events from the extender device to the host.

UnRegisterMediaEventCallback: Disconnects and releases the current Media Event Callback Service between the extender device and the computer.

The Media Event Callback service is implemented and offered by the computer (acting in this case as the stub while the extender device acts as the proxy). This service contains following function:

OnMediaEvent: Sends events from an extender device to a computer.