]> git.sesse.net Git - vlc/blobdiff - src/input/input_internal.h
Privatized p_input->i_time.
[vlc] / src / input / input_internal.h
index dce67ab2f9ece687769548fe4f243526c8524796..7a4bf746010b742dd751b6c80fe0c87699595ec1 100644 (file)
@@ -33,7 +33,6 @@
 #include <vlc_input.h>
 #include <libvlc.h>
 #include "input_interface.h"
-#include "event.h"
 
 /*****************************************************************************
  *  Private input fields
@@ -44,9 +43,6 @@
 /* input_source_t: gathers all information per input source */
 typedef struct
 {
-    /* Input item description */
-    input_item_t *p_item;
-
     /* Access/Stream/Demux plugins */
     access_t *p_access;
     stream_t *p_stream;
@@ -73,29 +69,29 @@ typedef struct
     bool b_rescale_ts;
 
     bool       b_eof;   /* eof of demuxer */
-    double     f_fps;
-
-    /* Clock average variation */
-    int     i_cr_average;
 
 } input_source_t;
 
 /** Private input fields */
 struct input_thread_private_t
 {
-    /* Object's event manager */
-    vlc_event_manager_t event_manager;
-
     /* Global properties */
     bool        b_can_pause;
     bool        b_can_rate_control;
+    double      f_fps;
+
+    /* Internal caching common to all sources */
+    mtime_t     i_pts_delay;
 
+    /* Current state */
     int         i_rate;
     bool        b_recording;
-    /* */
+
+    /* Playtime configuration and state */
     int64_t     i_start;    /* :start-time,0 by default */
     int64_t     i_stop;     /* :stop-time, 0 if none */
     int64_t     i_run;      /* :run-time, 0 if none */
+    int64_t     i_time;     /* Current time */
 
     /* Title infos FIXME multi-input (not easy) ? */
     int          i_title;
@@ -105,8 +101,9 @@ struct input_thread_private_t
     int i_seekpoint_offset;
 
     /* User bookmarks FIXME won't be easy with multiples input */
+    seekpoint_t bookmark;
     int         i_bookmark;
-    seekpoint_t **bookmark;
+    seekpoint_t **pp_bookmark;
 
     /* Input attachment */
     int i_attachment;
@@ -119,13 +116,20 @@ struct input_thread_private_t
     bool            b_out_pace_control; /*     idem ? */
 
     /* Main input properties */
-    input_source_t      input;
-    input_event_times_t input_last_times;
 
-    /* Slave demuxers (subs, and others) */
+    /* Input item */
+    input_item_t   *p_item;
+    /* Clock average variation */
+    int            i_cr_average;
+    /* Main source */
+    input_source_t input;
+    /* Slave sources (subs, and others) */
     int            i_slave;
     input_source_t **slave;
 
+    /* Ressources */
+    input_ressource_t *p_ressource;
+
     /* Stats counters */
     struct {
         counter_t *p_read_packets;
@@ -215,8 +219,6 @@ void input_ControlPush( input_thread_t *, int i_type, vlc_value_t * );
  *  Becarefull; p_item lock HAS to be taken */
 void input_ExtractAttachmentAndCacheArt( input_thread_t *p_input );
 
-void input_item_SetErrorWhenReading( input_item_t *p_i, bool b_error );
-
 /***************************************************************************
  * Internal prototypes
  ***************************************************************************/
@@ -233,9 +235,4 @@ void input_ConfigVarInit ( input_thread_t * );
 char **subtitles_Detect( input_thread_t *, char* path, const char *fname );
 int subtitles_Filter( const char *);
 
-/* Helpers FIXME to export without input_ prefix */
-char *input_CreateFilename( vlc_object_t *p_obj, const char *psz_path, const char *psz_prefix, const char *psz_extension );
-
-#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%H:%M:%S-$ N-$ p"
-
 #endif