* 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>
*
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;
/* 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 */
stream_ctrl_t control;
} stream_descriptor_t;
+#define MUTE_NO_CHANGE -1
+
/*****************************************************************************
* i_p_config_t
*****************************************************************************
* 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
{
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 *,
* 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;
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 );
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 );