summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_rawaudio.c3
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;
}