summaryrefslogtreecommitdiffstats
path: root/mencoder.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-17 05:55:40 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-17 05:55:40 +0000
commit5d058a67c1f19df9565f8a3a78a7fa377999222a (patch)
tree57388d6bab52b01606c15e9ff2bc9e63797060e9 /mencoder.c
parent69cb72414aeeb37a5c30b1194f9ee8fff6a8d512 (diff)
downloadmpv-5d058a67c1f19df9565f8a3a78a7fa377999222a.tar.bz2
mpv-5d058a67c1f19df9565f8a3a78a7fa377999222a.tar.xz
Handle demuxers that never set filepos by using stream_tell.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29528 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mencoder.c')
-rw-r--r--mencoder.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mencoder.c b/mencoder.c
index 9129df7c9a..5b569bb5fd 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -1399,7 +1399,8 @@ if(sh_audio && !demuxer2){
{ float t=(GetTimerMS()-timer_start)*0.001f;
float len=(demuxer->movi_end-demuxer->movi_start);
- float p=len>1000 ? (float)(demuxer->filepos-demuxer->movi_start) / len :
+ off_t pos = demuxer->filepos >= 0 ? demuxer->filepos : stream_tell(demuxer->stream);
+ float p=len>1000 ? (float)(pos-demuxer->movi_start) / len :
(demuxer_get_percent_pos(demuxer) / 100.0);
#if 0
if(!len && sh_audio && sh_audio->audio.dwLength>100){