3.1.5.1 OpenMedia

When the extender device gets this event, it does the following:

  1. Check the input URL. If the file does not exist, send error E_FILE_NOT_FOUND.

  2. If the extender device has not closed the previous media item, call the CloseMedia() function internally to close it.

  3. Establish a connection to the media server by doing a TCP or UDP connection. If the extender device takes more than the number of seconds specified in the timeout parameter to establish a connection, then send E_RTSP_NO_CONNECTION error.

  4. If the extender device uses RTSP streaming, send an RTSP DESCRIBE command to the server. And then send RTSP SETUP to select streams.

  5. Check that the media server supports the media type of a given media. If it doesn't support the media type, send error E_UNSUPPORTED_STREAM_TYPE.

  6. Create audio and video decoders of the media type for a given media. If the extender device does not have decoders for that media type, send error E_MDM_STREAM_TYPE_NOT_SUPPORTED. If the extender device needs new decoders to play the content, send error E_FIRMWARE_UPDATE_REQUIRED or E_H264_CODECPACK_REQUIRED, depending on the media type.

  7. Initialize the downstream rendering pipeline.

If the extender device succeeds in doing all steps, send S_OK to the host.