[vlc-commits] access: reset EOF implicitly on succesful seek

Rémi Denis-Courmont git at videolan.org
Thu Jul 21 21:30:14 CEST 2016


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Jul 19 21:18:49 2016 +0300| [616a010c7fdddfde69ac792355e301d92fd40318] | committer: Rémi Denis-Courmont

access: reset EOF implicitly on succesful seek

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=616a010c7fdddfde69ac792355e301d92fd40318
---

 include/vlc_access.h         |   10 +++++++---
 modules/access/attachment.c  |    1 -
 modules/access/avio.c        |    1 -
 modules/access/dsm/access.c  |    2 --
 modules/access/file.c        |    2 --
 modules/access/ftp.c         |    1 -
 modules/access/http.c        |    1 -
 modules/access/http/access.c |    1 -
 modules/access/imem-access.c |    2 --
 modules/access/mms/mmsh.c    |    1 -
 modules/access/mms/mmstu.c   |    1 -
 modules/access/mtp.c         |    2 --
 modules/access/nfs.c         |    1 -
 modules/access/rar/access.c  |    1 -
 modules/access/sdp.c         |    1 -
 modules/access/sftp.c        |    2 --
 modules/access/smb.c         |    2 --
 modules/access/vcd/vcd.c     |    3 ---
 modules/access/vdr.c         |    1 -
 19 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/include/vlc_access.h b/include/vlc_access.h
index e151d89..5892841 100644
--- a/include/vlc_access.h
+++ b/include/vlc_access.h
@@ -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;
 }
 
 /**
diff --git a/modules/access/attachment.c b/modules/access/attachment.c
index 6c52e51..5e737c9 100644
--- a/modules/access/attachment.c
+++ b/modules/access/attachment.c
@@ -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;
 }
 
diff --git a/modules/access/avio.c b/modules/access/avio.c
index a1e1771..31468ff 100644
--- a/modules/access/avio.c
+++ b/modules/access/avio.c
@@ -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;
 }
 
diff --git a/modules/access/dsm/access.c b/modules/access/dsm/access.c
index db53d0f..cefb748 100644
--- a/modules/access/dsm/access.c
+++ b/modules/access/dsm/access.c
@@ -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;
 }
 
diff --git a/modules/access/file.c b/modules/access/file.c
index d08d03e..690a99d 100644
--- a/modules/access/file.c
+++ b/modules/access/file.c
@@ -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;
diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index b830f64..9a158d3 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -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;
diff --git a/modules/access/http.c b/modules/access/http.c
index 02943ca..5364c85 100644
--- a/modules/access/http.c
+++ b/modules/access/http.c
@@ -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;
     }
diff --git a/modules/access/http/access.c b/modules/access/http/access.c
index 70204ea..0b43126 100644
--- a/modules/access/http/access.c
+++ b/modules/access/http/access.c
@@ -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;
diff --git a/modules/access/imem-access.c b/modules/access/imem-access.c
index c325ecc..a1b72f1 100644
--- a/modules/access/imem-access.c
+++ b/modules/access/imem-access.c
@@ -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;
 }
 
diff --git a/modules/access/mms/mmsh.c b/modules/access/mms/mmsh.c
index 249cd8a..cc2280e 100644
--- a/modules/access/mms/mmsh.c
+++ b/modules/access/mms/mmsh.c
@@ -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;
diff --git a/modules/access/mms/mmstu.c b/modules/access/mms/mmstu.c
index 1714d89..1037f41 100644
--- a/modules/access/mms/mmstu.c
+++ b/modules/access/mms/mmstu.c
@@ -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;
 }
diff --git a/modules/access/mtp.c b/modules/access/mtp.c
index 6fccd67..7448431 100644
--- a/modules/access/mtp.c
+++ b/modules/access/mtp.c
@@ -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;
diff --git a/modules/access/nfs.c b/modules/access/nfs.c
index d3edfd2..d74da08 100644
--- a/modules/access/nfs.c
+++ b/modules/access/nfs.c
@@ -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,
diff --git a/modules/access/rar/access.c b/modules/access/rar/access.c
index 3dc916b..14f397d 100644
--- a/modules/access/rar/access.c
+++ b/modules/access/rar/access.c
@@ -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);
diff --git a/modules/access/sdp.c b/modules/access/sdp.c
index 3c6937a..3bf8e7c 100644
--- a/modules/access/sdp.c
+++ b/modules/access/sdp.c
@@ -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;
 }
 
diff --git a/modules/access/sftp.c b/modules/access/sftp.c
index 61fdcb2..91130ef 100644
--- a/modules/access/sftp.c
+++ b/modules/access/sftp.c
@@ -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;
 }
diff --git a/modules/access/smb.c b/modules/access/smb.c
index c24dcdf..eea468d 100644
--- a/modules/access/smb.c
+++ b/modules/access/smb.c
@@ -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;
 }
 
diff --git a/modules/access/vcd/vcd.c b/modules/access/vcd/vcd.c
index 3617728..a36401f 100644
--- a/modules/access/vcd/vcd.c
+++ b/modules/access/vcd/vcd.c
@@ -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;
 }
 
diff --git a/modules/access/vdr.c b/modules/access/vdr.c
index 5e9b382..9f94038 100644
--- a/modules/access/vdr.c
+++ b/modules/access/vdr.c
@@ -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 );



More information about the vlc-commits mailing list