Mercurial > mplayer.hg
comparison mplayer.c @ 6914:d882c7063e6d
gui seekbar pos calc overflow fixed
author | arpi |
---|---|
date | Mon, 05 Aug 2002 01:32:11 +0000 |
parents | 5ddd609550d5 |
children | 762c98c47f01 |
comparison
equal
deleted
inserted
replaced
6913:d5056a166cce | 6914:d882c7063e6d |
---|---|
2918 guiEventHandling(); | 2918 guiEventHandling(); |
2919 if(demuxer->file_format==DEMUXER_TYPE_AVI && sh_video->video.dwLength>2){ | 2919 if(demuxer->file_format==DEMUXER_TYPE_AVI && sh_video->video.dwLength>2){ |
2920 // get pos from frame number / total frames | 2920 // get pos from frame number / total frames |
2921 guiIntfStruct.Position=(float)d_video->pack_no*100.0f/sh_video->video.dwLength; | 2921 guiIntfStruct.Position=(float)d_video->pack_no*100.0f/sh_video->video.dwLength; |
2922 } else { | 2922 } else { |
2923 int len = ( ( demuxer->movi_end - demuxer->movi_start ) >> 8 ); | 2923 off_t len = ( demuxer->movi_end - demuxer->movi_start ); |
2924 int pos = ( demuxer->file_format == DEMUXER_TYPE_AUDIO?stream->pos:demuxer->filepos ); | 2924 off_t pos = ( demuxer->file_format == DEMUXER_TYPE_AUDIO?stream->pos:demuxer->filepos ); |
2925 guiIntfStruct.Position=(len <= 0? 0.0f : ( pos - demuxer->movi_start ) / len / 2.56f /* / 256.0f * 100.0f */ ); | 2925 guiIntfStruct.Position=(len <= 0? 0.0f : ( pos - demuxer->movi_start ) * 100.0f / len ); |
2926 } | 2926 } |
2927 if ( sh_video ) guiIntfStruct.TimeSec=d_video->pts; | 2927 if ( sh_video ) guiIntfStruct.TimeSec=d_video->pts; |
2928 else if ( sh_audio ) guiIntfStruct.TimeSec=sh_audio->timer; | 2928 else if ( sh_audio ) guiIntfStruct.TimeSec=sh_audio->timer; |
2929 guiGetEvent( guiReDraw,NULL ); | 2929 guiGetEvent( guiReDraw,NULL ); |
2930 guiGetEvent( guiSetVolume,NULL ); | 2930 guiGetEvent( guiSetVolume,NULL ); |