* input_dvd.h: thread structure of the DVD plugin
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
+ * $Id: input_dvd.h,v 1.15 2001/04/02 23:30:41 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
#define DVD_LB_SIZE 2048
/*****************************************************************************
- * thread_dvd_data_t: extension of input_thread_t for DVD specificity
+ * thread_dvd_data_t: extension of input_thread_t for DVD specificity.
*****************************************************************************/
typedef struct thread_dvd_data_s
{
int i_fd; // File descriptor of device
boolean_t b_encrypted; // CSS encryption
- int i_read_once; // NB of bytes read by DVDRead
- int i_title; // Current Title
- /* FIXME: include these in a struct */
- int i_start_byte;
- int i_start_cell;
- int i_end_cell;
+ int i_block_once; // Nb of block read once by
+ // readv
+
+ /* Navigation information */
+ int i_title;
+ int i_vts_title;
+ int i_program_chain;
+
+ int i_chapter_nb;
+ int i_chapter;
+
+ int i_cell; /* cell index in adress map */
+ int i_prg_cell; /* cell index in program map */
+
+ int i_sector;
+ int i_end_sector; /* last sector of current cell */
+
+ off_t i_title_start;
+ off_t i_start;
+ off_t i_size;
/* Scrambling Information */
-#if defined( HAVE_SYS_DVDIO_H ) || defined( LINUX_DVD )
- struct css_s css;
-#endif
+ struct css_s * p_css;
/* Structure that contains all information of the DVD */
- struct ifo_s ifo;
+ struct ifo_s * p_ifo;
} thread_dvd_data_t;
/*****************************************************************************
* Prototypes in dvd_ifo.c
*****************************************************************************/
-struct ifo_s IfoInit( int );
-void IfoRead( struct ifo_s * );
-void IfoEnd( ifo_t * );
+int IfoInit ( struct ifo_s **, int );
+int IfoTitleSet ( struct ifo_s * );
+void IfoEnd ( struct ifo_s * );
/*****************************************************************************
* Prototypes in dvd_css.c
*****************************************************************************/
-#if defined( HAVE_SYS_DVDIO_H ) || defined( LINUX_DVD )
-int CSSTest ( int );
-struct css_s CSSInit ( int );
-int CSSGetKeys ( struct css_s * );
-int CSSDescrambleSector( u8 * , u8 * );
+int CSSTest ( int );
+int CSSInit ( struct css_s * );
+void CSSEnd ( struct css_s * );
+int CSSGetKey ( struct css_s * );
+int CSSDescrambleSector ( u8 * , u8 * );
-#endif