access: re-refactor pf_readdir
authorThomas Guillem <thomas@gllm.fr>
Tue, 12 Apr 2016 13:07:22 +0000 (15:07 +0200)
committerThomas Guillem <thomas@gllm.fr>
Thu, 19 May 2016 13:55:27 +0000 (15:55 +0200)
commit9109718b77dee4587d9b0b1eecfe2765709ed245
treeef58f0b66e587b671210663639876b3fedba3cbd
parentae73867311f7c299e8294b677c1a94cfca5bc9b5
access: re-refactor pf_readdir

This commit changes pf_readdir callback to its original behavior. Accesses and
streams now add items to a node.

Archive stream_filters will now be able to add nodes to a node (when an archive
has directory). This was not possible before.

This commit also adds an access_fsdir helper to help fs accesses (file, smb,
nfs, ftp, sftp) adding items to a node. These accesses need the same treatment
that is now done by this helper:
 - hide hidden files or not (depending on "show-hiddenfiles" option)
 - skip some file extensions (depending on "ignore-filetypes" option)
 - sort items by type and alphabetically (depending on "directory-sort"
   option).
 - For a next commit: attach slaves to items

The directory demux won't do these operations anymore for every access/stream.

This commit doesn't change the interruptible state of the pf_readdir function,
accesses/streams are still interruptible in the middle of a pf_readdir call.

This partially reverts commit 88ffe1587824c27f35705ee28e607f80ca335b46.
19 files changed:
include/vlc_access.h
include/vlc_stream.h
modules/access/archive/stream.c
modules/access/directory.c
modules/access/dsm/access.c
modules/access/fs.h
modules/access/ftp.c
modules/access/nfs.c
modules/access/sftp.c
modules/access/smb.c
modules/demux/playlist/directory.c
modules/services_discovery/upnp.cpp
modules/services_discovery/upnp.hpp
modules/stream_filter/inflate.c
modules/stream_filter/prefetch.c
src/input/access.c
src/input/stream.c
src/input/stream_filter.c
src/libvlccore.sym