]> git.sesse.net Git - vlc/commitdiff
Preparsing only works with file:// - only try files.
authorRémi Denis-Courmont <rem@videolan.org>
Tue, 4 Mar 2008 20:10:06 +0000 (22:10 +0200)
committerRémi Denis-Courmont <rem@videolan.org>
Tue, 4 Mar 2008 20:10:06 +0000 (22:10 +0200)
Signed-off-by: Rémi Denis-Courmont <rem@videolan.org>
src/input/input.c

index e8da57f02755261f2973006b891953598b377be4..a8b701c41edd9a554ffb09ed43b1be13541ad301 100644 (file)
@@ -2181,13 +2181,12 @@ static int InputSourceInit( input_thread_t *p_input,
     if( !p_input ) return VLC_EGENERIC;
 
     /* Split uri */
+    MRLSplit( psz_dup, &psz_access, &psz_demux, &psz_path );
+
+    msg_Dbg( p_input, "`%s' gives access `%s' demux `%s' path `%s'",
+             psz_mrl, psz_access, psz_demux, psz_path );
     if( !p_input->b_preparsing )
     {
-        MRLSplit( psz_dup, &psz_access, &psz_demux, &psz_path );
-
-        msg_Dbg( p_input, "`%s' gives access `%s' demux `%s' path `%s'",
-                 psz_mrl, psz_access, psz_demux, psz_path );
-
         /* Hack to allow udp://@:port syntax */
         if( !psz_access ||
             (strncmp( psz_access, "udp", 3 ) &&
@@ -2227,12 +2226,14 @@ static int InputSourceInit( input_thread_t *p_input,
     }
     else
     {
-        psz_path = psz_dup;
-        if( !strncmp( psz_path, "file://", 7 ) )
-            psz_path += 7;
+        /* Preparsing is only for file:// */
+        if( psz_demux && *psz_demux )
+            goto error;
+        if( !psz_access || !*psz_access ) /* path without scheme:// */
+            psz_access = "file";
+        if( strcmp( psz_access, "file" ) )
+            goto error;
         msg_Dbg( p_input, "trying to pre-parse %s",  psz_path );
-        psz_demux = "";
-        psz_access = "file";
     }
 
     if( in->p_demux )