/****************************************************************************** * interface.h: interface access for other threads * (c)1999 VideoLAN ****************************************************************************** * This library provides basic functions for threads to interact with user * interface, such as message output. ****************************************************************************** * Required headers: * * * * "config.h" * "common.h" * "mtime.h" * "vlc_thread.h" * "input.h" * "video.h" * "video_output.h" * "audio_output.h" * "xconsole.h" ******************************************************************************/ /****************************************************************************** * intf_thread_t: describe an interface thread ****************************************************************************** * This structe describes all interface-specific data of the main (interface) * thread. ******************************************************************************/ typedef struct intf_thread_s { boolean_t b_die; /* `die' flag */ /* Specific interfaces */ p_intf_console_t p_console; /* console */ p_intf_sys_t p_sys; /* system interface */ /* Main threads - NULL if not active */ p_vout_thread_t p_vout; p_input_thread_t p_input; } intf_thread_t; /****************************************************************************** * Prototypes ******************************************************************************/ intf_thread_t * intf_Create ( void ); void intf_Run ( intf_thread_t * p_intf ); void intf_Destroy ( intf_thread_t * p_intf ); int intf_SelectInput ( intf_thread_t * p_intf, p_input_cfg_t p_cfg );