Commit b8b8c438 authored by Felix Paul Kühne's avatar Felix Paul Kühne

access/file: don't read-ahead when processing remote contents (closes #9885, refs #8446)

OS X Mavericks takes read-ahead very seriously when accessing SMB drives, so it caches up to a 100 MB. However, when the end of said cache is reached, VLC will stutter because the file system needs to re-connect to the server first. Disabling read-ahead leads to a continous data flow at the media's bitrate.

This solves a regression introduced in fe0a075e
parent dc44a90c
...@@ -235,11 +235,14 @@ int FileOpen( vlc_object_t *p_this ) ...@@ -235,11 +235,14 @@ int FileOpen( vlc_object_t *p_this )
posix_fadvise (fd, 0, 4096, POSIX_FADV_WILLNEED); posix_fadvise (fd, 0, 4096, POSIX_FADV_WILLNEED);
/* In most cases, we only read the file once. */ /* In most cases, we only read the file once. */
posix_fadvise (fd, 0, 0, POSIX_FADV_NOREUSE); posix_fadvise (fd, 0, 0, POSIX_FADV_NOREUSE);
#ifdef F_RDAHEAD
fcntl (fd, F_RDAHEAD, 1);
#endif
#ifdef F_NOCACHE #ifdef F_NOCACHE
fcntl (fd, F_NOCACHE, 0); fcntl (fd, F_NOCACHE, 0);
#endif
#ifdef F_RDAHEAD
if (IsRemote(fd, p_access->psz_filepath))
fcntl (fd, F_RDAHEAD, 0);
else
fcntl (fd, F_RDAHEAD, 1);
#endif #endif
} }
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment