Move the void *user_data parameter at the end of the function. For consistency,
since most opaque pointers are passed at the end of functions in the VLC code
base.
Notify "fetch ended" in callbacks.
This will allow to move the "preparse ended" trigger from the fetcher to
the preparser, and make the fetcher more independant.
There does not appear to be any real user. The "broadcast"
functionality can be reproduced more simply with the LibVLC media
player API. The "VoD" functionality does not make much sense outside of
the VLC executable process.
This code path is way too racy (even before
2ef7696e96): input_priv(p_input)->i_title is not
protected and the variables were not cleaned if i_title changed from 1 to 0.
This function was useless anyway since it was always called before
input_Close() that destroyed the input thread object and all variables /
callbacks.
Currently, the input_thread_t is controllable by either input_Control, specific
functions, by variables or by the 3 previous solutions.
The goal of this commit is to remove variables usage when it's not necessary.
This commit doesn't remove variables that should be used to pass users settings
(cf. input_ConfigVarInit).
The "intf-event" callback is replaced by the new callback
input_thread_events_cb that pass a new event: struct vlc_input_event. There can
be only one listener: the creator of the input_thread_t. In the future, the new
vlc input controller will receive these events and forward them to all
listeners.
In the meantime, I added input_LegacyVarInit, input_LegacyVarStop, and
input_LegacyEvents, 3 helpers functions that reproduce the legacy variable
behavior (transform new vlc_input_event to old intf-event events). These 3
functions are meant to be removed for 4.0 release (when vlc input controller is
added).
For now, the playlist, the media_player, VLM and modules still use the legacy
variables.