ref: ebbbe9db422d99f182f7e95055c248ea1757e0ec
parent: ce9d6dfbd44915a29f2821adc3400e35cfd1f9ba
author: Sam Hocevar <sam@videolan.org>
date: Mon Jan 27 11:57:19 EST 2003
* ./src/libdvdcss.c: disabled key cache when reading VOBs.
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -5,7 +5,7 @@
* H�kan Hjort <d95hjort@dtek.chalmers.se>
*
* Copyright (C) 1998-2002 VideoLAN
- * $Id: libdvdcss.c,v 1.26 2002/12/19 15:44:30 sam Exp $
+ * $Id: libdvdcss.c,v 1.27 2003/01/27 16:57:19 sam Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -304,6 +304,27 @@
unsigned char psz_debug[PATH_MAX+30];
unsigned char * psz_data;
int i;
+
+ /* We read sector 0. If it starts with 0x000001ba (BE), we are
+ * reading a VOB file, and we should not cache anything. */
+
+ i_ret = dvdcss->pf_seek( dvdcss, 0 );
+ if( i_ret != 0 )
+ {
+ goto nocache;
+ }
+
+ i_ret = dvdcss->pf_read( dvdcss, p_sector, 1 );
+ if( i_ret != 1 )
+ {
+ goto nocache;
+ }
+
+ if( p_sector[0] == 0x00 && p_sector[1] == 0x00
+ && p_sector[2] == 0x01 && p_sector[3] == 0xba )
+ {
+ goto nocache;
+ }
/* The data we are looking for is at sector 16 (32768 bytes):
* - offset 40: disc title (32 uppercase chars)