1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-24 20:48:52 +02:00
Commit Graph

332 Commits

Author SHA1 Message Date
Hugo Beauzée-Luyssen
165ccf2cdf input: Refcount attachments
Instead of performing a deep copy every time they are fetched
2020-11-18 12:20:59 +01:00
Hugo Beauzée-Luyssen
d55a165d98 input: Move attachment functions in their own source file 2020-11-18 12:20:59 +01:00
Rémi Denis-Courmont
802fb83b58 Remove stray <vlc_events.h> #include's 2020-08-26 18:20:32 +03:00
Thomas Guillem
9dc34b4205 input: hide input_thread_t 2019-06-03 16:15:55 +02:00
Thomas Guillem
2b0e0e9407 input: hide input_CreateFilename 2019-06-03 16:15:55 +02:00
Thomas Guillem
80bcf667d3 input_item: add input_item_CreateFilename 2019-06-03 16:15:55 +02:00
Thomas Guillem
acf5684027 input: move decoder functions into vlc_decoder.h
TODO: needs to be documented.
2019-06-03 16:15:55 +02:00
Thomas Guillem
5e2b7ab2f5 decoder: also send the ES id with vout events 2019-06-03 16:15:54 +02:00
Thomas Guillem
ffa6409883 input: remove unused input_Control 2019-05-23 10:21:44 +02:00
Thomas Guillem
8a165f9e41 input: remove INPUT_NAV_*
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
816fa6c376 input: remove INPUT_*_PCR
This was only used by netsync that is disabled for now.
This need to be ported to the new player and clock.
2019-05-23 10:21:44 +02:00
Thomas Guillem
e364f49599 input: remove INPUT_*_VIEWPOINT
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
8d41d941d5 input: remove INPUT_GET_*OUT*
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
426e761c7e input: move input_AddSlave to vlc_player 2019-05-23 10:21:44 +02:00
Thomas Guillem
737e7db0a0 input: remove bookmark handling
It is unusable now, since there is no player API for it. It need to be handled
by the media library module.
2019-05-23 10:21:44 +02:00
Thomas Guillem
323558111e input: remove INPUT_RESTART_ES_BY_ID
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
7723dd007f input: remove INPUT_SET_RENDERER
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
744bc2a2ba input: remove INPUT_GET_ES_OBJECTS
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
fbec8c85c8 input: remove INPUT_GET_FULL_TITLE_INFO
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Thomas Guillem
19265a4d58 input: remove legacy var and event handling
This is now directly handled by the player.
2019-05-23 10:21:44 +02:00
Rémi Denis-Courmont
e3270f2ae4 objects: merge vlc_object_t and vlc_common_members
This should fix historical aliasing issues.
2019-04-14 22:24:33 +03:00
Rémi Denis-Courmont
aa3819b55d es_out: remove helpless decoder hold
If the decoder is valid for holding, then it is also valid for setting
a VLC object variable or adding a VLC object variable callback.
Otherwise, loading the decoder pointer or accessing the decoder is
undefined.

Either way, holding then releasing serves no purpose.

Note: input_GetEsObjects() should probably be removed in favor of the
new VBI input controls; but those are not currently exposed to input
managers.
2019-03-17 03:13:24 +02:00
Rémi Denis-Courmont
d973543417 input: remove constant nul parameters 2019-03-15 03:27:56 +02:00
Rémi Denis-Courmont
d2c1bc4433 aout: introduce aout_Hold() and aout_Release()
Type-safe replacements for vlc_object_hold() and vlc_object_release()
(as discussed during the last workshop).
2019-03-06 22:53:24 +02:00
Rémi Denis-Courmont
a990818d1a vout: introduce vout_Hold() and vout_Release()
Type-safe replacements for vlc_object_hold() and vlc_object_release()
(as discussed during the last workshop).
2019-03-06 22:53:24 +02:00
Rémi Denis-Courmont
3b26572047 input: remove log parameter to input_Create() 2019-02-20 17:35:01 +02:00
Thomas Guillem
977e2d13a8 input: remove INPUT_RATE_DEFAULT 2019-02-15 16:34:55 +01:00
Thomas Guillem
797a8dce4e input: change INPUT_RATE_MAX/INPUT_RATE_MIN
Inverse them. Indeed, INPUT_RATE_MAX was the min and INPUT_RATE_MIN was the
max. The dbus module did the mistake.
2019-02-15 16:34:55 +01:00
Rémi Denis-Courmont
cafb0b8c8d input: fix invalid title array pointer conversion
Regression from cad5bc0a9d.
2019-01-27 19:01:44 +02:00
Steve Lhomme
5363279805 remove the $Id$ in the source code 2019-01-17 12:21:18 +01:00
Hugo Beauzée-Luyssen
946b67f964 core: Add a thumbnailing API
ref #17368
2018-11-12 17:09:05 +01:00
Thomas Guillem
6d97630b70 input: handle "sub-fps" with a new control
We now change the slave demux rate according to the requested subtitle fps and
the main demuxer fps.

