]> git.sesse.net Git - vlc/blobdiff - include/input_ext-intf.h
* QNX RTOS plug-in by Jon Lech Johansen.
[vlc] / include / input_ext-intf.h
index 9b51318ce276aecc7283641ec6c40e4cd8e232e2..efb07513918ecc32dc53baaa3719b69ff5ef6b73 100644 (file)
@@ -4,7 +4,7 @@
  * control the pace of reading. 
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ext-intf.h,v 1.37 2001/05/19 00:39:29 stef Exp $
+ * $Id: input_ext-intf.h,v 1.41 2001/07/18 14:21:00 massiot Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -125,6 +125,7 @@ typedef struct pgrm_descriptor_s
     mtime_t                 cr_ref, sysdate_ref;
     mtime_t                 last_cr; /* reference to detect unexpected stream
                                       * discontinuities                      */
+    mtime_t                 last_syscr;
     count_t                 c_average_count;
                            /* counter used to compute dynamic average values */
     int                     i_synchro_state;
@@ -204,6 +205,7 @@ typedef struct stream_descriptor_s
 
     /* New status and rate requested by the interface */
     int                     i_new_status, i_new_rate;
+    int                     b_new_mute;          /* int because it can be -1 */
     vlc_cond_t              stream_wait; /* interface -> input in case of a
                                           * status change request            */
 
@@ -228,6 +230,8 @@ typedef struct stream_descriptor_s
     stream_ctrl_t           control;
 } stream_descriptor_t;
 
+#define MUTE_NO_CHANGE      -1
+
 /*****************************************************************************
  * i_p_config_t
  *****************************************************************************
@@ -254,6 +258,7 @@ typedef struct i_p_config_s
  * This structure includes all the local static variables of an input thread
  *****************************************************************************/
 struct vout_thread_s;
+struct bit_stream_s;
 
 typedef struct input_thread_s
 {
@@ -272,6 +277,11 @@ typedef struct input_thread_s
     void                 (* pf_open)( struct input_thread_s * );
     void                 (* pf_close)( struct input_thread_s * );
     void                 (* pf_end)( struct input_thread_s * );
+    void                 (* pf_init_bit_stream)( struct bit_stream_s *,
+                              struct decoder_fifo_s *,
+                void (* pf_bitstream_callback)( struct bit_stream_s *,
+                                                boolean_t ),
+                              void * );
 
     /* Read & Demultiplex */
     int                  (* pf_read)( struct input_thread_s *,
@@ -294,6 +304,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;
 
@@ -345,7 +363,6 @@ struct input_thread_s * input_CreateThread ( struct playlist_item_s *,
 void input_DestroyThread( struct input_thread_s *, int *pi_status );
 
 void input_SetStatus( struct input_thread_s *, int );
-void input_SetRate  ( struct input_thread_s *, int );
 void input_Seek     ( struct input_thread_s *, off_t );
 void input_DumpStream( struct input_thread_s * );
 char * input_OffsetToTime( struct input_thread_s *, char * psz_buffer, off_t );
@@ -353,5 +370,8 @@ 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 * );
+int  input_ChangeArea( struct input_thread_s *, struct input_area_s * );
+int  input_ToggleGrayscale( struct input_thread_s * );
+int  input_ToggleMute( struct input_thread_s * );
+int  input_SetSMP( struct input_thread_s *, int );