Draft: preparser: use of an external process for preparsing
Updated 2025/04/16
This MR improves media parsing stability by isolating the preparser in a dedicated external process (vlc-preparser
), using a JSON-based IPC protocol.
-
External preparser process:
- Creates
vlc-preparser
as a standalone process to handle parsing requests. - Uses JSON messages for IPC between VLC core and vlc-preparser process.
- Read request on
STDIN
and print responce inSTDOUT
. - Send big attachments (
picture_t
orinput_attachment_t
) in binary just after the JSON.
- Creates
-
New preparser backend system:
- Implements module-like interface for the preparser.
- Maintains compatibility with existing preparser API.
- Adds a boolean in the
vlc_preparser_cfg
struture to choose between internal preparser or with the external process. - Updates playlist and the medialib thumbnailer to use the external process.
-
Serialization framework:
- Implements JSON serialization/deserialization module for
preparser_msg
structure.
- Implements JSON serialization/deserialization module for
-
Other:
- Change
vlc_pipe
for windows. - Add
es_vec
ininput_item_Copy
function. - Add a
input_item_Update
function that use the data of oneinput_item
to update an other one. (Likeinput_item_Copy
but using the sameinput_item
instead of creating a new one) - Add a
input_item_node_Copy
to copy all the input_item_node tree. (The inner items are just held) - Add getter for
meta
value.
- Change
Benchmark:
Edited by Gabriel Lafond-Thenaille
Merge request reports
Activity
Filter activity
Please register or sign in to reply