[IMPROVEMENT]: Ensure WebVTT output includes minimal X-TIMESTAMP-MAP for HLS compatibility #1744
+78
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
SUMMARY
This PR ensures that when
--timestamp-map
&--out=webvtt
is used and no captions are detected, CCExtractor still writes a minimal header containing :X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
This makes the generated .vtt file valid for HLS players, which often require this header even in empty subtitle files.
IMPLEMENTATION DETAILS
CHANGES.TXT
-Added entry under Unreleased: 1.0
IMPROVEMENT: Add default X-TIMESTAMP-MAP header for empty subtitle files in WebVTT for better compatibility
of HLS streaming (#1743)
src/ccextractor.c
-Call
webvtt_write_minimal_header()
instart_ccx()
when no captions are found and--out=webvtt
is set.src/lib_ccx/ccx_encoders_helpers.c
-Added new helper function
webvtt_write_minimal_header()
-Which:
Initializes encoder context for WebVTT.
Writes a default
X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
line.Ensures line terminator respects user config (LF vs CRLF).
Cleans up encoder context properly.
src/lib_ccx/ccx_encoders_helpers.h
-Declared the new function:
void webvtt_write_minimal_header(void);