[vlc-devel] [PATCH] http: handle shoutcast/icecast (ICY) metadata

Ludovic Fauvet etix at videolan.org
Fri Feb 19 12:39:24 CET 2016

Hello Rémi,

On Thu, Feb 18, 2016, at 00:33, Rémi Denis-Courmont wrote:
> Le 2016-02-17 18:36, Ludovic Fauvet a écrit :
> > This patch targets the new HTTP access module
> The old "HTTP" access is still needed/used for real ICY servers.
> Is there a benefit in using the new HTTP access for ICY? The same trick 
> as for MMSH would avoid having two different implementations of ICY.

I wasn't aware of the MMSH trick, it sounds like a very good idea to
separate the ICY code in its own module. Especially because it would
allow re-usability instead of duplication and since my patch already
works on block_t structures it should be quite easy to port in its own
module. The only thing that worries me is that the MMSH module does a
lot of hand-crafted HTTP requests. It goes without saying this will
cause another kind of duplication (4 HTTP implementation instead of 3)
and that it won't work with HTTP/2.0 (do we care?).

Anyway, my first thought was that we were going to phase-out the legacy
HTTP module in the upcoming months (and kill it with fire) and that
having both implementation (a very intrusive one in legacy and a
less-intrusive one in the new module) wouldn't really be a problem. I
don't know what's your timeline on this matter, maybe you have other
plans for the old HTTP module.

The ideal solution would probably involve the usage of primitives from
the new HTTP module within other access modules but it's probably too
much to ask for VLC 3.0 and I'm having a hard time figuring out how much
work would be required to do so.

The problem is, currently ICY streams do not work anymore because the
new HTTP has precedence over the legacy one. That means we have quite a
major regression from a user perspective. A working but hackish solution
would be to downgrade from the new module to the legacy one in case of
ICY streams but it's obviously not future-proof.

Ludovic Fauvet

More information about the vlc-devel mailing list