#include <vlc_input.h>
#include <libvlc.h>
#include "input_interface.h"
-#include "event.h"
/*****************************************************************************
* Private input fields
/* 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;
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;
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;
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;
* 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
***************************************************************************/
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