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 );