]> git.sesse.net Git - vlc/commitdiff
access_http: do not close the stream when seeking out of range
authorBill C Riemers <docbill@hartnell.local>
Mon, 16 Jun 2008 15:46:47 +0000 (11:46 -0400)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Tue, 17 Jun 2008 17:02:15 +0000 (20:02 +0300)
+ minor simplifications

Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>
modules/access/http.c

index 2b7768ab6b38b0fe7e76aa26e56b2fd6e99cbadf..f7a2995d5a66dcd7b3ceae2d5a888f1c4ed92a6e 100644 (file)
@@ -881,6 +881,17 @@ static int Seek( access_t *p_access, int64_t i_pos )
 
     Disconnect( p_access );
 
+    if( p_access->info.i_size
+     && (uint64_t)i_pos >= (uint64_t)p_access->info.i_size ) {
+        msg_Err( p_access, "seek to far" );
+        int retval = Seek( p_access, p_access->info.i_size - 1 );
+        if( retval == VLC_SUCCESS ) {
+            uint8_t p_buffer[2];
+            Read( p_access, p_buffer, 1);
+            p_access->info.b_eof  = false;
+        }
+        return retval;
+    }
     if( Connect( p_access, i_pos ) )
     {
         msg_Err( p_access, "seek failed" );