summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
Diffstat (limited to 'demux')
-rw-r--r--demux/demux.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 9622c2412a..eeaa92c266 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -1384,17 +1384,20 @@ int demuxer_chapter_count(demuxer_t *demuxer)
double demuxer_get_time_length(struct demuxer *demuxer)
{
- double get_time_ans;
+ double len;
+ if (stream_control(demuxer->stream, STREAM_CTRL_GET_TIME_LENGTH, &len) > 0)
+ return len;
// <= 0 means DEMUXER_CTRL_NOTIMPL or DEMUXER_CTRL_DONTKNOW
- if (demux_control(demuxer, DEMUXER_CTRL_GET_TIME_LENGTH,
- (void *) &get_time_ans) > 0)
- return get_time_ans;
+ if (demux_control(demuxer, DEMUXER_CTRL_GET_TIME_LENGTH, &len) > 0)
+ return len;
return -1;
}
double demuxer_get_start_time(struct demuxer *demuxer)
{
double time;
+ if (stream_control(demuxer->stream, STREAM_CTRL_GET_START_TIME, &time) > 0)
+ return time;
if (demux_control(demuxer, DEMUXER_CTRL_GET_START_TIME, &time) > 0)
return time;
return 0;