mirror of
https://code.videolan.org/videolan/vlc
synced 2024-10-07 03:56:28 +02:00
* Fixed DVD input under Win32.
* Fixed input parser under win32, chich couldn't understand that c:\windows\bureau is a valid file and doesn't need to be accessed with the plugin 'C' :-) * BTW, I added myself in the AUTHORS file :)
This commit is contained in:
parent
69ff2d310d
commit
669c712a73
5
AUTHORS
5
AUTHORS
@ -218,6 +218,11 @@ N: Wade Majors
|
|||||||
E: guru@startrek.com
|
E: guru@startrek.com
|
||||||
D: BeOS testing, icon integration, debugging and fixes
|
D: BeOS testing, icon integration, debugging and fixes
|
||||||
|
|
||||||
|
N: Xavier Marchesini
|
||||||
|
E: xav@alarue.net
|
||||||
|
C: xav
|
||||||
|
D: Win32 fixes
|
||||||
|
|
||||||
N: Christophe Massiot
|
N: Christophe Massiot
|
||||||
E: massiot@via.ecp.fr
|
E: massiot@via.ecp.fr
|
||||||
C: massiot
|
C: massiot
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
/*****************************************************************************
|
/* input_dvd.c: DVD raw reading plugin.
|
||||||
* input_dvd.c: DVD raw reading plugin.
|
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* This plugins should handle all the known specificities of the DVD format,
|
* This plugins should handle all the known specificities of the DVD format,
|
||||||
* especially the 2048 bytes logical block size.
|
* especially the 2048 bytes logical block size.
|
||||||
@ -9,7 +8,7 @@
|
|||||||
* -dvd_udf to find files
|
* -dvd_udf to find files
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1998-2001 VideoLAN
|
* Copyright (C) 1998-2001 VideoLAN
|
||||||
* $Id: input_dvd.c,v 1.125 2002/03/02 03:29:13 stef Exp $
|
* $Id: input_dvd.c,v 1.126 2002/03/03 17:34:27 xav Exp $
|
||||||
*
|
*
|
||||||
* Author: Stéphane Borel <stef@via.ecp.fr>
|
* Author: Stéphane Borel <stef@via.ecp.fr>
|
||||||
*
|
*
|
||||||
@ -280,12 +279,15 @@ static int DVDOpen( struct input_thread_s *p_input )
|
|||||||
psz_device, strerror(errno));
|
psz_device, strerror(errno));
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef WIN32
|
||||||
if( !S_ISBLK(stat_info.st_mode) && !S_ISCHR(stat_info.st_mode) )
|
if( !S_ISBLK(stat_info.st_mode) && !S_ISCHR(stat_info.st_mode) )
|
||||||
{
|
{
|
||||||
intf_WarnMsg( 3, "input : DVD plugin discarded"
|
intf_WarnMsg( 3, "input : DVD plugin discarded"
|
||||||
" (not a valid block device)" );
|
" (not a valid block device)" );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
intf_WarnMsg( 2, "input: dvd=%s raw=%s", psz_device, psz_parser );
|
intf_WarnMsg( 2, "input: dvd=%s raw=%s", psz_device, psz_parser );
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* decoders.
|
* decoders.
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1998-2001 VideoLAN
|
* Copyright (C) 1998-2001 VideoLAN
|
||||||
* $Id: input.c,v 1.183 2002/03/02 03:51:23 sam Exp $
|
* $Id: input.c,v 1.184 2002/03/03 17:34:27 xav Exp $
|
||||||
*
|
*
|
||||||
* Authors: Christophe Massiot <massiot@via.ecp.fr>
|
* Authors: Christophe Massiot <massiot@via.ecp.fr>
|
||||||
* Alexis Guillard <alexis.guillard@bt.com>
|
* Alexis Guillard <alexis.guillard@bt.com>
|
||||||
@ -433,7 +433,10 @@ static int InitThread( input_thread_t * p_input )
|
|||||||
{
|
{
|
||||||
/* Parse source string. Syntax : [[<access>][/<demux>]:][<source>] */
|
/* Parse source string. Syntax : [[<access>][/<demux>]:][<source>] */
|
||||||
char * psz_parser = p_input->psz_source;
|
char * psz_parser = p_input->psz_source;
|
||||||
|
#ifdef WIN32
|
||||||
|
struct stat stat_info ;
|
||||||
|
int i_Win32_Access = 0 ;
|
||||||
|
#endif
|
||||||
/* Skip the plug-in names */
|
/* Skip the plug-in names */
|
||||||
while( *psz_parser && *psz_parser != ':' )
|
while( *psz_parser && *psz_parser != ':' )
|
||||||
{
|
{
|
||||||
@ -447,13 +450,33 @@ static int InitThread( input_thread_t * p_input )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef WIN32
|
||||||
|
if ( ( psz_parser-p_input->psz_source == 1) &&
|
||||||
|
( stat( p_input->psz_source, &stat_info ) != -1 ) )
|
||||||
|
{
|
||||||
|
intf_WarnMsg (2, "Okay, found a valid device in p_input->psz_source") ;
|
||||||
|
psz_parser = p_input->psz_source ;
|
||||||
|
p_input->psz_access = NULL ;
|
||||||
|
p_input->psz_demux = NULL ;
|
||||||
|
i_Win32_Access = 1 ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*psz_parser++ = '\0';
|
||||||
|
}
|
||||||
|
#else
|
||||||
*psz_parser++ = '\0';
|
*psz_parser++ = '\0';
|
||||||
|
#endif
|
||||||
|
|
||||||
p_input->psz_name = psz_parser;
|
p_input->psz_name = psz_parser;
|
||||||
|
|
||||||
/* Come back to parse the access and demux plug-ins */
|
/* Come back to parse the access and demux plug-ins */
|
||||||
psz_parser = p_input->psz_source;
|
psz_parser = p_input->psz_source;
|
||||||
if( !*psz_parser )
|
#ifdef WIN32
|
||||||
|
if( (!*psz_parser) || (i_Win32_Access == 1))
|
||||||
|
#else
|
||||||
|
if (!*psz_parser)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
/* No access */
|
/* No access */
|
||||||
p_input->psz_access = NULL;
|
p_input->psz_access = NULL;
|
||||||
@ -478,8 +501,11 @@ static int InitThread( input_thread_t * p_input )
|
|||||||
*psz_parser++ = '\0';
|
*psz_parser++ = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef WIN32
|
||||||
if( !*psz_parser )
|
if( !*psz_parser )
|
||||||
|
#else
|
||||||
|
if( (!*psz_parser) || (i_Win32_Access == 1))
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
/* No demux */
|
/* No demux */
|
||||||
p_input->psz_demux = NULL;
|
p_input->psz_demux = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user