summaryrefslogtreecommitdiffstats
path: root/demux/demux_lavf.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-07-05 16:54:49 +0200
committerwm4 <wm4@nowhere>2014-07-05 17:07:15 +0200
commit8d40b1e8ab2eeefae7a3bc20e176b2be707d3682 (patch)
tree358317c2fec590018ac473a58795ae3ca7f13a9f /demux/demux_lavf.c
parent7e209185f1fa804dda4474de7246a4d85418315e (diff)
downloadmpv-8d40b1e8ab2eeefae7a3bc20e176b2be707d3682.tar.bz2
mpv-8d40b1e8ab2eeefae7a3bc20e176b2be707d3682.tar.xz
demux: make start time a simple field
Simpler, especially for later changes.
Diffstat (limited to 'demux/demux_lavf.c')
-rw-r--r--demux/demux_lavf.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 76a7d50471..619f06b32b 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -759,6 +759,13 @@ static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check)
demuxer->ts_resets_possible = priv->avif->flags & AVFMT_TS_DISCONT;
+ demuxer->start_time = priv->avfc->start_time == AV_NOPTS_VALUE ?
+ 0 : (double)priv->avfc->start_time / AV_TIME_BASE;
+
+ double time;
+ if (stream_control(demuxer->stream, STREAM_CTRL_GET_START_TIME, &time) > 0)
+ demuxer->start_time = time;
+
return 0;
}
@@ -913,11 +920,6 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
*((double *)arg) = (double)priv->avfc->duration / AV_TIME_BASE;
return DEMUXER_CTRL_OK;
- case DEMUXER_CTRL_GET_START_TIME:
- *((double *)arg) = priv->avfc->start_time == AV_NOPTS_VALUE ?
- 0 : (double)priv->avfc->start_time / AV_TIME_BASE;
- return DEMUXER_CTRL_OK;
-
case DEMUXER_CTRL_SWITCHED_TRACKS:
{
select_tracks(demuxer, 0);