[vlc-devel] "file://localhost/" handling in input.c on win32
Kaarlo Räihä
kaarlo.raiha at gmail.com
Mon Aug 22 08:30:39 CEST 2011
2011/8/22 Michael A. Puls II <shadow2531 at gmail.com>
> If Opera passes a file URI to vlc like this:
>
> vlc.exe file://localhost/test.mp3
>
> , vlc reports:
>
> File reading failed:
> VLC could not open the file "\\localhost\c:\test.mp3".
> Your input can't be opened:
> VLC is unable to open the MRL 'file://localhost/c:/test.mp3'**. Check the
> log for details.
>
>
Does file:///localhost/test.mp3 work better?
>
> In src/input/input.c, there's the following code for handling
> "file://localhost/", but it looks like it's not defined for Win32.
>
> ----------
> /* FIXME: file:// handling plugins do not support URIs properly...
> * So we pre-decode the URI to a path for them. Note that we do not do
> it
> * for non-standard VLC-specific schemes. */
> if( !strcmp( psz_access, "file" ) )
> {
> if( psz_path[0] != '/' )
> #ifndef WIN32
> { /* host specified -> only localhost is supported */
> static const size_t i_localhost = sizeof("localhost")-1;
> if( strncmp( psz_path, "localhost/", i_localhost + 1) != 0 )
> {
> msg_Err( p_input, "cannot open remote file `%s://%s'",
> psz_access, psz_path );
> msg_Info( p_input, "Did you mean `%s:///%s'?",
> psz_access, psz_path );
> goto error;
> }
> psz_path += i_localhost;
> }
> #else
> {
> /* XXX: very very ugly. Always true for valid URIs though. */
> if( (psz_path - psz_dup) >= 2 && psz_path[-2] && psz_path[-1]
> )
> {
> *(--psz_path) = '\\';
> *(--psz_path) = '\\';
> }
> }
> else
> /* Strip leading slash in front of the drive letter */
> psz_path++;
> #endif
> /* Then URI-decode the path. */
> decode_URI( psz_path );
> #if (DIR_SEP_CHAR != '/')
> /* Turn slashes into anti-slashes */
> for( char *s = strchr( psz_path, '/' ); s; s = strchr( s + 1, '/'
> ) )
> *s = DIR_SEP_CHAR;
> #endif
> }
> ----------
>
> --
> Michael
> ______________________________**_________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/**listinfo/vlc-devel<http://mailman.videolan.org/listinfo/vlc-devel>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110822/2666a57c/attachment.html>
More information about the vlc-devel
mailing list