* libdvdcss.c: DVD reading library.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: libdvdcss.c,v 1.21 2001/11/13 02:03:46 sam Exp $
+ * $Id: libdvdcss.c,v 1.22 2001/11/19 15:13:11 stef Exp $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
extern int dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks, int i_flags )
{
/* title cracking method is too slow to be used at each seek */
- if( !( i_flags & DVDCSS_SEEK_MPEG )
- || ( dvdcss->i_method != DVDCSS_METHOD_TITLE ) )
+ if( ( ( i_flags & DVDCSS_SEEK_MPEG )
+ && ( dvdcss->i_method != DVDCSS_METHOD_TITLE ) )
+ || ( i_flags & DVDCSS_SEEK_KEY ) )
{
/* check the title key */
if( dvdcss_title( dvdcss, i_blocks ) )
* libdvdcss.h: DVD reading library, exported functions.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: dvdcss.h,v 1.9 2001/11/13 01:25:05 sam Exp $
+ * $Id: dvdcss.h,v 1.10 2001/11/19 15:13:11 stef Exp $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
#define DVDCSS_NOFLAGS 0
#define DVDCSS_READ_DECRYPT (1 << 0)
#define DVDCSS_SEEK_MPEG (1 << 0)
+#define DVDCSS_SEEK_KEY (1 << 1)
/*****************************************************************************
* Exported prototypes
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: input_dvd.c,v 1.97 2001/11/13 01:25:05 sam Exp $
+ * $Id: input_dvd.c,v 1.98 2001/11/19 15:13:11 stef Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
/* Force libdvdcss to check its title key.
* It is only useful for title cracking method. Methods using the
* decrypted disc key are fast enough to check the key at each seek */
+
if( dvdcss_seek( p_dvd->dvdhandle, p_dvd->i_start,
- DVDCSS_NOFLAGS ) < 0 )
+ DVDCSS_SEEK_KEY ) < 0 )
{
intf_ErrMsg( "dvd error: %s", dvdcss_error( p_dvd->dvdhandle ) );
return -1;