Re: HLS, DASH, MPD and LMS future version

bpa <bpa.a11crz-NUepA2SMhDQqspMVqqL2D+4xXEVPTSb/[email protected]>
Newsgroups gmane.music.equipment.slimdevices.devel
Organization Logitech Squeezebox Forums
Message-ID <[email protected]>
philippe_44 wrote: 
> Thanks for answering, this is very helpful. This is the kind of
> discussion I was hoping to have. I have to think about it more, but
> keeping HLS or DASH as a plugin, even if it's internal to LMS would
> prevent 3rd party plugins to really depends on them no? 

I don't see why it would prevent them. I think it is similar to saying
faad is bundled with LMS  - I suggest the HLS plugin are bundled with a
normal LMS.  If I finish the PlayHLSv3 - then it can be included in a
8.1.* and 8.2.* release without any changes to core LMS.

Currently, this plugin approach already works.  Tune-in (Internetradio
fixURL routine in Tunein.pm) detects "presence" of HLS support (ignorent
of plugin or core implementation) by checking if there is a "type"
called "hls".

Making HLS support available to all user of 8.* is desirable.  The need
for https support made upgrades to 8.* essential however I think upgrade
hesistancy will re-emerge as there will seem no great need to go from
8.1 to 8.2.  A plugin approach will enable PlayHLS to be included in a
minor rev of 8.1 and 8.2. If it causes a user a problem the plugin can
be disabled so minimise support issues. 

The more users use HLS services, the more issues will be found that need
to be addressed in a "proper" integration into core LMS.  The recent
comment about Spotify and HLS is a case in point. I was unaware that
Spotify can offer HLS streams and IIRC it has not been reported before. 
A mixcloud plugin update could be the test of practicality of plugins
and the "dependency" issue. Mixcloud live streams use HLS fMPEG4 and
some other non-live streams are in DASH.

> I was thinking about that after I finally found a way to have Reliable &
> Cache as a core HTTP package (which I could not do at the beginning) as
> it could provide the easiest way for 3rd party plugins to use HLS /
> DASH. All they would have to do is to get the manifest files and the
> built-in protocol handler would take care of all the rest. So that
> sounds to me like a set of Slim::Player::Protocols::HLS.pm  and
> Slim::Player::Protocols::DASH.pm. I can't say that I'm absolutely sure
> of that, though.

I haven't kept up with Reliable & Cache so I can't comment at this
stage.

> That also led me to think about versions now. I was asking @mherger if
> we should not
> 
> - Release 8.1.2 and say it's done, no further fixes
> - Release 8.2 and call it stable, which means 8.2.x will only provide
> bug fixes (if we do that I'll have one or two last proposals :))
> - Open a 8.3 (or beyond!) to work on that topic, and maybe others

With this version roll-out, I see the development as follows

1. Finish a PlayHLS v3. Don't tackle the "rogue" streams and assess how
popular they are. Include as plugin in 8.2.x (not .0)  and possibly do a
minor rev of 8.1
2. Do a PlayDASH and similar to point 1. 
3. As part of 8.3 effort look at integrating HLS & DASH into core LMS as
per Slim::Player::Protocols::HLS.pm  and
Slim::Player::Protocols::DASH.pm suggestions. Solution should also
address issues found by experiences gained from plugins support of HLS
and DASH.


------------------------------------------------------------------------
bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806
View this thread: http://forums.slimdevices.com/showthread.php?t=114498
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.