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
This commit is contained in:
reimar 2009-08-16 22:44:29 +00:00
parent fef7ef08a0
commit 46f8461828
1 changed files with 2 additions and 1 deletions

View File

@ -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;
}