summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-28 21:35:04 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-28 21:35:04 +0000
commit39f7f187ef8cf17045e2f718ce06f0e052691ec9 (patch)
treecc55d5f835c26569872fc846e7628098110068f0 /mplayer.c
parentccc4db889e86e0c6e8c0dd299a983d3213832720 (diff)
downloadmpv-39f7f187ef8cf17045e2f718ce06f0e052691ec9.tar.bz2
mpv-39f7f187ef8cf17045e2f718ce06f0e052691ec9.tar.xz
gui seekbar position fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1736 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/mplayer.c b/mplayer.c
index 975773fc0c..0c177a8e95 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1742,9 +1742,15 @@ if(rel_seek_secs || abs_seek_pos){
#ifdef HAVE_NEW_GUI
if(use_gui){
- int len=((demuxer->movi_end-demuxer->movi_start));
- if ( len > 0 ) mplShMem->Position=(float)(demuxer->filepos-demuxer->movi_start) / len * 100.0f;
- else mplShMem->Position=0;
+ if(demuxer->file_format==DEMUXER_TYPE_AVI && sh_video->video.dwLength>2){
+ // get pos from frame number / total frames
+ mplShMem->Position=(float)d_video->pack_no*100.0f/sh_video->video.dwLength;
+ } else {
+ // get pos from file position / filesize
+ int len=((demuxer->movi_end-demuxer->movi_start));
+ int pos=(demuxer->file_format==DEMUXER_TYPE_AVI)?demuxer->filepos:d_video->pos;
+ mplShMem->Position=(len<=0)?0:((float)(pos-demuxer->movi_start) / len * 100.0f);
+ }
mplShMem->TimeSec=d_video->pts;
}
#endif