]> git.sesse.net Git - vlc/blobdiff - plugins/dvd/input_dvd.h
* fixes for the Qt plugin compilation under Debian
[vlc] / plugins / dvd / input_dvd.h
index 11c5b1823fdaca4417f367af604edcb6c7f0b9f6..92d2c3df5bedc14ca63da43770c7b8b47bb074c1 100644 (file)
@@ -2,6 +2,7 @@
  * 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