From 46f846182864416f1038457afab2ffd35e5479ae Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 16 Aug 2009 22:44:29 +0000 Subject: Add some protection to the rawaudio GET_LENGTH/GET_PERCENT_POS in case the file length is not known (streaming). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29526 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_rawaudio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libmpdemux/demux_rawaudio.c') 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; } -- cgit v1.2.3