Difference between revisions of "Developer:Davaar:AvtService"
(Created page with '= Architecture Overview = The AV Transport provides basic access to playing of audio tracks.<br>Please refer to the UPnP forum AV Transport specification [http://www.upnp.o…') |
(→PLAYING) |
||
Line 19: | Line 19: | ||
=== PLAYING === | === PLAYING === | ||
− | Entered when a track is | + | Entered when a track is playing. |
=== PAUSED_PLAY === | === PAUSED_PLAY === |
Revision as of 12:27, 23 November 2010
Contents
Architecture Overview
The AV Transport provides basic access to playing of audio tracks.
Please refer to the UPnP forum AV Transport specification AV Transport v2 for background information.
State Transitions
All state transitions are supported as defined in the specification with the additional valid transition from stopped to paused. Please refer to the state diagram in section 2.5.1 of the AV Transport specification.
Supported States
NO_MEDIA_PRESENT
This is the start-up state only. After a SetAVTransportURI() action has been issued this state is not re-entered.
STOPPED
Entered when playing of a track has completed. Used to request the next track from the control point.
PLAYING
Entered when a track is playing.
PAUSED_PLAY
Entered when a pause action is issued.
TRANSITIONING
Momentary state when data is being buffered prior to playing or during seeking.
Supported actions
The following actions are supported as defined in the specification with the noted exceptions:
SetAVTransportURI()
GetMediaInfo()
GetMediaInfo_Ext()
GetTransportInfo()
GetPositionInfo()
GetDeviceCapabilities()
GetTransportSettings()
Stop()
Play()
- Play from stopped - plays track from start
- Play from paused - resumes play from paused position
- Play from playing - plays track from start
Pause()
Seek()
- Seek to Track 0 is equivalent to Next()
- Seek to Track 1 replays the current track
- Seek to Track other than 0 or 1 is illegal
Next()/Previous()
- Next or Previous actions terminate playing of the current track and move to the stopped state - the general principle is that this causes the control point to recognise the stopped state as the end of track and send the next track. These functions rely upon the control point knowing which track to set next, i.e. the previous or next track in the playlist. We recommend using SetAVTransportURI() followed by Play() to implement the skip track functions.
Implementation Specifics
- The DS source will automatically change to the AV Transport source on execution of any AV Transport action.
- For gapless playback, the DS Playlist service is recommended. The SetNextAVTransportURI() action is designed to allow gapless playback, however it has many limitations, as described in section 3.4/7.2 of Designing a UPnP AV MediaRenderer from Intel. Due to these limitations it is not usually implemented by the control point.
API Reference
UPnP AV Transport Service Description (XML)