Commit Graph

10 Commits

Author SHA1 Message Date
Piotr Niełacny 6e3c187493 Fix race condition in concurrent subtitle conversion
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.
2026-07-15 14:55:55 +02:00
Joshua Boniface 38eefbbafa Backport pull request #8087 from jellyfin/release-10.8.z
feat: make subtitleeditparser generic

Authored-by: Claus Vium <cvium@users.noreply.github.com>

Merged-by: Bond-009 <bond.009@outlook.com>

Original-merge: 7323ccfc23
2022-08-01 14:25:42 -04:00
Bond-009 18efa25a6f Enable TreatWarningsAsErrors for MediaBrowser.MediaEncoding 2020-08-04 16:20:52 +02:00
Erwin de Haan 8f41ba4d3a Find+Sed BOM removal *.cs: MediaBrowser.LocalMetadata-MediaBrowser.Model 2019-01-13 21:02:23 +01:00
Mathieu Velten 1d7d52ff9e Port MediaEncoding and Api.Playback from 10e57ce8d21b4516733894075001819f3cd6db6b 2018-12-14 17:32:54 +01:00
Luke Pulverenti 40442f887b consolidate emby.server.core into emby.server.implementations 2017-08-09 15:56:38 -04:00
Luke Pulverenti 3178896004 update subtitle methods 2015-07-19 23:43:13 -04:00
Luke Pulverenti 77ad0fc336 fixes #674 - Support converting subtitles to webvtt 2014-06-11 10:42:03 -04:00
Luke Pulverenti 0d025f7fb6 beginning remote subtitle downloading 2014-05-06 22:28:19 -04:00
Luke Pulverenti e1dd361c7b added subtitle parsing stubs 2014-05-05 10:45:45 -04:00