X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finput%2Fes_out.h;h=9dd5d45ab3c3e070eedc6b2d474904c6d524ac97;hb=d2eaf62f53aa3b3c74fdb4e6534805cbb9ad2fcc;hp=580e92331d48e994a1e5b5013364fc8abeb7c4ff;hpb=1f8343b87c62f77f2a95ce29ceed3f416b2399e4;p=vlc diff --git a/src/input/es_out.h b/src/input/es_out.h index 580e92331d..9dd5d45ab3 100644 --- a/src/input/es_out.h +++ b/src/input/es_out.h @@ -31,6 +31,14 @@ #include +enum es_out_mode_e +{ + ES_OUT_MODE_NONE, /* don't select anything */ + ES_OUT_MODE_ALL, /* eg for stream output */ + ES_OUT_MODE_AUTO, /* best audio/video or for input follow audio-track, sub-track */ + ES_OUT_MODE_PARTIAL /* select programs given after --programs */ +}; + enum es_out_query_private_e { @@ -51,9 +59,6 @@ enum es_out_query_private_e /* Get buffering state */ ES_OUT_GET_BUFFERING, /* arg1=bool* res=cannot fail */ - /* Check if es_out has still data to play */ - ES_OUT_GET_EMPTY, /* arg1=bool* res=cannot fail */ - /* Set delay for a ES category */ ES_OUT_SET_DELAY, /* arg1=es_category_e, res=can fail */ @@ -71,6 +76,12 @@ enum es_out_query_private_e /* Set next frame */ ES_OUT_SET_FRAME_NEXT, /* res=can fail */ + + /* Set position/time/length */ + ES_OUT_SET_TIMES, /* arg1=double f_position arg2=mtime_t i_time arg3=mtime_t i_length res=cannot fail */ + + /* Set jitter */ + ES_OUT_SET_JITTER, /* arg1=mtime_t i_pts_delay arg2=int i_cr_average res=cannot fail */ }; static inline mtime_t es_out_GetWakeup( es_out_t *p_out ) @@ -121,6 +132,16 @@ static inline int es_out_SetFrameNext( es_out_t *p_out ) { return es_out_Control( p_out, ES_OUT_SET_FRAME_NEXT ); } +static inline void es_out_SetTimes( es_out_t *p_out, double f_position, mtime_t i_time, mtime_t i_length ) +{ + int i_ret = es_out_Control( p_out, ES_OUT_SET_TIMES, f_position, i_time, i_length ); + assert( !i_ret ); +} +static inline void es_out_SetJitter( es_out_t *p_out, mtime_t i_pts_delay, int i_cr_average ) +{ + int i_ret = es_out_Control( p_out, ES_OUT_SET_JITTER, i_pts_delay, i_cr_average ); + assert( !i_ret ); +} es_out_t *input_EsOutNew( input_thread_t *, int i_rate );