]> git.sesse.net Git - vlc/blobdiff - modules/access/mmap.c
Use var_Inherit* when applicable.
[vlc] / modules / access / mmap.c
index 06092420c84af4c68ff2b8e46c2493c56fa4421a..2c7dfbfc3544cb931e1eb32af33893f85cfb2c25 100644 (file)
@@ -27,7 +27,7 @@
 #include <vlc_plugin.h>
 #include <vlc_access.h>
 #include <vlc_input.h>
-#include <vlc_charset.h>
+#include <vlc_fs.h>
 #include <vlc_dialog.h>
 
 #include <assert.h>
@@ -67,7 +67,7 @@ vlc_module_begin ()
 vlc_module_end ()
 
 static block_t *Block (access_t *);
-static int Seek (access_t *, int64_t);
+static int Seek (access_t *, uint64_t);
 static int Control (access_t *, int, va_list);
 
 struct access_sys_t
@@ -83,23 +83,18 @@ static int Open (vlc_object_t *p_this)
 {
     access_t *p_access = (access_t *)p_this;
     access_sys_t *p_sys;
-    const char *path = p_access->psz_path;
+    const char *path = p_access->psz_filepath;
     int fd;
 
     assert ((INT64_C(1) << 63) == ((off_t)(INT64_C(1) << 63)));
 
-    if (!var_CreateGetBool (p_this, "file-mmap"))
+    if (!var_InheritBool (p_this, "file-mmap"))
         return VLC_EGENERIC; /* disabled */
 
     STANDARD_BLOCK_ACCESS_INIT;
 
-    if (!strcmp (p_access->psz_path, "-"))
-        fd = dup (0);
-    else
-    {
-        msg_Dbg (p_access, "opening file %s", path);
-        fd = utf8_open (path, O_RDONLY | O_NOCTTY);
-    }
+    msg_Dbg (p_access, "opening file %s", path);
+    fd = vlc_open (path, O_RDONLY | O_NOCTTY);
 
     if (fd == -1)
     {
@@ -189,7 +184,7 @@ static block_t *Block (access_t *p_access)
         p_access->info.i_update |= INPUT_UPDATE_SIZE;
     }
 
-    if ((uint64_t)p_access->info.i_pos >= (uint64_t)p_access->info.i_size)
+    if (p_access->info.i_pos >= p_access->info.i_size)
     {
         /* We are at end of file */
         p_access->info.b_eof = true;
@@ -198,7 +193,7 @@ static block_t *Block (access_t *p_access)
     }
 
 #ifdef MMAP_DEBUG
-    int64_t dbgpos = lseek (p_sys->fd, 0, SEEK_CUR);
+    uint64_t dbgpos = lseek (p_sys->fd, 0, SEEK_CUR);
     if (dbgpos != p_access->info.i_pos)
         msg_Err (p_access, "position: 0x%016"PRIx64" instead of 0x%016"PRIx64,
                  p_access->info.i_pos, dbgpos);
@@ -270,7 +265,7 @@ fatal:
 }
 
 
-static int Seek (access_t *p_access, int64_t i_pos)
+static int Seek (access_t *p_access, uint64_t i_pos)
 {
 #ifdef MMAP_DEBUG
     lseek (p_access->p_sys->fd, i_pos, SEEK_SET);
@@ -295,7 +290,7 @@ static int Control (access_t *p_access, int query, va_list args)
 
         case ACCESS_GET_PTS_DELAY:
         {
-            int delay_ms = var_CreateGetInteger (p_access, "file-caching");
+            int64_t delay_ms = var_CreateGetInteger (p_access, "file-caching");
             *va_arg(args, int64_t *) = delay_ms * INT64_C (1000);
             return VLC_SUCCESS;
         }