-/*****************************************************************************
- * 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,
* especially the 2048 bytes logical block size.
* -dvd_udf to find files
*****************************************************************************
* 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>
*
psz_device, strerror(errno));
return( -1 );
}
+
+#ifndef WIN32
if( !S_ISBLK(stat_info.st_mode) && !S_ISCHR(stat_info.st_mode) )
{
intf_WarnMsg( 3, "input : DVD plugin discarded"
" (not a valid block device)" );
return -1;
}
+#endif
intf_WarnMsg( 2, "input: dvd=%s raw=%s", psz_device, psz_parser );
* decoders.
*****************************************************************************
* 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>
* Alexis Guillard <alexis.guillard@bt.com>
{
/* Parse source string. Syntax : [[<access>][/<demux>]:][<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 */
while( *psz_parser && *psz_parser != ':' )
{
}
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';
+#endif
p_input->psz_name = psz_parser;
/* Come back to parse the access and demux plug-ins */
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 */
p_input->psz_access = NULL;
*psz_parser++ = '\0';
}
}
-
+#ifndef WIN32
if( !*psz_parser )
+#else
+ if( (!*psz_parser) || (i_Win32_Access == 1))
+#endif
{
/* No demux */
p_input->psz_demux = NULL;