This replaces the ever flawed condition variables implementation with
a less antique back-end. While designed for Windows 8 and later, a less
efficient fallback mode is provided for older supported versions.
This only provides the Linux back-end. Those functions are not exported
since they are not universally available (and not meant to be used by
plugins at this point).
This separates waiting on UTC deadline from waiting on monotonic clock.
That way, storing the reference clock in vlc_cond_t is no longer
necessary. There was only one single condition variable using the UTC
clock (in VLM), so vlc_cond_t.clock was rather wasteful.
Because having two differents events for the same objective is way too
confusing (libvlc_MediaParsedStatus was recently added by me).
libvlc_MediaParsedCharged is now always sent after a call to
libvlc_media_parse_*() (this was not the case if the pre-parsing was skipped).
The core vlc_InputItemPreparsedChanged event is now only attached from the
media player. This allows the libvlc_MediaParsedCharged event to be sent when a
media is parsed from a media player.
/!\ Behavior change in libvlc API /!\
The libvlc_event_t.u.media_parsed_changed.new_status value changed, this is now
a libvlc_media_parsed_status_t. Before this patch, this value was always set to
true, even in case of parse failure/skipped. Now this value can be skipped (1),
failed (2) or done (3). There should be no changes for users that were checking
if new_status was true, since this events was called for these 3 cases (that
are all > 0).
An input_item_t can now have a list of slaves. These slaves will be loaded when
the input_item_t is loaded by an input_thread_t.
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.
That function was a failed attempt at protection against special path
characters within formatted meta-data. It is no longer used for that
purpose, but only for formatting time. It is not difficult to avoid
special characters when formatting time, rendering the function
essentially a useless no-op.
Currently DVD/BluRay menu call expects the menu to be in title 0.
It also seeks to chapter 2 or 0 (DVD menu type is selected by
selecting chapter). Using dedicated control allows the plugins to
decide how menu call should be handled.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Avoids copying some sd specific playlist flags on
playlist item duplication. (ex RO flag from SD which
makes current playlist item as non deletable)
Not setting the inheritable flag by default avoids
changing the item creation api to clear flags.
This commit move every deprecated functions to vlc/deprecated.h.
Moved functions still belong to their original doxygen group. Except legacy
logs functions that now belongs to their own deprecated group (libvlc_core
libvlc_log_deprecated).
This new type of module will be used to discover renderers (chromecast, UPnP
Renderer, miracast, airport, DIAL, ConeCast).
These modules will send new vlc_renderer_item via an event manager callback.
This new kind of item contain the necessary information to setup a new sout.
Also-by: Steve Lhomme <robux4@videolabs.io>