]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
New system for handling elements in the main interface
[vlc] / include / vlc_input.h
index 9b9dc6a4312c13c76f776dc44746f03c5570f333..aaba81d8f21f5eccab01c2e194ced1fc4c39d497 100644 (file)
@@ -62,6 +62,7 @@ struct input_item_t
     mtime_t    i_duration;           /**< Duration in milliseconds*/
 
     uint8_t    i_type;               /**< Type (file, disc, ...) */
+    vlc_bool_t b_prefers_tree;      /**< Do we prefer being displayed as tree*/
 
     int        i_categories;         /**< Number of info categories */
     info_category_t **pp_categories; /**< Pointer to the first info category */
@@ -87,6 +88,7 @@ struct input_item_t
 #define ITEM_TYPE_NET           7
 #define ITEM_TYPE_PLAYLIST      8
 #define ITEM_TYPE_NODE          9
+#define ITEM_TYPE_NUMBER        10
 
 static inline void vlc_input_item_Init( vlc_object_t *p_o, input_item_t *p_i )
 {
@@ -305,7 +307,9 @@ static inline input_title_t *vlc_input_title_Duplicate( input_title_t *t )
 /* "state" value */
 enum input_state_e
 {
-    INIT_S,
+    INIT_S,   
+    OPENING_S,
+    BUFFERING_S,
     PLAYING_S,
     PAUSE_S,
     END_S
@@ -421,6 +425,26 @@ struct input_thread_t
     int            i_slave;
     input_source_t **slave;
 
+    /* Stats counters */
+    struct {
+        counter_t *p_read_packets;
+        counter_t *p_read_bytes;
+        counter_t *p_input_bitrate;
+        counter_t *p_demux_read;
+        counter_t *p_demux_bitrate;
+        counter_t *p_decoded_audio;
+        counter_t *p_decoded_video;
+        counter_t *p_decoded_sub;
+        counter_t *p_sout_sent_packets;
+        counter_t *p_sout_sent_bytes;
+        counter_t *p_sout_send_bitrate;
+        counter_t *p_played_abuffers;
+        counter_t *p_lost_abuffers;
+        counter_t *p_displayed_pictures;
+        counter_t *p_lost_pictures;
+        vlc_mutex_t counters_lock;
+    } counters;
+
     /* Buffer of pending actions */
     vlc_mutex_t lock_control;
     int i_control;
@@ -506,4 +530,6 @@ VLC_EXPORT( decoder_t *, input_DecoderNew, ( input_thread_t *, es_format_t *, vl
 VLC_EXPORT( void, input_DecoderDelete, ( decoder_t * ) );
 VLC_EXPORT( void, input_DecoderDecode,( decoder_t *, block_t * ) );
 
+VLC_EXPORT( vlc_bool_t, input_AddSubtitles, ( input_thread_t *, char *, vlc_bool_t ) );
+
 #endif