UPnP Services Used:
Audio Video Transport Service (AVTS)
This service allows control point to manage audio renderer streams, those are performed directly using the audio NAS as source. The model offered is a generic command interface and provides a wide range of playback devices, but in this case only a minimum implementation is needed (user interface and smart speaker "do the remainings"). Here there is the list of the AVTS actions that control point, and also media renderer, implements*:
Action Name | Parameters / Return Type |
---|---|
SetAVTransportURI | put for the current stream (InstanceID) an URI string with, optionally, some metadata as third parameter |
GetTransportInfo | for the actual stream, obtain transport state, status and play speed |
GetPositionInfo | return strings with current URI and stream position infos (time, counter), both in absolute and relative ways |
Stop | send the InstanceID to be stopped |
Play | send the InstanceID to be played at the current transport URI and with current position/speed |
Pause** | send the InstanceID to be put in pause state |
Seek | go to the specified InstanceID position (target) in the given unit |
[*] There are other 5 actions that are 'required' for an UPnP certified MediaRenderer:1, but 3 are simply some 'getters' (GetMediaInfo, GetDeviceCapabilities, GetTransportSettings) and 2 are commands that are not used by the interface (Next, Previous) because the last 2 are implemented via UI
[**] 'Pause' action could be optionally implemented, according UPnP standards, but in this case the choice is to provide this action anyway both in renderer and in control point