thibauts / node-upnp-mediarenderer-client

An UPnP/DLNA MediaRenderer client
MIT License
128 stars 30 forks source link

playlist #17

Closed jaruba closed 8 years ago

jaruba commented 9 years ago

Would it be possible to load a playlist of videos?

thibauts commented 9 years ago

Wouldn't it be simpler to implement it in your player and share the code for all output modules ? Honestly asking myself the question.

jaruba commented 9 years ago

It wouldn't be hard to implement it in the player with the current code I use, but it would be a great feature for node-upnp-mediarenderer-client to have on it's own.

It can already cast videos, the natural evolution of it should be to support a playlist too. It was more of a question or an enhancement request. But I can understand why you don't think this is a necessity. :)

thibauts commented 9 years ago

I understand what you mean, but I try to keep the modules I publish focused as much as I can. "Do one thing and do it well". I fear if we put playlists in this one this will lead to code duplication on one side, and an half-implemented playlist on the other.

jaruba commented 9 years ago

Understandable, I saw that the status returned by client.on('status',cb) also included Tracks: 1 so I thought that a playlist might be possible to be easily declared in order to make a native DLNA implementation for this.

I made DLNA Playlist support in Powder Player v0.60, personally I think the code for it is kind of ugly and I'm not even sure that DLNA Support and DLNA Playlist Support will even work correctly on other TV sets as I'm counting on all devices to give the same (or a very similar) pattern of events (which btw, seem almost chaotic on Samsung).

If you have access to a Windows machine and could test it on your Sony TV I'd really appreciate it. :)

You can get to the "Stream to TV (DLNA)" option by clicking the Gear Icon in the upper right corner of the Player during playback. The current implementation presumes that there is only one ssdp response and one local network. (did not make any menus to select network or media device yet)

jaruba commented 9 years ago

I'll also try to buy some device like EZCast and try to install some DLNA server app in order to check more use cases in an attempt to perfect all this.

If I can get to a clean implementation that works in most cases I will release a module for the playlist, but until then it's just messy untested code.

thibauts commented 9 years ago

I'll try to check when I have a little time. Don't hesitate to ping me about this.

thibauts commented 9 years ago

Regarding playlists DLNA has "support" for this, but this will be complicated and most probably chaotic, as you put it. Relying on controlled JS code to handle the playlist behaviors will probably be more predictable. To learn more refer to the UPnP AVTransport spec.