diff libmpdemux/demux_lavf.c @ 35013:4d94558867d6

Update endpos each time libavformat asks for it. Fixes playback of still downloading files to not stop before we really reached the end.
author reimar
date Sat, 18 Aug 2012 19:51:58 +0000
parents 0ba5ba56f6d0
children 6077de703cf4
line wrap: on
line diff
--- a/libmpdemux/demux_lavf.c	Sat Aug 18 19:38:47 2012 +0000
+++ b/libmpdemux/demux_lavf.c	Sat Aug 18 19:51:58 2012 +0000
@@ -105,9 +105,13 @@
         pos += stream->end_pos;
     else if(whence == SEEK_SET)
         pos += stream->start_pos;
-    else if(whence == AVSEEK_SIZE && stream->end_pos > 0)
+    else if(whence == AVSEEK_SIZE && stream->end_pos > 0) {
+        off_t size;
+        stream_control(stream, STREAM_CTRL_GET_SIZE, &size);
+        if (size > stream->end_pos)
+            stream->end_pos = size;
         return stream->end_pos - stream->start_pos;
-    else
+    } else
         return -1;
 
     if(pos<0)