Two callbacks are triggered with the event INPUT_EVENT_SUBITEMS:
* `input_item_parser_cbs_t::on_subtree_added`, which transfers
ownership to its listener.
* `vlc_player_cbs::on_media_subitems_changed`, which sends a
`const input_item_node_t` to its listeners and then frees the node.
The d3d11 drawable display doesn't exist yet, but the direct3d11 display
is not reachable from a wextern window (regression from previous commit
e33e383fde that check window type) so we
might as well change it immediately instead of doing it in three steps.
Next commit will re-establish the usage of the display by introducing
it.
Adds:
- libvlc_media_player_set_abloop_time
- libvlc_media_player_set_abloop_position
- libvlc_media_player_reset_abloop
These new methods allow to set a specific start and end time or
position to setup an AB loop, and a way to remove the loop.
There must be an active input before setting the AB loop.
Calls to `libvlc_media_parse_request` with smb server URL never succeeded
because `do_parse` var was always `false` when `input_net` var was `true`
and `libvlc_media_parse_network` flag was set.
This change fixes this problem and bring back the ability to parse network
files when the `libvlc_media_parse_network` flag is set
This is in the continuity of aad952ea38.
The previous commit added an internal error code for preparsing
cancellation that wasn't handled in libvlc, the API stopped reporting
preparsing termination, which resulted in a medialibrary regression.
Previously, the cancellation was reported as a timeout event which is
misleading. This patch introduces a new status code to properly match
libvlc's internals.
You should now use a preparser to generate thumbnails.
One single preparser is able to:
- Parse
- Fetch meta
- Generate thumbnails
Using 3 different queues. It is also possible to create a preparser for
only one type of processing.
In order to behave like the vlc_preparser.h API.
vlc_thumbnailer_SetTimeout Will be used by libvlc_media_t, temporarily,
waiting for the future libvlc_parser_t API.
This id can be used to cancel a task.
vlc_thumbnailer_DestroyRequest() had been renamed to
vlc_thumbnailer_Cancel(). The new function is optional and can be used
to cancel a task. The user doesn't have the responsibility to free the
request anymore.
Do a lazy initialisation as the thumbnailer is not necessarily required by
the user.
This commit is temporary and will be replaced by the future
libvlc_thumbnailer_t API.
It is done now to remove the core thumbnailer.
Do a lazy initialisation as the preparser is not necessarily required by
the user.
This commit is temporary and will be replaced by the future
libvlc_parser_t API.
It is done now to remove libvlc_GetMainPreparser().
The behavior is different from the CORE, but I don't see any use case for
receiving points prior to the seek request while seeking. It is possible
from the core, but no UI is doing it for now.
Signaling discontinuity had 2 purposes:
- To handle seek requests, but it could not really work, hence the new
on_seek() callback.
- Signal when the player is paused or stopping
Therefore, replace this event with on_paused().
New durations set along with the media_duration_changed event are
now properly converted in milliseconds to match the unit described
in the documentation.
`VLC_EGENERIC` is defined to `INT_MIN` and negating as a 32 bits integer
is undefined behavior.
Let's print a custom error message instead, as it will never be a valid
errno value anyway.
Reported by UBSAN:
../../lib/core.c:72:9: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
Move the media_provider.get_next callback to
vlc_player_cbs.request_next_media.
This callback does not need a special handling since it doesn't
wait for a result anymore.