[CharArrayParser] Skip malformed EOL #25323
Open
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.
Description
Some subtitles may have a malformed line breaks as follow: CR+CR+LF
that is a mixed line breaks between macintosh + windows format
on other media players like VLC or MPV somewhat are able skip malformed chars to allow to try read the file in a better way
subtitles like this use case was working on Kodi <= 19 because to read text lines was using
std::stringstream
getline
that by default identify the new line by checking for
\n
and somewhat other EOL chars was ignoredbut from Kodi 20 has been introduced CharArrayParser to get the text lines
this to allow read Macintosh format subtitles (usually webvtt) but dont handle this situation
Motivation and context
fix #25299
How has this been tested?
sample video + srt
Video test+srt.zip
What is the effect on users?
Subs working despite malformed EOL chars
Screenshots (if appropriate):
Types of change
Checklist: