UPnP functionality plans

Casper van Donderen casper.vandonderen at gmail.com
Tue Sep 15 16:44:06 CEST 2009


Firstly: I know about UPnP, did a bit with the stack while at Philips.

But then: yet another collection that will not be supported on
Windows, or are you extending it to also use the MS API if needed? I
can only do so much, and not developing myself I do not really care
about ATM, but still, it would be nice if you guys could at least look
into stuff if it will be possible at all on Win/Mac (UPnP on Mac is
not open, is it?)

I think there is 1 semi-working collection on Win ATM (mysql), but not
much more...

Casper

On Tue, Sep 15, 2009 at 4:10 PM, Bart Cerneels <bart.cerneels at kde.org> wrote:
> Dear Amarok dev's
>
> My personal hell month of October will start with a UPnP dev sprint
> with the Cohernce developers in Barcelona. I wanted to take the
> opportunity to list explain some of the features that are technically
> possible with UPnP:
>
> If you are not familiar with UPnP and it's
> 1) UPnP Collection - playing tracks of a remote UPnP server
> I'll be working on a UPnP KIO slave and using that in Amarok. Normal
> playback is relatively straightforward (just http:// urls). Making it
> play nice with metadata, album art, etc is a bit more work. Then it's
> also possible to add metadata and upload new tracks to a UPnP server,
> but I don't know of any server that fully supports this yet.
>
> 2) UPnP export - exporting our local collection on the network
> The easiest way to do is talk to Coherence via DBus. GUPnP also has an
> export function listening to a specific DBus interface.
> This can also be implemented using scripting.
>
> 3) UPnP remote control - Amarok controlled by a remote Digital Media Controller
> Can be done directly using a script or indirectly using the dbus API.
>
> 4) Remote UPnP playback - Controlling Digital Media Renderer on the network
> There are 2 possible implementations I can think of now: using an
> alternative enginecontroller and using a PlaylistProvider
>
> a) Aternative enginecontroller:
>  Or a plugin for enginecontroller. This would play the tracks in The
> Playlist on the remote device using UPnP commands.
> 2 problems here:
> - the enginecontroller is not plugin based.
> - There is only one playlist, so only one playback going on at one time.
> I also am pretty sure this approach will fail for many DMR's because
> they don't all send (reliable) playback notifications. So there will
> be no way of knowing when to start the next track.
>
> b) UPnP PlaylistProvider:
> When a DMR is detected on the network one of these will be created and
> registered with PlaylistManager. By saving the current playlist to
> this provider it will start playing on the device. It's possible to
> make it a bit more intuitive by creating a new Meta::Playlist category
> that is handled differently than the saved playlists. Then we can add
> an action in a menu or toolbar "Play on...".
> I'm personally in favor of this method for several reasons:
> - Using existing infrastructure (Meta::Playlist/Provider/Manager)
> - Very well separated from the rest of amarok. Except for the "Play
> on..." button everything will be implemented in
> "UPnPPlaylistProvider".
> - Can cooperate with playlist synchronization (to be implemented) and
> dynamic playlists (if it's made compatible with Meta::Playlist). This
> will make it possible to play a dynamic playlist on a UPnP renderer.
> It's also possible to use The Playlist as the only one providing we
> make the trackslist (with updates) available as a Meta::Playlist.
>
> The PlaylistProvider can "filter" tracks that are not playable on the
> DMR. This can be because of filetype support or because there is no
> way to give access to the tracks. For local tracks the embedded
> UPnPServer can be used and for  UPnPCollections it can just use the
> uidUrl. It's also possible to add http://, rtsp://, etc.
>
> We should discuss how far we want amarok to reach now we have the code
> that makes some of these very advanced features possible, even easy.
> In general, not specific to UPnP.
>
> In any case. I've been planning an open source DMR control software
> for a while now. And since I now have 2 Philips Steamium NP2500 I'm
> expected to by Wendy :).
> This doesn't have to be implemented in Amarok though, it would just be
> a nice feature that many people will enjoy.
> Our competition already does: Windows Media Player 10 and 11 have
> integrated DMR control and it's one of the many features in windows 7.
> We can do a lot better.
>
> Bart
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel
>


More information about the Amarok-devel mailing list