| Age | Commit message (Collapse) | Author |
|
Fix crash when a subtitle charset has no .NET encoding
Original-merge: 2f5be2df9be3d9ef44af4bf787a063f4d4166629
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
* Fix subtitle encoding
* Add short-circuit
* Use IsTextFormat
* Update MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
---------
Co-authored-by: Bond-009 <bond.009@outlook.com>
|
|
SubtitleEncoder.ConvertSubtitles parsed subtitles with libse's static
Subtitle.Parse, which iterates a statically cached list of shared
SubtitleFormat instances. Format parsers keep mutable per-parse state on
the instance, so concurrent subtitle requests corrupted each other's
output (cues mixed across streams and languages, truncated files) or
failed with NullReferenceException when format detection broke down and
Subtitle.Parse returned null.
Parse through the injected ISubtitleParser instead. SubtitleEditParser
instantiates a fresh format parser per call, so requests no longer share
state. Its Parse method now returns the libse Subtitle directly (the
SubtitleTrackInfo flattening was unused since the SubtitleEdit writer
rework) so the writers keep full fidelity such as ASS styling.
|
|
We've been using SubtitleEdit to parse since 2021
https://github.com/jellyfin/jellyfin/pull/4984
I think it's time we start using it to write too
|
|
fix: retain subtitles spanning HLS segment boundaries
|
|
|
|
Co-authored-by: John Doe <john@doe>
Co-authored-by: Lehonti Ramos <lehonti@ramos>
|
|
|
|
|
|
|
|
feat: make subtitleeditparser generic
Authored-by: Claus Vium <cvium@users.noreply.github.com>
Merged-by: Bond-009 <bond.009@outlook.com>
Original-merge: 7323ccfc232d31797af3ceb8bad93cae1ea0898d
|
|
removed (#2149)
|
|
|
|
|
|
|
|
|
|
|
|
libse (the SSA parser we use) has these same tests now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|