diff options
Diffstat (limited to 'demux/demux_disc.c')
-rw-r--r-- | demux/demux_disc.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/demux/demux_disc.c b/demux/demux_disc.c index f4c9c34332..6c88bc1adc 100644 --- a/demux/demux_disc.c +++ b/demux/demux_disc.c @@ -338,6 +338,10 @@ static int d_open(demuxer_t *demuxer, enum demux_check check) add_streams(demuxer); add_stream_chapters(demuxer); + double len; + if (stream_control(demuxer->stream, STREAM_CTRL_GET_TIME_LENGTH, &len) >= 1) + demuxer->duration = len; + return 0; } @@ -352,13 +356,6 @@ static int d_control(demuxer_t *demuxer, int cmd, void *arg) struct priv *p = demuxer->priv; switch (cmd) { - case DEMUXER_CTRL_GET_TIME_LENGTH: { - double len; - if (stream_control(demuxer->stream, STREAM_CTRL_GET_TIME_LENGTH, &len) < 1) - break; - *(double *)arg = len; - return CONTROL_OK; - } case DEMUXER_CTRL_RESYNC: demux_flush(p->slave); break; // relay to slave demuxer |