access: reset EOF implicitly on succesful seek
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 19 Jul 2016 18:18:49 +0000 (21:18 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 21 Jul 2016 16:59:24 +0000 (19:59 +0300)
19 files changed:
include/vlc_access.h
modules/access/attachment.c
modules/access/avio.c
modules/access/dsm/access.c
modules/access/file.c
modules/access/ftp.c
modules/access/http.c
modules/access/http/access.c
modules/access/imem-access.c
modules/access/mms/mmsh.c
modules/access/mms/mmstu.c
modules/access/mtp.c
modules/access/nfs.c
modules/access/rar/access.c
modules/access/sdp.c
modules/access/sftp.c
modules/access/smb.c
modules/access/vcd/vcd.c
modules/access/vdr.c

index e151d89..5892841 100644 (file)
@@ -142,9 +142,13 @@ VLC_API void vlc_access_Delete(access_t *access);
  */
 static inline int vlc_access_Seek(access_t *access, uint64_t offset)
 {
-    if (access->pf_seek == NULL)
-        return VLC_EGENERIC;
-    return access->pf_seek(access, offset);
+    int ret = VLC_EGENERIC;
+
+    if (access->pf_seek != NULL)
+        ret = access->pf_seek(access, offset);
+    if (ret == VLC_SUCCESS)
+        access->info.b_eof = false;
+    return ret;
 }
 
 /**
index 6c52e51..5e737c9 100644 (file)
@@ -136,7 +136,6 @@ static int Seek(access_t *access, uint64_t position)
         position = a->i_data;
 
     sys->offset = position;
-    access->info.b_eof = false;
     return VLC_SUCCESS;
 }
 
index a1e1771..31468ff 100644 (file)
@@ -373,7 +373,6 @@ static int Seek(access_t *access, uint64_t position)
         if (sys->size < 0 || position != sys->size)
             return VLC_EGENERIC;
     }
-    access->info.b_eof = false;
     return VLC_SUCCESS;
 }
 
index db53d0f..cefb748 100644 (file)
@@ -450,8 +450,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
     if (smb_fseek(p_sys->p_session, p_sys->i_fd, i_pos, SMB_SEEK_SET) == -1)
         return VLC_EGENERIC;
 
-    p_access->info.b_eof = false;
-
     return VLC_SUCCESS;
 }
 
index d08d03e..690a99d 100644 (file)
@@ -304,8 +304,6 @@ static ssize_t Read (access_t *p_access, void *p_buffer, size_t i_len)
  *****************************************************************************/
 static int FileSeek (access_t *p_access, uint64_t i_pos)
 {
-    p_access->info.b_eof = false;
-
     if (lseek (p_access->p_sys->fd, i_pos, SEEK_SET) == (off_t)-1)
         return VLC_EGENERIC;
     return VLC_SUCCESS;
index b830f64..9a158d3 100644 (file)
@@ -829,7 +829,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
     if( val )
         return val;
 
-    p_access->info.b_eof = false;
     p_sys->offset = i_pos;
 
     return VLC_SUCCESS;
index 02943ca..5364c85 100644 (file)
@@ -660,7 +660,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
         if( retval == VLC_SUCCESS ) {
             uint8_t p_buffer[2];
             Read( p_access, p_buffer, 1);
-            p_access->info.b_eof  = false;
         }
         return retval;
     }
index 70204ea..0b43126 100644 (file)
@@ -56,7 +56,6 @@ static block_t *FileRead(access_t *access, bool *restrict eof)
 static int FileSeek(access_t *access, uint64_t pos)
 {
     access_sys_t *sys = access->p_sys;
-    access->info.b_eof = false;
 
     if (vlc_http_file_seek(sys->resource, pos))
         return VLC_EGENERIC;
index c325ecc..a1b72f1 100644 (file)
@@ -62,8 +62,6 @@ static int Seek(access_t *access, uint64_t offset)
 
     if (sys->seek_cb(sys->opaque, offset) != 0)
         return VLC_EGENERIC;
-
-   access->info.b_eof = false;
    return VLC_SUCCESS;
 }
 
index 249cd8a..cc2280e 100644 (file)
@@ -329,7 +329,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
     }
 
     p_sys->i_position = i_pos;
-    p_access->info.b_eof = false;
     p_sys->i_packet_used += i_offset;
 
     return VLC_SUCCESS;
index 1714d89..1037f41 100644 (file)
@@ -417,7 +417,6 @@ static int Seek( access_t * p_access, uint64_t i_pos )
 
     p_sys->i_media_used += i_offset;
     p_sys->i_position = i_pos;
-    p_access->info.b_eof = false;
 
     return VLC_SUCCESS;
 }
index 6fccd67..7448431 100644 (file)
@@ -211,8 +211,6 @@ static ssize_t Read( access_t *p_access, void *p_buffer, size_t i_len )
  *****************************************************************************/
 static int Seek( access_t *p_access, uint64_t i_pos )
 {
-    p_access->info.b_eof = false;
-
     if (lseek( p_access->p_sys->fd, i_pos, SEEK_SET ) == (off_t)-1)
         return VLC_EGENERIC;
     return VLC_SUCCESS;
index d3edfd2..d74da08 100644 (file)
@@ -243,7 +243,6 @@ static int
 FileSeek(access_t *p_access, uint64_t i_pos)
 {
     access_sys_t *p_sys = p_access->p_sys;
-    p_access->info.b_eof = false;
 
     p_sys->res.seek.b_done = false;
     if (nfs_lseek_async(p_sys->p_nfs, p_sys->p_nfsfh, i_pos, SEEK_SET,
index 3dc916b..14f397d 100644 (file)
@@ -59,7 +59,6 @@ static int Seek(access_t *access, uint64_t position)
         if (position < sys->chunk->cummulated_size + sys->chunk->size)
             break;
     }
-    access->info.b_eof = false;
 
     const uint64_t offset = sys->chunk->offset +
                             (position - sys->chunk->cummulated_size);
index 3c6937a..3bf8e7c 100644 (file)
@@ -107,7 +107,6 @@ static int Seek (access_t *access, uint64_t position)
         position = sys->length;
 
     sys->offset = position;
-    access->info.b_eof = false;
     return VLC_SUCCESS;
 }
 
index 61fdcb2..91130ef 100644 (file)
@@ -407,8 +407,6 @@ static ssize_t Read( access_t *p_access, void *buf, size_t len )
 
 static int Seek( access_t* p_access, uint64_t i_pos )
 {
-    p_access->info.b_eof = false;
-
     libssh2_sftp_seek( p_access->p_sys->file, i_pos );
     return VLC_SUCCESS;
 }
index c24dcdf..eea468d 100644 (file)
@@ -312,8 +312,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
         return VLC_EGENERIC;
     }
 
-    p_access->info.b_eof = false;
-
     return VLC_SUCCESS;
 }
 
index 3617728..a36401f 100644 (file)
@@ -426,9 +426,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
         p_sys->i_current_seekpoint = i_seekpoint;
     }
 
-    /* Reset eof */
-    p_access->info.b_eof = false;
-
     return VLC_SUCCESS;
 }
 
index 5e9b382..9f94038 100644 (file)
@@ -395,7 +395,6 @@ static int Seek( access_t *p_access, uint64_t i_pos )
     i_pos = __MIN( i_pos, p_sys->size );
 
     p_sys->offset = i_pos;
-    p_access->info.b_eof = false;
 
     /* find correct chapter */
     FindSeekpoint( p_access );