]> git.sesse.net Git - vlc/blobdiff - src/input/input_internal.h
* src/input/clock.c, input_internal.h: backport of 13165.
[vlc] / src / input / input_internal.h
index 9d0ea0e6fbbf56d88417667948b6153672a3e64c..a9a0b3fe783422731ecdc0e7cac84591421cbbb6 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * input_internal.h:
  *****************************************************************************
- * Copyright (C) 1998-2004 VideoLAN
+ * Copyright (C) 1998-2004 the VideoLAN team
  * $Id: input.c 7955 2004-06-07 22:21:33Z fenrir $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
@@ -23,9 +23,6 @@
 
 #ifndef _INPUT_INTERNAL_H
 #define _INPUT_INTERNAL_H 1
-#include "../../modules/demux/util/sub.h"
-
-
 
 enum input_control_e
 {
@@ -56,14 +53,12 @@ enum input_control_e
     INPUT_CONTROL_SET_BOOKMARK,
 
     INPUT_CONTROL_SET_ES,
-};
-struct input_thread_sys_t
-{
-    /* subtitles */
-    int              i_sub;
-    subtitle_demux_t **sub;
-};
 
+    INPUT_CONTROL_SET_AUDIO_DELAY,
+    INPUT_CONTROL_SET_SPU_DELAY,
+
+    INPUT_CONTROL_ADD_SLAVE,
+};
 
 /* Internal helpers */
 static inline void input_ControlPush( input_thread_t *p_input,
@@ -107,18 +102,23 @@ void input_ControlVarTitle( input_thread_t *, int i_title );
 void input_ConfigVarInit ( input_thread_t * );
 
 /* stream.c */
-stream_t *stream_AccessNew( access_t *p_access );
+stream_t *stream_AccessNew( access_t *p_access, vlc_bool_t );
 void stream_AccessDelete( stream_t *s );
 void stream_AccessReset( stream_t *s );
+void stream_AccessUpdate( stream_t *s );
 
-/* Decoder FIXME make it public */
-void input_DecoderDiscontinuity( decoder_t * p_dec );
+/* decoder.c FIXME make it public ?*/
+void       input_DecoderDiscontinuity( decoder_t * p_dec );
+vlc_bool_t input_DecoderEmpty( decoder_t * p_dec );
+void       input_DecoderPreroll( decoder_t *p_dec, int64_t i_preroll_end );
 
 /* es_out.c */
-es_out_t *input_EsOutNew( input_thread_t * );
-void      input_EsOutDelete( es_out_t * );
+es_out_t  *input_EsOutNew( input_thread_t * );
+void       input_EsOutDelete( es_out_t * );
 es_out_id_t *input_EsOutGetFromID( es_out_t *, int i_id );
-void      input_EsOutDiscontinuity( es_out_t *, vlc_bool_t b_audio );
+void       input_EsOutDiscontinuity( es_out_t *, vlc_bool_t b_audio );
+void       input_EsOutSetDelay( es_out_t *, int i_cat, int64_t );
+vlc_bool_t input_EsOutDecodersEmpty( es_out_t * );
 
 /* clock.c */
 enum /* Synchro states */
@@ -136,14 +136,13 @@ typedef struct
     mtime_t                 last_cr; /* reference to detect unexpected stream
                                       * discontinuities                      */
     mtime_t                 last_pts;
-    count_t                 c_average_count;
-                           /* counter used to compute dynamic average values */
     int                     i_synchro_state;
 
     vlc_bool_t              b_master;
 
     /* Config */
     int                     i_cr_average;
+    int                     i_delta_cr_residue;
 } input_clock_t;
 
 void input_ClockInit( input_clock_t *, vlc_bool_t b_master, int i_cr_average );
@@ -152,5 +151,6 @@ mtime_t input_ClockGetTS( input_thread_t *, input_clock_t *, mtime_t );
 
 /* Subtitles */
 char **subtitles_Detect( input_thread_t *, char* path, char *fname );
+void MRLSplit( vlc_object_t *, char *, char **, char **, char ** );
 
 #endif