[vlc-commits] Revert "demux: playlist: asx: handle common mime type for asx playlist and asf"

Jean-Baptiste Kempf git at videolan.org
Fri Apr 10 10:33:18 CEST 2015


vlc/vlc-2.2 | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Fri Apr 10 10:28:57 2015 +0200| [6720acfaf97cab42cd9b2abfc0336e86c11aceeb] | committer: Jean-Baptiste Kempf

Revert "demux: playlist: asx: handle common mime type for asx playlist and asf"

This reverts commit 74c432a3c72ec295fc6ae3974f5bf42f041a342e.

Ref #14062

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

 modules/demux/playlist/asx.c      |   10 ----------
 modules/demux/playlist/m3u.c      |   19 +++++++++++++++++++
 modules/demux/playlist/playlist.c |   26 --------------------------
 modules/demux/playlist/playlist.h |    2 --
 4 files changed, 19 insertions(+), 38 deletions(-)

diff --git a/modules/demux/playlist/asx.c b/modules/demux/playlist/asx.c
index e09cf48..1898cdd 100644
--- a/modules/demux/playlist/asx.c
+++ b/modules/demux/playlist/asx.c
@@ -134,13 +134,6 @@ static void ReadElement( xml_reader_t *p_xml_reader, char **ppsz_txt )
      */
 }
 
-static bool PeekASX( demux_t *p_demux )
-{
-    const uint8_t *p_peek;
-    return ( stream_Peek( p_demux->s, &p_peek, 12 ) == 12
-             && !memcmp( p_peek, "<asx version", 12 ) );
-}
-
 /*****************************************************************************
  * Import_ASX: main import function
  *****************************************************************************/
@@ -152,9 +145,6 @@ int Import_ASX( vlc_object_t *p_this )
     if( demux_IsPathExtension( p_demux, ".asx" ) ||
         demux_IsPathExtension( p_demux, ".wax" ) ||
         demux_IsPathExtension( p_demux, ".wvx" ) ||
-        (
-          CheckContentType( p_demux->s, "video/x-ms-asf" ) && PeekASX( p_demux )
-        ) ||
         demux_IsForced( p_demux, "asx-open" ) )
     {
         STANDARD_DEMUX_INIT_MSG( "found valid ASX playlist" );
diff --git a/modules/demux/playlist/m3u.c b/modules/demux/playlist/m3u.c
index 02a9598..58f6006 100644
--- a/modules/demux/playlist/m3u.c
+++ b/modules/demux/playlist/m3u.c
@@ -48,6 +48,7 @@ struct demux_sys_t
 static int Demux( demux_t *p_demux);
 static void parseEXTINF( char *psz_string, char **ppsz_artist, char **ppsz_name, int *pi_duration );
 static bool ContainsURL( demux_t *p_demux );
+static bool CheckContentType( stream_t * p_stream, const char * psz_ctype );
 
 static char *GuessEncoding (const char *str)
 {
@@ -148,6 +149,24 @@ static bool ContainsURL( demux_t *p_demux )
     return false;
 }
 
+static bool CheckContentType( stream_t * p_stream, const char * psz_ctype )
+{
+    char *psz_check = stream_ContentType( p_stream );
+    if( !psz_check ) return false;
+
+    int i_len = strlen( psz_check );
+    if ( i_len == 0 )
+    {
+        free( psz_check );
+        return false;
+    }
+
+    int i_res = strncasecmp( psz_check, psz_ctype, i_len );
+    free( psz_check );
+
+    return ( i_res == 0 ) ? true : false;
+}
+
 /*****************************************************************************
  * Deactivate: frees unused data
  *****************************************************************************/
diff --git a/modules/demux/playlist/playlist.c b/modules/demux/playlist/playlist.c
index 0b4a053..cae528d 100644
--- a/modules/demux/playlist/playlist.c
+++ b/modules/demux/playlist/playlist.c
@@ -224,29 +224,3 @@ char *ProcessMRL( const char *psz_mrl, const char *psz_prefix )
 uri:
     return vlc_path2uri( psz_mrl, NULL );
 }
-
-/**
- * Checks stream Content-Type against a known one
- */
-bool CheckContentType( stream_t * p_stream, const char * psz_ctype )
-{
-    char *psz_check = stream_ContentType( p_stream );
-    if( !psz_check ) return false;
-
-    int i_len = strlen( psz_check );
-    if ( i_len == 0 )
-    {
-        free( psz_check );
-        return false;
-    }
-
-    /* check for Content-Type: foo-type; charset=... */
-    const char * psz_sep = strchr( psz_check, ';' );
-    if ( psz_sep )
-        i_len = __MIN( i_len, psz_sep - psz_check );
-
-    int i_res = strncasecmp( psz_check, psz_ctype, i_len );
-    free( psz_check );
-
-    return ( i_res == 0 ) ? true : false;
-}
diff --git a/modules/demux/playlist/playlist.h b/modules/demux/playlist/playlist.h
index 5f7db99..657a344 100644
--- a/modules/demux/playlist/playlist.h
+++ b/modules/demux/playlist/playlist.h
@@ -80,8 +80,6 @@ void Close_ZPL ( vlc_object_t * );
 
 extern input_item_t * GetCurrentItem(demux_t *p_demux);
 
-bool CheckContentType( stream_t * p_stream, const char * psz_ctype );
-
 #define STANDARD_DEMUX_INIT_MSG( msg ) do { \
     DEMUX_INIT_COMMON();                    \
     msg_Dbg( p_demux, "%s", msg ); } while(0)



More information about the vlc-commits mailing list