Example: Video is 24fps but the subtitle is 26fps. In that case, we want to
slow down the subtitle demuxer. Setting "sub-fps" to 26 will change the rate
of the subtitle demuxer to 0.92.
2018-10-18 13:12:22 +02:00
Thomas Guillem
0f90207fee input: handle vbi controls and events
This will be used by the future player to select VBI page or transparency and
get notified when they change. These new controls need the vlc_es_id_t of the
teletext track, that will be known by the player. This will replace the hackish
function: input_GetEsObjects() that is only used by QT in order to control
teletext.
2018-10-18 13:12:22 +02:00
Thomas Guillem
cff39b31f3 input: add VLC_INPUT_PROGRAM_UPDATED
This avoids to destroy and recreate a program when the title changes.
2018-10-10 09:44:24 +02:00
Steve Lhomme
a856cc1460 core: use vlc_tick_t for seekpoint_t::i_time_offset officially 2018-09-20 11:31:36 +02:00
Thomas Guillem
13170b58b4 input: more precise title events 2018-09-12 16:33:43 +02:00
Thomas Guillem
809c7741f7 input: rename VLC_INPUT_EVENT_VOUT_REMOVED event
Rename it to VLC_INPUT_EVENT_VOUT_DELETED, for consistency with others events
(es, programs).
2018-09-10 16:22:42 +02:00
Thomas Guillem
4ae884a3a9 input: more precise vout events
Notify in the event which vout is removed or added, and send vout events from
the input resource for more controls.
2018-09-07 15:25:11 +02:00
Thomas Guillem
02442c0f4e input: remove INPUT_EVENT_AOUT
This event was not used. The aout is unique and created by the playlist (and by
vlc_player in the future), we don't need to send any events for its
creation/deletion.
2018-09-07 15:25:11 +02:00
Thomas Guillem
3b5560e5f1 input: forward input_stats_t from INPUT_EVENT_STATISTICS events
Allow to fetch last input stats without holding the input_item_t lock.
It will be used by the future vlc_player.
2018-09-06 10:28:37 +02:00
Thomas Guillem
337886df92 input: add infos controls
Since they are only used by es_out.c. Little behavior change: the info event is
now sent only one time for several info changes.
2018-09-04 18:04:40 +02:00
Thomas Guillem
b43a25889c input: hide attachments controls
Since they are only used privately.
2018-09-04 16:38:03 +02:00
Francois Cartegnie
69017672f1 api: expose input_DecoderSetSpuHighlight
Allows changing Highlight on input decoders
2018-09-03 23:23:59 +02:00
Thomas Guillem
7e719ff464 es_out: add a new ES track identifier
Add the vlc_es_id_t structure representing an ES track ID.

This new struct will be used to select/unselect/restart tracks.

Users will receive this new struct from input thread event callbacks. They will
be able to hold/release it (and use it even after the track is terminated by
the es_out).

ES Tracks will still be selectable via their i_id (for TS cases) and legacy
track selection via "video-es"/"audio-es"/"spu-es" is still functional.

ES tracks of the input item will now keep the same fmt.i_id than the demuxer
one.

The fmt of the ES events will now keep the decoder codec. The original codec
from the demuxer is still available via fmt.i_original_fourcc.
2018-09-03 17:04:04 +02:00
Thomas Guillem
ed51ac00c5 input: rename ES selection controls
These controls selected ESes by their id.
2018-09-03 16:51:47 +02:00
Thomas Guillem
2acf5e18ee input: signal when an es fmt is updated
Will be used by the future vlc_player. It will allow to browse all es tracks
with an up to date fmt.
2018-09-03 16:51:36 +02:00
Thomas Guillem
92c146a614 input: change input_thread_events_cb params
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.
2018-08-31 11:01:28 +02:00
Romain Vimont
7fabc5be79 input: pass thread event callbacks to input_Read()
Add parameters for callbacks and user data so that the caller may
receive input thread events (e.g. "subtree added").
2018-08-20 13:51:28 +02:00
Romain Vimont
9da7193926 input: notify "subtree added" on the input thread
Subitems do not belong to an input item: they are created only to fire
an event, then destroyed immediately. Thus, the detection of subitems is
more related to a specific preparsing task than to the item itself.

Therefore, notify the detection of subitems on the input thread, so that
we could eventually remove the vlc_InputItemSubItemTreeAdded event on
the input item.
2018-08-20 13:51:28 +02:00
Romain Vimont
ee83628877 input: name input event structs
Some input event structs contain enums, whose values can be accessed
globally in C, but need a qualified access in C++. Since these enums are
defined inside unamed union and structs, there was no way to use them
from C++ code.

To avoid the problem, declare named structs for every event type
requiring more than one field.
2018-08-20 13:51:28 +02:00