diff options
-rw-r--r-- | libmpdemux/demuxer.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 7cc18810c7..44a6b14a8f 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -933,10 +933,13 @@ int demux_control(demuxer_t *demuxer, int cmd, void *arg) { double demuxer_get_time_length(demuxer_t *demuxer){ double get_time_ans; sh_video_t *sh_video = demuxer->video->sh; + sh_audio_t *sh_audio = demuxer->audio->sh; // <= 0 means DEMUXER_CTRL_NOTIMPL or DEMUXER_CTRL_DONTKNOW if (demux_control(demuxer, DEMUXER_CTRL_GET_TIME_LENGTH,(void *)&get_time_ans)<=0) { if (sh_video && sh_video->i_bps) get_time_ans = (double)(demuxer->movi_end-demuxer->movi_start)/sh_video->i_bps; + else if (sh_audio && sh_audio->i_bps) + get_time_ans = (double)(demuxer->movi_end-demuxer->movi_start)/sh_audio->i_bps; else get_time_ans=0; } |