vlc | branch: master | Steve Lhomme <rob...@ycbcr.xyz> | Sat May 5 16:16:51 2018 +0200| [a58b739d06acbc483e59bca11f69b15fb53b8b62] | committer: Steve Lhomme
core: use vlc_tick_t for DEMUX_GET_LENGTH officially > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a58b739d06acbc483e59bca11f69b15fb53b8b62 --- include/vlc_demux.h | 2 +- modules/access/bluray.c | 3 +-- modules/access/dcp/dcp.cpp | 6 +++--- modules/access/dvdnav.c | 2 +- modules/access/dvdread.c | 6 ++---- modules/access/idummy.c | 3 +-- modules/access/imem.c | 3 +-- modules/access/live555.cpp | 7 +++---- modules/access/rdp.c | 3 +-- modules/access/screen/wayland.c | 2 +- modules/access/timecode.c | 2 +- modules/access/vnc.c | 4 +--- modules/demux/adaptive/PlaylistManager.cpp | 2 +- modules/demux/aiff.c | 5 ++--- modules/demux/asf/asf.c | 5 ++--- modules/demux/avformat/demux.c | 7 +++---- modules/demux/avi/avi.c | 5 ++--- modules/demux/caf.c | 6 +++--- modules/demux/flac.c | 13 ++++++------- modules/demux/gme.c | 4 +--- modules/demux/image.c | 3 +-- modules/demux/mkv/mkv.cpp | 7 +++---- modules/demux/mod.c | 6 +++--- modules/demux/mp4/heif.c | 4 ++-- modules/demux/mp4/mp4.c | 9 ++++----- modules/demux/mpc.c | 8 ++++---- modules/demux/mpeg/es.c | 5 ++--- modules/demux/mpeg/ps.c | 9 ++++----- modules/demux/mpeg/ts.c | 7 ++----- modules/demux/nsv.c | 7 +++---- modules/demux/nuv.c | 9 ++++----- modules/demux/ogg.c | 5 ++--- modules/demux/ogg.h | 2 +- modules/demux/pva.c | 2 +- modules/demux/smf.c | 2 +- modules/demux/stl.c | 4 ++-- modules/demux/subtitle.c | 5 ++--- modules/demux/tta.c | 2 +- modules/demux/ttml.c | 5 ++--- modules/demux/ty.c | 5 ++--- modules/demux/vobsub.c | 5 ++--- modules/demux/webvtt.c | 4 ++-- modules/stream_out/chromecast/chromecast_demux.cpp | 2 +- src/input/demux.c | 5 ++--- src/input/demux_chained.c | 6 +++--- src/input/input.c | 2 +- 46 files changed, 94 insertions(+), 126 deletions(-) diff --git a/include/vlc_demux.h b/include/vlc_demux.h index 08e3742379..13ce0df760 100644 --- a/include/vlc_demux.h +++ b/include/vlc_demux.h @@ -176,7 +176,7 @@ enum demux_query_e DEMUX_SET_POSITION, /* arg1= double arg2= bool b_precise res=can fail */ /* LENGTH/TIME in microsecond, 0 if unknown */ - DEMUX_GET_LENGTH, /* arg1= int64_t * res= */ + DEMUX_GET_LENGTH, /* arg1= vlc_tick_t * res= */ DEMUX_GET_TIME, /* arg1= vlc_tick_t * res= */ DEMUX_SET_TIME, /* arg1= int64_t arg2= bool b_precise res=can fail */ diff --git a/modules/access/bluray.c b/modules/access/bluray.c index 07fb464dd3..3fdebeca1c 100644 --- a/modules/access/bluray.c +++ b/modules/access/bluray.c @@ -1935,11 +1935,10 @@ static int blurayControl(demux_t *p_demux, int query, va_list args) case DEMUX_GET_LENGTH: { - int64_t *pi_length = va_arg(args, int64_t *); if(p_sys->cur_title < p_sys->i_title && (CURRENT_TITLE->i_flags & INPUT_TITLE_INTERACTIVE)) return VLC_EGENERIC; - *pi_length = p_sys->cur_title < p_sys->i_title ? CUR_LENGTH : 0; + *va_arg(args, vlc_tick_t *) = p_sys->cur_title < p_sys->i_title ? CUR_LENGTH : 0; return VLC_SUCCESS; } case DEMUX_SET_TIME: diff --git a/modules/access/dcp/dcp.cpp b/modules/access/dcp/dcp.cpp index ddb2be8c00..110a4dda73 100644 --- a/modules/access/dcp/dcp.cpp +++ b/modules/access/dcp/dcp.cpp @@ -777,7 +777,7 @@ static int Control( demux_t *p_demux, int query, va_list args ) { double f,*pf; bool *pb; - int64_t *pi64, i64; + int64_t i64; demux_sys_t *p_sys = (demux_sys_t *)p_demux->p_sys; switch ( query ) @@ -815,8 +815,8 @@ static int Control( demux_t *p_demux, int query, va_list args ) break; case DEMUX_GET_LENGTH: - pi64 = va_arg ( args, int64_t * ); - *pi64 = ( p_sys->frames_total * p_sys->frame_rate_denom / p_sys->frame_rate_num ) * CLOCK_FREQ; + *va_arg ( args, vlc_tick_t * ) = + vlc_tick_from_sec( p_sys->frames_total * p_sys->frame_rate_denom / p_sys->frame_rate_num ); break; case DEMUX_GET_TIME: diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c index 505e92962b..7092539624 100644 --- a/modules/access/dvdnav.c +++ b/modules/access/dvdnav.c @@ -569,7 +569,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) case DEMUX_GET_LENGTH: if( p_sys->i_pgc_length > 0 ) { - *va_arg( args, int64_t * ) = (int64_t)p_sys->i_pgc_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_pgc_length; return VLC_SUCCESS; } break; diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c index 74fb63682a..8d89360e59 100644 --- a/modules/access/dvdread.c +++ b/modules/access/dvdread.c @@ -319,7 +319,6 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; bool *pb; - int64_t *pi64; input_title_t ***ppp_title; int *pi_int; int i; @@ -356,13 +355,12 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_EGENERIC; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->cur_title >= 0 && p_sys->cur_title < p_sys->i_titles ) { - *pi64 = (int64_t)dvdtime_to_time( &p_sys->p_cur_pgc->playback_time ); + *va_arg( args, vlc_tick_t * ) = dvdtime_to_time( &p_sys->p_cur_pgc->playback_time ); return VLC_SUCCESS; } - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; return VLC_EGENERIC; /* Special for access_demux */ diff --git a/modules/access/idummy.c b/modules/access/idummy.c index f4c37b73f9..f9c5248746 100644 --- a/modules/access/idummy.c +++ b/modules/access/idummy.c @@ -106,8 +106,7 @@ static int ControlPause( demux_t *demux, int query, va_list args ) case DEMUX_GET_LENGTH: { - vlc_tick_t *plen = va_arg( args, vlc_tick_t * ); - *plen = p_sys->length; + *va_arg( args, vlc_tick_t * ) = p_sys->length; break; } diff --git a/modules/access/imem.c b/modules/access/imem.c index 45b54feab1..e4b27db2f0 100644 --- a/modules/access/imem.c +++ b/modules/access/imem.c @@ -541,8 +541,7 @@ static int ControlDemux(demux_t *demux, int i_query, va_list args) return VLC_SUCCESS; } case DEMUX_GET_LENGTH: { - int64_t *l = va_arg(args, int64_t *); - *l = 0; + *va_arg(args, vlc_tick_t *) = 0; return VLC_SUCCESS; } case DEMUX_SET_NEXT_DEMUX_TIME: diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp index 45f7a8c25e..606bdc46b2 100644 --- a/modules/access/live555.cpp +++ b/modules/access/live555.cpp @@ -1518,7 +1518,7 @@ static int Demux( demux_t *p_demux ) static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = (demux_sys_t *)p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; double *pf, f; bool *pb; @@ -1535,13 +1535,12 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_EGENERIC; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->f_npt_length > 0 ) { if( unlikely(p_sys->f_npt_length >= (double)(INT64_MAX / CLOCK_FREQ)) ) - *pi64 = INT64_MAX; + *va_arg( args, vlc_tick_t * ) = INT64_MAX; else - *pi64 = vlc_tick_from_sec(p_sys->f_npt_length); + *va_arg( args, vlc_tick_t * ) = vlc_tick_from_sec(p_sys->f_npt_length); return VLC_SUCCESS; } return VLC_EGENERIC; diff --git a/modules/access/rdp.c b/modules/access/rdp.c index afbdd80a66..d5a1049e3e 100644 --- a/modules/access/rdp.c +++ b/modules/access/rdp.c @@ -311,8 +311,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; return VLC_SUCCESS; case DEMUX_GET_FPS: diff --git a/modules/access/screen/wayland.c b/modules/access/screen/wayland.c index bf81fb76a1..07dc2c264d 100644 --- a/modules/access/screen/wayland.c +++ b/modules/access/screen/wayland.c @@ -285,7 +285,7 @@ static int Control(demux_t *demux, int query, va_list args) break; case DEMUX_GET_LENGTH: - *va_arg(args, int64_t *) = 0; + *va_arg(args, vlc_tick_t *) = 0; break; case DEMUX_GET_TIME: diff --git a/modules/access/timecode.c b/modules/access/timecode.c index d82f116998..dbe6535e37 100644 --- a/modules/access/timecode.c +++ b/modules/access/timecode.c @@ -121,7 +121,7 @@ static int Control (demux_t *demux, int query, va_list args) break; case DEMUX_GET_LENGTH: - *va_arg (args, int64_t *) = INT64_C(0); + *va_arg (args, vlc_tick_t *) = INT64_C(0); break; case DEMUX_GET_TIME: diff --git a/modules/access/vnc.c b/modules/access/vnc.c index 4f7fbf857a..42dfcc2323 100644 --- a/modules/access/vnc.c +++ b/modules/access/vnc.c @@ -278,7 +278,6 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; bool *pb; - int64_t *pi64; double *p_dbl; vlc_meta_t *p_meta; @@ -308,8 +307,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; return VLC_SUCCESS; case DEMUX_GET_FPS: diff --git a/modules/demux/adaptive/PlaylistManager.cpp b/modules/demux/adaptive/PlaylistManager.cpp index 491427f17d..74ffda70c6 100644 --- a/modules/demux/adaptive/PlaylistManager.cpp +++ b/modules/demux/adaptive/PlaylistManager.cpp @@ -537,7 +537,7 @@ int PlaylistManager::doControl(int i_query, va_list args) vlc_mutex_locker locker(&cached.lock); if(cached.b_live) return VLC_EGENERIC; - *(va_arg (args, int64_t *)) = cached.i_length; + *(va_arg (args, vlc_tick_t *)) = cached.i_length; break; } diff --git a/modules/demux/aiff.c b/modules/demux/aiff.c index b8ed3d1119..193c3434ec 100644 --- a/modules/demux/aiff.c +++ b/modules/demux/aiff.c @@ -268,7 +268,6 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t *pi64; switch( i_query ) { @@ -321,10 +320,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { int64_t i_end = p_sys->i_ssnd_end > 0 ? p_sys->i_ssnd_end : stream_Size( p_demux->s ); - pi64 = va_arg( args, int64_t * ); if( p_sys->i_ssnd_start < i_end ) { - *pi64 = CLOCK_FREQ * ( i_end - p_sys->i_ssnd_start ) / p_sys->i_ssnd_fsize / p_sys->fmt.audio.i_rate; + *va_arg( args, vlc_tick_t * ) = + CLOCK_FREQ * ( i_end - p_sys->i_ssnd_start ) / p_sys->i_ssnd_fsize / p_sys->fmt.audio.i_rate; return VLC_SUCCESS; } return VLC_EGENERIC; diff --git a/modules/demux/asf/asf.c b/modules/demux/asf/asf.c index 0532fea76e..24bcc0339e 100644 --- a/modules/demux/asf/asf.c +++ b/modules/demux/asf/asf.c @@ -413,15 +413,14 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; vlc_meta_t *p_meta; - int64_t i64, *pi64; + int64_t i64; int i; double f, *pf; switch( i_query ) { case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = p_sys->i_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_length; return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c index b92079e720..cbedd7f109 100644 --- a/modules/demux/avformat/demux.c +++ b/modules/demux/avformat/demux.c @@ -1001,7 +1001,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) demux_sys_t *p_sys = p_demux->p_sys; const int64_t i_start_time = p_sys->ic->start_time != AV_NOPTS_VALUE ? p_sys->ic->start_time : 0; double f, *pf; - int64_t i64, *pi64; + int64_t i64; switch( i_query ) { @@ -1058,11 +1058,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) } case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->ic->duration != (int64_t)AV_NOPTS_VALUE ) - *pi64 = FROM_AV_TS(p_sys->ic->duration); + *va_arg( args, vlc_tick_t * ) = FROM_AV_TS(p_sys->ic->duration); else - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c index bf39154167..fec84cee6c 100644 --- a/modules/demux/avi/avi.c +++ b/modules/demux/avi/avi.c @@ -1590,7 +1590,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + vlc_tick_t i64; bool b; vlc_meta_t *p_meta; @@ -1643,8 +1643,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return Seek( p_demux, i64, f, b ); } case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = p_sys->i_length * (vlc_tick_t)CLOCK_FREQ; + *va_arg( args, vlc_tick_t * ) = vlc_tick_from_sec(p_sys->i_length); return VLC_SUCCESS; case DEMUX_GET_FPS: diff --git a/modules/demux/caf.c b/modules/demux/caf.c index dda7f83142..44df146d04 100644 --- a/modules/demux/caf.c +++ b/modules/demux/caf.c @@ -1002,7 +1002,7 @@ static int Demux( demux_t *p_demux ) *****************************************************************************/ static int Control( demux_t *p_demux, int i_query, va_list args ) { - int64_t i64, *pi64, i_sample; + int64_t i64, i_sample; double f, *pf; frame_span_t position; @@ -1016,8 +1016,8 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = CLOCK_FREQ * ( i_num_samples / p_sys->fmt.audio.i_rate ); + *va_arg( args, vlc_tick_t * ) = + CLOCK_FREQ * ( i_num_samples / p_sys->fmt.audio.i_rate ); return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/demux/flac.c b/modules/demux/flac.c index 1184bd6fab..0ed521db2a 100644 --- a/modules/demux/flac.c +++ b/modules/demux/flac.c @@ -86,7 +86,7 @@ typedef struct struct flac_stream_info stream_info; bool b_stream_info; - int64_t i_length; /* Length from stream info */ + vlc_tick_t i_length; /* Length from stream info */ uint64_t i_data_pos; /* */ @@ -408,11 +408,11 @@ static int Demux( demux_t *p_demux ) /***************************************************************************** * Control: *****************************************************************************/ -static int64_t ControlGetLength( demux_t *p_demux ) +static vlc_tick_t ControlGetLength( demux_t *p_demux ) { demux_sys_t *p_sys = p_demux->p_sys; const uint64_t i_size = stream_Size(p_demux->s) - p_sys->i_data_pos; - int64_t i_length = p_sys->i_length; + vlc_tick_t i_length = p_sys->i_length; int i; /* Try to fix length using seekpoint and current size for truncated file */ @@ -521,8 +521,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) } else if( i_query == DEMUX_GET_LENGTH ) { - int64_t *pi64 = va_arg( args, int64_t * ); - *pi64 = ControlGetLength( p_demux ); + *va_arg( args, vlc_tick_t * ) = ControlGetLength( p_demux ); return VLC_SUCCESS; } else if( i_query == DEMUX_SET_TIME ) @@ -533,7 +532,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) else if( i_query == DEMUX_SET_POSITION ) { const double f = va_arg( args, double ); - int64_t i_length = ControlGetLength( p_demux ); + vlc_tick_t i_length = ControlGetLength( p_demux ); int i_ret; if( i_length > 0 ) { @@ -557,7 +556,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) } else if( i_query == DEMUX_GET_POSITION ) { - const int64_t i_length = ControlGetLength(p_demux); + const vlc_tick_t i_length = ControlGetLength(p_demux); if( i_length > 0 ) { vlc_tick_t current = ControlGetTime(p_demux); diff --git a/modules/demux/gme.c b/modules/demux/gme.c index abc432f1e2..efff60ac0c 100644 --- a/modules/demux/gme.c +++ b/modules/demux/gme.c @@ -280,12 +280,10 @@ static int Control (demux_t *demux, int query, va_list args) case DEMUX_GET_LENGTH: { - int64_t *v = va_arg (args, int64_t *); - if (unlikely(sys->track_id >= sys->titlec) || (sys->titlev[sys->track_id]->i_length == 0)) break; - *v = sys->titlev[sys->track_id]->i_length; + *va_arg (args, vlc_tick_t *) = sys->titlev[sys->track_id]->i_length; return VLC_SUCCESS; } diff --git a/modules/demux/image.c b/modules/demux/image.c index 6949cb803f..536ce681d9 100644 --- a/modules/demux/image.c +++ b/modules/demux/image.c @@ -273,8 +273,7 @@ static int Control(demux_t *demux, int query, va_list args) return VLC_SUCCESS; } case DEMUX_GET_LENGTH: { - int64_t *length = va_arg(args, int64_t *); - *length = __MAX(sys->duration, 0); + *va_arg(args, vlc_tick_t *) = __MAX(sys->duration, 0); return VLC_SUCCESS; } case DEMUX_GET_FPS: { diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp index c97a490fc1..f6a2112afb 100644 --- a/modules/demux/mkv/mkv.cpp +++ b/modules/demux/mkv/mkv.cpp @@ -284,7 +284,7 @@ static void Close( vlc_object_t *p_this ) static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = (demux_sys_t *)p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; double *pf, f; int i_skp; size_t i_idx; @@ -330,11 +330,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->i_duration > 0 ) - *pi64 = static_cast<int64_t>( p_sys->i_duration ); + *va_arg( args, vlc_tick_t * ) = p_sys->i_duration; else - *pi64 = VLC_TICK_INVALID; + *va_arg( args, vlc_tick_t * ) = VLC_TICK_INVALID; return VLC_SUCCESS; case DEMUX_GET_POSITION: diff --git a/modules/demux/mod.c b/modules/demux/mod.c index c64cab14e4..40dbcaa00f 100644 --- a/modules/demux/mod.c +++ b/modules/demux/mod.c @@ -292,7 +292,8 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; + vlc_tick_t *pi64; switch( i_query ) { @@ -329,8 +330,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = p_sys->i_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_length; return VLC_SUCCESS; case DEMUX_SET_TIME: diff --git a/modules/demux/mp4/heif.c b/modules/demux/mp4/heif.c index c3794d043e..e2ea427608 100644 --- a/modules/demux/mp4/heif.c +++ b/modules/demux/mp4/heif.c @@ -177,8 +177,8 @@ static int ControlHEIF( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; } case DEMUX_GET_LENGTH: - *(va_arg( args, int64_t * )) = p_sys->p_title->i_seekpoint * - p_sys->i_image_duration; + *(va_arg( args, vlc_tick_t * )) = p_sys->p_title->i_seekpoint * + p_sys->i_image_duration; return VLC_SUCCESS; case DEMUX_GET_TIME: *(va_arg(args, vlc_tick_t *)) = p_sys->i_pcr; diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index 109cf34dab..3b89e64faf 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -1946,7 +1946,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; bool b; const uint64_t i_duration = __MAX(p_sys->i_duration, p_sys->i_cumulated_duration); @@ -2000,13 +2000,12 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return Seek( p_demux, i64, b ); case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->i_timescale > 0 ) { - *pi64 = MP4_rescale_mtime( i_duration, - p_sys->i_timescale ); + *va_arg( args, vlc_tick_t * ) = MP4_rescale_mtime( i_duration, + p_sys->i_timescale ); } - else *pi64 = 0; + else *va_arg( args, vlc_tick_t * ) = 0; return VLC_SUCCESS; case DEMUX_GET_FPS: diff --git a/modules/demux/mpc.c b/modules/demux/mpc.c index e3ea8726bb..3148710ad7 100644 --- a/modules/demux/mpc.c +++ b/modules/demux/mpc.c @@ -260,7 +260,8 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; + vlc_tick_t *pi64; bool *pb_bool; switch( i_query ) @@ -274,9 +275,8 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = CLOCK_FREQ * p_sys->info.pcm_samples / - p_sys->info.sample_freq; + *va_arg( args, vlc_tick_t * ) = + CLOCK_FREQ * p_sys->info.pcm_samples / p_sys->info.sample_freq; return VLC_SUCCESS; case DEMUX_GET_POSITION: diff --git a/modules/demux/mpeg/es.c b/modules/demux/mpeg/es.c index 02a284f469..e82a716cbb 100644 --- a/modules/demux/mpeg/es.c +++ b/modules/demux/mpeg/es.c @@ -389,7 +389,6 @@ static void Close( vlc_object_t * p_this ) static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; - int64_t *pi64; bool *pb_bool; switch( i_query ) @@ -427,8 +426,8 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_EGENERIC; } - pi64 = va_arg( args, int64_t * ); - *pi64 = (p_sys->i_pts + p_sys->i_time_offset) / f_pos; + *va_arg( args, vlc_tick_t * ) = + (p_sys->i_pts + p_sys->i_time_offset) / f_pos; return VLC_SUCCESS; } return i_ret; diff --git a/modules/demux/mpeg/ps.c b/modules/demux/mpeg/ps.c index e5b998a911..d3045423f3 100644 --- a/modules/demux/mpeg/ps.c +++ b/modules/demux/mpeg/ps.c @@ -673,7 +673,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; int i_ret; switch( i_query ) @@ -749,19 +749,18 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) break; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->i_length > VLC_TICK_0 ) { - *pi64 = p_sys->i_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_length; return VLC_SUCCESS; } else if( p_sys->i_mux_rate > 0 ) { - *pi64 = CLOCK_FREQ * ( stream_Size( p_demux->s ) - p_sys->i_start_byte / 50 ) / + *va_arg( args, vlc_tick_t * ) = CLOCK_FREQ * ( stream_Size( p_demux->s ) - p_sys->i_start_byte / 50 ) / p_sys->i_mux_rate; return VLC_SUCCESS; } - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; break; case DEMUX_SET_TIME: diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c index 54f9a594b4..fa733292da 100644 --- a/modules/demux/mpeg/ts.c +++ b/modules/demux/mpeg/ts.c @@ -885,7 +885,6 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) double f, *pf; bool b_bool, *pb_bool; int64_t i64; - int64_t *pi64; int i_int; const ts_pmt_t *p_pmt = NULL; const ts_pat_t *p_pat = GetPID(p_sys, 0)->u.p_pat; @@ -1030,14 +1029,12 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) break; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - if( p_sys->b_access_control ) { time_t i_event_duration; if( !EITCurrentEventTime( p_pmt, p_sys, NULL, &i_event_duration ) ) { - *pi64 = vlc_tick_from_sec( i_event_duration ); + *va_arg( args, vlc_tick_t * ) = vlc_tick_from_sec( i_event_duration ); return VLC_SUCCESS; } } @@ -1051,7 +1048,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) p_pmt->pcr.i_first_dts; stime_t i_last = TimeStampWrapAround( p_pmt->pcr.i_first, p_pmt->i_last_dts ); i_last += p_pmt->pcr.i_pcroffset; - *pi64 = FROM_SCALE(i_last - i_start); + *va_arg( args, vlc_tick_t * ) = FROM_SCALE(i_last - i_start); return VLC_SUCCESS; } break; diff --git a/modules/demux/nsv.c b/modules/demux/nsv.c index 0bb88d6837..e08f82256d 100644 --- a/modules/demux/nsv.c +++ b/modules/demux/nsv.c @@ -348,7 +348,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; bool b_bool, *pb_bool; - int64_t i64, *pi64; + int64_t i64; switch( i_query ) { @@ -390,13 +390,12 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) #if 0 case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->i_mux_rate > 0 ) { - *pi64 = CLOCK_FREQ * ( stream_Size( p_demux->s ) / 50 ) / p_sys->i_mux_rate; + *va_arg( args, vlc_tick_t * ) = CLOCK_FREQ * ( stream_Size( p_demux->s ) / 50 ) / p_sys->i_mux_rate; return VLC_SUCCESS; } - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; return VLC_EGENERIC; #endif diff --git a/modules/demux/nuv.c b/modules/demux/nuv.c index 47956bdf91..4e76c229ee 100644 --- a/modules/demux/nuv.c +++ b/modules/demux/nuv.c @@ -449,7 +449,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; switch( i_query ) { @@ -521,19 +521,18 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) } case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->i_total_length >= 0 ) { - *pi64 = p_sys->i_total_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_total_length; return VLC_SUCCESS; } else if( vlc_stream_Tell( p_demux->s ) > p_sys->i_first_frame_offset ) { /* This should give an approximation of the total duration */ if (p_sys->i_pcr <= 0) - *pi64 = 0; + *va_arg( args, vlc_tick_t * ) = 0; else - *pi64 = p_sys->i_pcr * + *va_arg( args, vlc_tick_t * ) = p_sys->i_pcr * (double)( stream_Size( p_demux->s ) - p_sys->i_first_frame_offset ) / (double)( vlc_stream_Tell( p_demux->s ) - p_sys->i_first_frame_offset ); diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c index 01a80fd9d1..62db4aaa4c 100644 --- a/modules/demux/ogg.c +++ b/modules/demux/ogg.c @@ -671,7 +671,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; vlc_meta_t *p_meta; - int64_t *pi64, i64; + int64_t i64; double *pf, f; bool *pb_bool, b, acc; @@ -801,8 +801,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) if ( p_sys->i_length < 0 ) return demux_vaControlHelper( p_demux->s, 0, -1, p_sys->i_bitrate, 1, i_query, args ); - pi64 = va_arg( args, int64_t * ); - *pi64 = p_sys->i_length * 1000000; + *va_arg( args, vlc_tick_t * ) = vlc_tick_from_sec(p_sys->i_length); return VLC_SUCCESS; case DEMUX_GET_TITLE_INFO: diff --git a/modules/demux/ogg.h b/modules/demux/ogg.h index b9c95c3afe..e8010cc51d 100644 --- a/modules/demux/ogg.h +++ b/modules/demux/ogg.h @@ -218,7 +218,7 @@ typedef struct bool b_preparsing_done; bool b_es_created; - /* Length, if available. */ + /* Length in second, if available. */ int64_t i_length; bool b_slave; diff --git a/modules/demux/pva.c b/modules/demux/pva.c index aabcd7ae34..56be650d58 100644 --- a/modules/demux/pva.c +++ b/modules/demux/pva.c @@ -332,7 +332,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) #if 0 case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); + pi64 = va_arg( args, vlc_tick_t * ); if( p_sys->i_mux_rate > 0 ) { *pi64 = CLOCK_FREQ * ( stream_Size( p_demux->s ) / 50 ) / p_sys->i_mux_rate; diff --git a/modules/demux/smf.c b/modules/demux/smf.c index b6e70d60c4..d60f2f0ec4 100644 --- a/modules/demux/smf.c +++ b/modules/demux/smf.c @@ -517,7 +517,7 @@ static int Control (demux_t *demux, int i_query, va_list args) case DEMUX_SET_POSITION: return Seek (demux, va_arg (args, double) * sys->duration); case DEMUX_GET_LENGTH: - *va_arg (args, int64_t *) = sys->duration; + *va_arg (args, vlc_tick_t *) = sys->duration; break; case DEMUX_GET_TIME: *va_arg (args, vlc_tick_t *) = sys->tick - VLC_TICK_0; diff --git a/modules/demux/stl.c b/modules/demux/stl.c index 406be31e2d..cf5210234e 100644 --- a/modules/demux/stl.c +++ b/modules/demux/stl.c @@ -102,8 +102,8 @@ static int Control(demux_t *demux, int query, va_list args) case DEMUX_CAN_SEEK: return vlc_stream_vaControl(demux->s, query, args); case DEMUX_GET_LENGTH: { - int64_t *l = va_arg(args, int64_t *); - *l = sys->count > 0 ? sys->index[sys->count-1].stop : 0; + *va_arg(args, vlc_tick_t *) = + sys->count > 0 ? sys->index[sys->count-1].stop : 0; return VLC_SUCCESS; } case DEMUX_GET_TIME: { diff --git a/modules/demux/subtitle.c b/modules/demux/subtitle.c index c97403c2bb..2e6d767b73 100644 --- a/modules/demux/subtitle.c +++ b/modules/demux/subtitle.c @@ -752,7 +752,7 @@ static void Close( vlc_object_t *p_this ) static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; double *pf, f; switch( i_query ) @@ -762,8 +762,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = p_sys->i_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_length; return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/demux/tta.c b/modules/demux/tta.c index 1aec0921db..70d5d7f12a 100644 --- a/modules/demux/tta.c +++ b/modules/demux/tta.c @@ -226,7 +226,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *pi64; + int64_t i64; switch( i_query ) { diff --git a/modules/demux/ttml.c b/modules/demux/ttml.c index 9aa69bef44..4fd7d92c91 100644 --- a/modules/demux/ttml.c +++ b/modules/demux/ttml.c @@ -207,7 +207,7 @@ static void tt_node_ToText( struct vlc_memstream *p_stream, const tt_basenode_t static int Control( demux_t* p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; double *pf, f; bool b; @@ -236,12 +236,11 @@ static int Control( demux_t* p_demux, int i_query, va_list args ) p_sys->b_slave = true; return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); if( p_sys->times.i_count ) { tt_time_t t = tt_time_Sub( p_sys->times.p_array[p_sys->times.i_count - 1], p_sys->temporal_extent.begin ); - *pi64 = tt_time_Convert( &t ); + *va_arg( args, vlc_tick_t * ) = tt_time_Convert( &t ); return VLC_SUCCESS; } break; diff --git a/modules/demux/ty.c b/modules/demux/ty.c index 75c3417b08..fb83ef451e 100644 --- a/modules/demux/ty.c +++ b/modules/demux/ty.c @@ -491,7 +491,7 @@ static int Control(demux_t *p_demux, int i_query, va_list args) { demux_sys_t *p_sys = p_demux->p_sys; double f, *pf; - int64_t i64, *p_i64; + int64_t i64; /*msg_Info(p_demux, "control cmd %d", i_query);*/ switch( i_query ) @@ -526,8 +526,7 @@ static int Control(demux_t *p_demux, int i_query, va_list args) return VLC_SUCCESS; case DEMUX_GET_LENGTH: /* length of program in microseconds, 0 if unk */ /* size / bitrate */ - p_i64 = va_arg(args, int64_t *); - *p_i64 = 0; + *va_arg(args, vlc_tick_t *) = 0; return VLC_SUCCESS; case DEMUX_SET_TIME: /* arg is time in microsecs */ i64 = va_arg( args, int64_t ); diff --git a/modules/demux/vobsub.c b/modules/demux/vobsub.c index cedb81dd9c..b1f939216e 100644 --- a/modules/demux/vobsub.c +++ b/modules/demux/vobsub.c @@ -238,7 +238,7 @@ static void Close( vlc_object_t *p_this ) static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; int i; double *pf, f; @@ -249,8 +249,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - pi64 = va_arg( args, int64_t * ); - *pi64 = (int64_t) p_sys->i_length; + *va_arg( args, vlc_tick_t * ) = p_sys->i_length; return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/demux/webvtt.c b/modules/demux/webvtt.c index d446ef12cc..06f29c6dc2 100644 --- a/modules/demux/webvtt.c +++ b/modules/demux/webvtt.c @@ -421,7 +421,7 @@ static void MakeExtradata( demux_sys_t *p_sys, void **p_extra, size_t *pi_extra static int Control( demux_t *p_demux, int i_query, va_list args ) { demux_sys_t *p_sys = p_demux->p_sys; - int64_t *pi64, i64; + int64_t i64; double *pf, f; switch( i_query ) @@ -431,7 +431,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_LENGTH: - *(va_arg( args, int64_t * )) = p_sys->i_length; + *(va_arg( args, vlc_tick_t * )) = p_sys->i_length; return VLC_SUCCESS; case DEMUX_GET_TIME: diff --git a/modules/stream_out/chromecast/chromecast_demux.cpp b/modules/stream_out/chromecast/chromecast_demux.cpp index b4b5e8c4a6..b82fd74d92 100644 --- a/modules/stream_out/chromecast/chromecast_demux.cpp +++ b/modules/stream_out/chromecast/chromecast_demux.cpp @@ -333,7 +333,7 @@ struct demux_cc va_copy( ap, args ); ret = demux_vaControl( p_demux_filter->p_next, i_query, args ); if( ret == VLC_SUCCESS ) - m_length = *va_arg( ap, int64_t * ); + m_length = *va_arg( ap, vlc_tick_t * ); va_end( ap ); return ret; } diff --git a/src/input/demux.c b/src/input/demux.c index e3cb7c6e99..b715e28a1e 100644 --- a/src/input/demux.c +++ b/src/input/demux.c @@ -275,7 +275,7 @@ int demux_vaControlHelper( stream_t *s, { int64_t i_tell; double f, *pf; - int64_t i64, *pi64; + int64_t i64; if( i_end < 0 ) i_end = stream_Size( s ); if( i_start < 0 ) i_start = 0; @@ -310,10 +310,9 @@ int demux_vaControlHelper( stream_t *s, return vlc_stream_vaControl( s, i_query, args ); case DEMUX_GET_LENGTH: - pi64 = (int64_t*)va_arg( args, int64_t * ); if( i_bitrate > 0 && i_end > i_start ) { - *pi64 = INT64_C(8000000) * (i_end - i_start) / i_bitrate; + *va_arg( args, vlc_tick_t * ) = INT64_C(8000000) * (i_end - i_start) / i_bitrate; return VLC_SUCCESS; } return VLC_EGENERIC; diff --git a/src/input/demux_chained.c b/src/input/demux_chained.c index 5fe1d56afa..30fb6fd935 100644 --- a/src/input/demux_chained.c +++ b/src/input/demux_chained.c @@ -42,7 +42,7 @@ struct vlc_demux_chained_t struct { double position; - int64_t length; + vlc_tick_t length; vlc_tick_t time; } stats; @@ -72,7 +72,7 @@ static void *vlc_demux_chained_Thread(void *data) if (demux_TestAndClearFlags(demux, UINT_MAX) || vlc_tick_now() >= next_update) { double newpos; - int64_t newlen; + vlc_tick_t newlen; vlc_tick_t newtime; if (demux_Control(demux, DEMUX_GET_POSITION, &newpos)) @@ -146,7 +146,7 @@ int vlc_demux_chained_ControlVa(vlc_demux_chained_t *dc, int query, va_list ap) break; case DEMUX_GET_LENGTH: vlc_mutex_lock(&dc->lock); - *va_arg(ap, int64_t *) = dc->stats.length; + *va_arg(ap, vlc_tick_t *) = dc->stats.length; vlc_mutex_unlock(&dc->lock); break; case DEMUX_GET_TIME: diff --git a/src/input/input.c b/src/input/input.c index 94a73bad7d..48eaf3e1d5 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -1908,7 +1908,7 @@ static bool Control( input_thread_t *p_input, param.time.b_absolute ); if( i_ret ) { - int64_t i_length; + vlc_tick_t i_length; /* Emulate it with a SET_POS */ if( !demux_Control( priv->master->p_demux, _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits