]> git.sesse.net Git - vlc/blobdiff - include/input_ext-intf.h
* Fixed the BeOS compile typo.
[vlc] / include / input_ext-intf.h
index 9873d71e170690f3b7a291633b982265e2d1a1cb..4a94aa24f5fc15000c1a36369006def8a910c8ab 100644 (file)
@@ -4,7 +4,7 @@
  * control the pace of reading. 
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ext-intf.h,v 1.33 2001/04/13 05:36:12 stef Exp $
+ * $Id: input_ext-intf.h,v 1.38 2001/05/30 17:03:11 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -132,10 +132,6 @@ typedef struct pgrm_descriptor_s
     /* Demultiplexer data */
     void *                  p_demux_data;
 
-    /* Decoders control */
-    struct vout_thread_s *  p_vout;
-    struct aout_thread_s *  p_aout;
-
     int                     i_es_number;      /* size of the following array */
     es_descriptor_t **      pp_es;                /* array of pointers to ES */
 } pgrm_descriptor_t;
@@ -168,6 +164,9 @@ typedef struct input_area_s
     int                     i_part_nb;   /* number of parts (chapter for DVD)*/
     int                     i_part;      /* currently selected part */
 
+    int                     i_angle_nb;  /* number of angles/title units */
+    int                     i_angle;
+
     /* offset to plugin related data */
     off_t                   i_plugin_data;
 } input_area_t;
@@ -194,9 +193,12 @@ typedef struct stream_descriptor_s
 
     /* if (b_seekable) : */
     int                     i_area_nb;
-    input_area_t **         pp_areas;      /* list of areas in stream == offset
-                                            * interval with own properties */
+    input_area_t **         pp_areas;    /* list of areas in stream == offset
+                                          * interval with own properties */
     input_area_t *          p_selected_area;
+    input_area_t *          p_new_area;  /* Newly selected area from
+                                          * the interface */
+
     u32                     i_mux_rate; /* the rate we read the stream (in
                                          * units of 50 bytes/s) ; 0 if undef */
 
@@ -217,6 +219,10 @@ typedef struct stream_descriptor_s
     es_descriptor_t **      pp_es;             /* carried elementary streams */
     int                     i_selected_es_number;
     es_descriptor_t **      pp_selected_es;             /* ES with a decoder */
+    es_descriptor_t *       p_newly_selected_es;   /* ES selected from
+                                                    * the interface */
+    es_descriptor_t *       p_removed_es;   /* ES removed from the interface */
+
 
     /* Stream control */
     stream_ctrl_t           control;
@@ -247,7 +253,6 @@ typedef struct i_p_config_s
  *****************************************************************************
  * This structure includes all the local static variables of an input thread
  *****************************************************************************/
-struct aout_thread_s;
 struct vout_thread_s;
 
 typedef struct input_thread_s
@@ -289,6 +294,14 @@ typedef struct input_thread_s
                                             * backwards (it's gonna be fun)  */
     void                 (* pf_seek)( struct input_thread_s *, off_t );
 
+    /* Special callback functions */
+    void                 (* pf_file_open )     ( struct input_thread_s * );
+    void                 (* pf_file_close )    ( struct input_thread_s * );
+#if !defined( SYS_BEOS ) && !defined( SYS_NTO )
+    void                 (* pf_network_open )  ( struct input_thread_s * );
+    void                 (* pf_network_close ) ( struct input_thread_s * );
+#endif
+
     i_p_config_t            i_p_config;              /* plugin configuration */
     char *                  p_source;
 
@@ -301,10 +314,6 @@ typedef struct input_thread_s
     /* General stream description */
     stream_descriptor_t     stream;                            /* PAT tables */
 
-    /* For auto-launch of decoders */
-    struct aout_thread_s *  p_default_aout;
-    struct vout_thread_s *  p_default_vout;
-
 #ifdef STATS
     count_t                 c_loops;
     count_t                 c_bytes;                           /* bytes read */
@@ -352,3 +361,5 @@ int  input_ChangeES ( struct input_thread_s *, struct es_descriptor_s *, u8 );
 int  input_ToggleES ( struct input_thread_s *,
                       struct es_descriptor_s *,
                       boolean_t );
+int  input_ChangeArea( input_thread_t *, input_area_t * );
+