Draft: preparser: use of an external process for preparsing
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 base64 outside of the JSON.
- Creates
-
New preparser backend system:
- Implements module-like interface for the preparser.
- Maintains compatibility with existing preparser API.
- Adds
VLC_PREPARSER_BACKEND_PROCESS
for external process execution andVLC_PREPARSER_BACKEND_THREADS
for original implementation. - Updates playlist and the medialib thumbnailer to use the process backend.
-
Serialization framework:
- Implements JSON serialization/deserialization module for
preparser_msg
structure.
- Implements JSON serialization/deserialization module for
Benchmark:
/!\ Missing test on windows and macos