diff options
Diffstat (limited to 'libmpdemux/demux_rawaudio.c')
-rw-r--r-- | libmpdemux/demux_rawaudio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libmpdemux/demux_rawaudio.c b/libmpdemux/demux_rawaudio.c index 7bc751ec7b..d09f2e3dff 100644 --- a/libmpdemux/demux_rawaudio.c +++ b/libmpdemux/demux_rawaudio.c @@ -117,11 +117,12 @@ static int demux_rawaudio_control(demuxer_t *demuxer,int cmd, void *arg) sh_audio_t *sh_audio = demuxer->audio->sh; switch(cmd) { case DEMUXER_CTRL_GET_TIME_LENGTH: - if (!sh_audio->i_bps) return DEMUXER_CTRL_DONTKNOW; + if (!sh_audio->i_bps || demuxer->movi_start >= demuxer->movi_end) return DEMUXER_CTRL_DONTKNOW; *(double *)arg = (double)(demuxer->movi_end - demuxer->movi_start) / sh_audio->i_bps; return DEMUXER_CTRL_GUESS; case DEMUXER_CTRL_GET_PERCENT_POS: + if (demuxer->movi_start >= demuxer->movi_end) return DEMUXER_CTRL_DONTKNOW; *(int *)arg = (stream_tell(demuxer->stream) - demuxer->movi_start) * 100 / (demuxer->movi_end - demuxer->movi_start); return DEMUXER_CTRL_GUESS; } |