]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
Privatized p_input->i_time.
[vlc] / include / vlc_input.h
index 048be2d6af039b04deccdb6c9a1caab0e7e733a8..8cc5da2b547be15b013fcf8abb1dd0d85c67122d 100644 (file)
@@ -128,7 +128,7 @@ VLC_EXPORT( bool, input_item_MetaMatch, ( input_item_t *p_i, vlc_meta_type_t met
 VLC_EXPORT( char *, input_item_GetMeta, ( input_item_t *p_i, vlc_meta_type_t meta_type ) );
 VLC_EXPORT( char *, input_item_GetName, ( input_item_t * p_i ) );
 VLC_EXPORT( char *, input_item_GetURI, ( input_item_t * p_i ) );
-VLC_EXPORT( void,   input_item_SetURI, ( input_item_t * p_i, char * psz_uri ));
+VLC_EXPORT( void,   input_item_SetURI, ( input_item_t * p_i, const char *psz_uri ));
 VLC_EXPORT(mtime_t, input_item_GetDuration, ( input_item_t * p_i ) );
 VLC_EXPORT( void,   input_item_SetDuration, ( input_item_t * p_i, mtime_t i_duration ));
 VLC_EXPORT( bool,   input_item_IsPreparsed, ( input_item_t *p_i ));
@@ -413,10 +413,6 @@ struct input_thread_t
 
     int i_state;
     bool b_can_pace_control;
-    int64_t     i_time;     /* Current time */
-
-    /* Internal caching common to all inputs */
-    mtime_t i_pts_delay;
 
     /* All other data is input_thread is PRIVATE. You can't access it
      * outside of src/input */
@@ -520,8 +516,12 @@ typedef enum input_event_type_e
 {
     /* "state" has changed */
     INPUT_EVENT_STATE,
+    /* b_dead is true */
+    INPUT_EVENT_DEAD,
+
     /* "rate" has changed */
     INPUT_EVENT_RATE,
+
     /* At least one of "position" or "time" or "length" has changed */
     INPUT_EVENT_TIMES,
 
@@ -541,9 +541,6 @@ typedef enum input_event_type_e
     /* "record" has changed */
     INPUT_EVENT_RECORD,
 
-    /* A vout has been created/deleted by *the input* */
-    INPUT_EVENT_VOUT,
-
     /* input_item_t media has changed */
     INPUT_EVENT_ITEM_META,
     /* input_item_t info has changed */
@@ -567,6 +564,11 @@ typedef enum input_event_type_e
     /* cache" has changed */
     INPUT_EVENT_CACHE,
 
+    /* A aout_instance_t object has been created/deleted by *the input* */
+    INPUT_EVENT_AOUT,
+    /* A vout_thread_t object has been created/deleted by *the input* */
+    INPUT_EVENT_VOUT,
+
 } input_event_type_e;
 
 /** @}*/
@@ -580,12 +582,13 @@ typedef enum input_event_type_e
 #define input_CreateThread(a,b) __input_CreateThread(VLC_OBJECT(a),b)
 VLC_EXPORT( input_thread_t *, __input_CreateThread, ( vlc_object_t *, input_item_t * ) );
 
+VLC_EXPORT( void,             input_StopThread,     ( input_thread_t * ) );
+
 #define input_Preparse(a,b) __input_Preparse(VLC_OBJECT(a),b)
 VLC_EXPORT( int, __input_Preparse, ( vlc_object_t *, input_item_t * ) );
 
 #define input_Read(a,b,c) __input_Read(VLC_OBJECT(a),b, c)
 VLC_EXPORT( int, __input_Read, ( vlc_object_t *, input_item_t *, bool ) );
-VLC_EXPORT( void,             input_StopThread,     ( input_thread_t * ) );
 
 enum input_query_e
 {
@@ -649,6 +652,11 @@ enum input_query_e
 
     /* ES */
     INPUT_RESTART_ES,       /* arg1=int (-AUDIO/VIDEO/SPU_ES for the whole category) */
+
+    /* Input ressources
+     * XXX You must call vlc_object_release as soon as possible */
+    INPUT_GET_AOUT,         /* arg1=aout_instance_t **              res=can fail */
+    INPUT_GET_VOUTS,        /* arg1=vout_thread_t ***, int *        res=can fail */
 };
 
 VLC_EXPORT( int, input_vaControl,( input_thread_t *, int i_query, va_list  ) );
@@ -673,13 +681,6 @@ static inline int input_AddSubtitle( input_thread_t *p_input, const char *psz_ur
     return input_Control( p_input, INPUT_ADD_SUBTITLE, psz_url, b_check_extension );
 }
 
-/**
- * It will return the input event manager.
- *
- * You are advised to use "intf-event" instead if you want completness.
- */
-VLC_EXPORT( vlc_event_manager_t *, input_GetEventManager, ( input_thread_t * ) );
-
 /* */
 typedef struct input_clock_t input_clock_t;
 VLC_EXPORT( decoder_t *, input_DecoderNew, ( input_thread_t *, es_format_t *, input_clock_t *, sout_instance_t * ) );