]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
* ALL: separation of the SPU engine from the VOUT.
[vlc] / include / vlc_input.h
index dfeb86054b7cd261e25ffd559a4eab1bd395f281..b9872ee6d193eb86f97532160206a640243ef6ac 100644 (file)
@@ -27,7 +27,7 @@
 #define _VLC__INPUT_H 1
 
 /*****************************************************************************
- * input_item_t: Describes an input and is used to spawn input_thread_t objects.
+ * input_item_t: Describes an input and is used to spawn input_thread_t objects
  *****************************************************************************/
 struct info_t
 {
@@ -56,6 +56,9 @@ struct input_item_t
     int        i_categories;         /**< Number of info categories */
     info_category_t **pp_categories; /**< Pointer to the first info category */
 
+    int         i_es;                /**< Number of es format descriptions */
+    es_format_t **es;                /**< Pointer to an array of es formats */
+
     vlc_mutex_t lock;                /**< Item cannot be changed without this lock */
 };
 
@@ -201,6 +204,14 @@ typedef struct
     int          i_title;
     input_title_t **title;
 
+    int i_title_offset;
+    int i_seekpoint_offset;
+
+    int i_title_start;
+    int i_title_end;
+    int i_seekpoint_start;
+    int i_seekpoint_end;
+
     /* Properties */
     vlc_bool_t b_can_pace_control;
     vlc_bool_t b_can_pause;
@@ -216,6 +227,7 @@ typedef struct
 #define INPUT_UPDATE_SIZE       0x0001
 #define INPUT_UPDATE_TITLE      0x0010
 #define INPUT_UPDATE_SEEKPOINT  0x0020
+#define INPUT_UPDATE_META       0x0040
 
 /* Input control XXX: internal */
 #define INPUT_CONTROL_FIFO_SIZE    100
@@ -253,6 +265,9 @@ struct input_thread_t
     int          i_title;
     input_title_t **title;
 
+    int i_title_offset;
+    int i_seekpoint_offset;
+
     /* User bookmarks FIXME won't be easy with multiples input */
     int         i_bookmark;
     seekpoint_t **bookmark;
@@ -321,10 +336,15 @@ enum input_query_e
     /* Meta datas */
     INPUT_ADD_INFO,   /* arg1= char * arg2= char * arg3=...  res=can fail    */
     INPUT_GET_INFO,   /* arg1= char * arg2= char * arg3= char ** res=can fail*/
-
     INPUT_SET_NAME,   /* arg1= char * res=can fail    */
 
-    /* XXX: all next query aren't working for now */
+    /* Input config options */
+    INPUT_ADD_OPTION,      /* arg1= char * arg2= char *  res=can fail*/
+
+    /* Input properties */
+    INPUT_GET_BYTE_POSITION,     /* arg1= int64_t *       res=    */
+    INPUT_SET_BYTE_SIZE,         /* arg1= int64_t *       res=    */
+
     /* bookmarks */
     INPUT_GET_BOOKMARKS,   /* arg1= seekpoint_t *** arg2= int * res=can fail */
     INPUT_CLEAR_BOOKMARKS, /* res=can fail */