summaryrefslogtreecommitdiffstats
path: root/demux/demux_timeline.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_timeline.c')
-rw-r--r--demux/demux_timeline.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/demux/demux_timeline.c b/demux/demux_timeline.c
index 359f97f2bc..d7a5c36d70 100644
--- a/demux/demux_timeline.c
+++ b/demux/demux_timeline.c
@@ -363,6 +363,7 @@ static int d_open(struct demuxer *demuxer, enum demux_check check)
demuxer->editions = meta->editions;
demuxer->num_editions = meta->num_editions;
demuxer->edition = meta->edition;
+ demuxer->duration = p->duration;
int num_streams = demux_get_num_stream(meta);
for (int n = 0; n < num_streams; n++) {
@@ -431,17 +432,11 @@ static void d_close(struct demuxer *demuxer)
static int d_control(struct demuxer *demuxer, int cmd, void *arg)
{
- struct priv *p = demuxer->priv;
-
- switch (cmd) {
- case DEMUXER_CTRL_GET_TIME_LENGTH: {
- *(double *)arg = p->duration;
- return CONTROL_OK;
- }
- case DEMUXER_CTRL_SWITCHED_TRACKS:
+ if (cmd == DEMUXER_CTRL_SWITCHED_TRACKS) {
reselect_streams(demuxer);
return CONTROL_OK;
}
+
return CONTROL_UNKNOWN;
}