[vlc-commits] access: http: fix icecast served playlists

Francois Cartegnie git at videolan.org
Tue Dec 29 17:18:30 CET 2015


vlc/vlc-2.2 | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Tue Dec 29 17:02:45 2015 +0100| [f18331f6ebd77e9960742324bc72edee400657ae] | committer: Jean-Baptiste Kempf

access: http: fix icecast served playlists

IceCast playlists are considered as streams if
the Server is "IceCast x".

As we are not reordering headers, we must handle
that case and revert any icecast streaming changes.

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=f18331f6ebd77e9960742324bc72edee400657ae
---

 modules/access/http.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/modules/access/http.c b/modules/access/http.c
index 65fee24..0abe269 100644
--- a/modules/access/http.c
+++ b/modules/access/http.c
@@ -534,7 +534,8 @@ connect:
 
     if( !strcmp( p_sys->psz_protocol, "ICY" ) || p_sys->b_icecast )
     {
-        if( p_sys->psz_mime && strcasecmp( p_sys->psz_mime, "application/ogg" ) )
+        if( p_sys->psz_mime && strcasecmp( p_sys->psz_mime, "application/ogg" )
+                            && strcasecmp( p_sys->psz_mime, "audio/x-mpegurl" ) )
         {
             if( !strcasecmp( p_sys->psz_mime, "video/nsv" ) ||
                 !strcasecmp( p_sys->psz_mime, "video/nsa" ) )
@@ -1546,6 +1547,13 @@ static int Request( access_t *p_access, uint64_t i_tell )
 
         free( psz );
     }
+
+    if( p_sys->b_icecast && p_sys->psz_mime && !strcasecmp( p_sys->psz_mime, "audio/x-mpegurl" ) )
+    {
+       p_sys->b_icecast = false;
+       p_sys->b_reconnect = false;
+       p_sys->b_pace_control = true;
+    }
     /* We close the stream for zero length data, unless of course the
      * server has already promised to do this for us.
      */



More information about the vlc-commits mailing list