The function does not open MRLs, as correctly described in its
documentation, as such it is rather unfortunate that its name uses MRL
instead of URL (especially given that it cannot handle MRLs).
These changes are simply renaming all occurrences of the function, so
that the behavior of the function is properly reflected by its name.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
The Thread*() functions now look and behave more like their
corresponding generic stream-filter callback.
All the buffer handling on the background prefetch thread is now done
by the thread entry point. This causes a marginal increase in the scope
of the internal mutual exclusion lock.
Do not wait for full buffers to pause the underlying stream. This
improves responsiveness (upon resumption) for live streams. This also
ensures that no I/O is done while the input thread is paused; some apps
might reasonably expect such behaviour.
Do not wait for full buffers to pause the underlying stream. This
improves responsiveness (upon resumption) for live streams. This also
ensures that no I/O is done while the input thread is paused; some apps
might reasonably expect such behaviour.
AStreamReadBlock would potentially return 0 because the current data block
(denoted by "p_sys->p_current") was exhausted, even though there might be more
data in the next data block ("p_sys->p_current->p_next").
At the place where this patch apply, `p_sys->p_current` has been set to
`p_sys->p_current->p_next`, so the pointer denotes the next block to
process (even though the name is rather misleading at that point).
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
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 88ffe15878.
* First try of p_sys->p_b25->get() always does nothing, so read from
stream first.
* Merge DecoderRead() into Read()
Signed-off-by: Yuudai Yamashigi <yyamashigi@videolan.org>
This handles deflate encoding or application/zlib type transparently.
(Note though that it fails to check and discard the application/zlib
content-type from the underlying stream.)