home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
MediaPortal 1 Plugins
Gapless playback for UPnP Renderer (and other improvements)
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Marcus Venturi" data-source="post: 1133844" data-attributes="member: 121570"><p>A few details about the implementation of the UPnP gapless playback.</p><p></p><p>Normally in UPnP the controller - is responsible for controlling how the renderer plays the files.</p><p></p><p>The controller calls the UPnP action "SetAVTransportURI" to tell the renderer which song to play and then starts playback with the "Play" action. The renderer just takes the song from the given URI and plays it.</p><p></p><p>When the song is finished the controller calls the action "SetAVTransportURI" again and starts playback again with the "Play" action.</p><p></p><p>This concept makes gapless playback impossible.</p><p></p><p>But there is also an UPnP action called "SetNextAVTransportURI".</p><p></p><p>This tells the renderer which song to play after the current song has ended.</p><p>In this case the renderer is responsible for playing the next song and not the controller.</p><p></p><p>Now the client has only to call the action "SetAVTransportURI" for the first song and then the action "Play".</p><p>Before a song ends the client calls the action "SetNextAVTransportURI" to keep the renderer playing.</p><p></p><p>This allows the renderer to play gapless (if he is capable) between the current and the next song, that's all the magic.</p><p></p><p>And this is the reason why most controller / renderer combinations are not able to play music gapless, because either the controller or the renderer does not implement the "SetNextAVTransportURI" action.</p><p></p><p>My ANDROID client checks if the renderer supports the "SetNextAVTransportURI" action. If yes, it is used to allow gapless playback.</p></blockquote><p></p>
[QUOTE="Marcus Venturi, post: 1133844, member: 121570"] A few details about the implementation of the UPnP gapless playback. Normally in UPnP the controller - is responsible for controlling how the renderer plays the files. The controller calls the UPnP action "SetAVTransportURI" to tell the renderer which song to play and then starts playback with the "Play" action. The renderer just takes the song from the given URI and plays it. When the song is finished the controller calls the action "SetAVTransportURI" again and starts playback again with the "Play" action. This concept makes gapless playback impossible. But there is also an UPnP action called "SetNextAVTransportURI". This tells the renderer which song to play after the current song has ended. In this case the renderer is responsible for playing the next song and not the controller. Now the client has only to call the action "SetAVTransportURI" for the first song and then the action "Play". Before a song ends the client calls the action "SetNextAVTransportURI" to keep the renderer playing. This allows the renderer to play gapless (if he is capable) between the current and the next song, that's all the magic. And this is the reason why most controller / renderer combinations are not able to play music gapless, because either the controller or the renderer does not implement the "SetNextAVTransportURI" action. My ANDROID client checks if the renderer supports the "SetNextAVTransportURI" action. If yes, it is used to allow gapless playback. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
MediaPortal 1 Plugins
Gapless playback for UPnP Renderer (and other improvements)
Contact us
RSS
Top
Bottom