summaryrefslogtreecommitdiffstats
path: root/demux/demux_disc.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_disc.c')
-rw-r--r--demux/demux_disc.c11
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