<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/tests/Jellyfin.MediaEncoding.Tests, branch v12.0-rc3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=v12.0-rc3</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=v12.0-rc3'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-07-21T12:52:59Z</updated>
<entry>
<title>Fix subtitle encoding for local files (#17281)</title>
<updated>2026-07-21T12:52:59Z</updated>
<author>
<name>Tim Eisele</name>
<email>Tim_Eisele@web.de</email>
</author>
<published>2026-07-21T12:52:59Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=ed61acc19a958ceaf8de6f6f0f481b2b5370463a'/>
<id>urn:sha1:ed61acc19a958ceaf8de6f6f0f481b2b5370463a</id>
<content type='text'>
* Fix subtitle encoding

* Add short-circuit

* Use IsTextFormat

* Update MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs

Co-authored-by: Bond-009 &lt;bond.009@outlook.com&gt;

---------

Co-authored-by: Bond-009 &lt;bond.009@outlook.com&gt;</content>
</entry>
<entry>
<title>Merge pull request #17342 from LTe/fix-subtitle-conversion-race</title>
<updated>2026-07-20T23:51:44Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2026-07-20T23:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=f2b9c6896960e98ddbd88f2aabd1459315fec86c'/>
<id>urn:sha1:f2b9c6896960e98ddbd88f2aabd1459315fec86c</id>
<content type='text'>
Fix race condition in concurrent subtitle conversion</content>
</entry>
<entry>
<title>Remove libpostproc check for ffmpeg version validation (#17384)</title>
<updated>2026-07-20T10:16:37Z</updated>
<author>
<name>gnattu</name>
<email>gnattu@users.noreply.github.com</email>
</author>
<published>2026-07-20T10:16:37Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=a238d59a0702363671dfcfcac36a1881172200a8'/>
<id>urn:sha1:a238d59a0702363671dfcfcac36a1881172200a8</id>
<content type='text'>
Remove libpostproc check for ffmpeg version validation</content>
</entry>
<entry>
<title>Fix race condition in concurrent subtitle conversion</title>
<updated>2026-07-15T12:55:55Z</updated>
<author>
<name>Piotr Niełacny</name>
<email>piotr.nielacny@gmail.com</email>
</author>
<published>2026-07-15T12:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=6e3c1874936b767754cd9267749f35b27f2ae65f'/>
<id>urn:sha1:6e3c1874936b767754cd9267749f35b27f2ae65f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Rework bitrate reporting</title>
<updated>2026-06-23T15:47:17Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-06-23T15:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=d090c599391928bfabf0e91fb907a3c445b0ff38'/>
<id>urn:sha1:d090c599391928bfabf0e91fb907a3c445b0ff38</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make sure we don't include the null terminator</title>
<updated>2026-06-16T15:45:22Z</updated>
<author>
<name>Bond_009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-06-16T15:45:22Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=4c228eaf63c0b60e40a5a4b82aa66af336750f08'/>
<id>urn:sha1:4c228eaf63c0b60e40a5a4b82aa66af336750f08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add regression test</title>
<updated>2026-06-15T19:20:06Z</updated>
<author>
<name>Bond_009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-06-15T19:20:06Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=0022508889adb8b60bde8bc5e69640d3ff8dd346'/>
<id>urn:sha1:0022508889adb8b60bde8bc5e69640d3ff8dd346</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Write subtitles using SubtitleEdit</title>
<updated>2026-05-30T19:09:10Z</updated>
<author>
<name>Bond_009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-05-08T19:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=941298ee8108d79bd2f9bc010415103fddf54b0e'/>
<id>urn:sha1:941298ee8108d79bd2f9bc010415103fddf54b0e</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Add OriginalLanguage as option to PreferredAudioLanguage (#12579)</title>
<updated>2026-05-07T18:07:23Z</updated>
<author>
<name>Erik W</name>
<email>22211983+Lampan-git@users.noreply.github.com</email>
</author>
<published>2026-05-07T18:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=e1e18e8da015e7311e62cdb62167d51e90331edd'/>
<id>urn:sha1:e1e18e8da015e7311e62cdb62167d51e90331edd</id>
<content type='text'>
* Add OriginalLanguage as option to PreferredAudioLanguage

* Support for multiple original languages

* Add original audio stream indicator

* Fetch OriginalLanguage from TMDB

* Adapt to EFCore refactor

* Fix PlayDefaultAudioTrack OriginalLanguage behavior

* Fix better PlayDefaultAudioTrack OriginalLanguage behavior

* Add comment to ItemFields

* Improved PlayDefaultAudioTrack behavior

* Add migration for original language

* Use sting.Equals for string comparisons

* Always set dto OriginalLanguage

* Remove OriginalLanguage from ItemFields

---------

Co-authored-by: Lampan-git &lt;lampan-git@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Merge pull request #16666 from Shadowghost/xunit3</title>
<updated>2026-04-24T16:59:31Z</updated>
<author>
<name>Bond-009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-04-24T16:59:31Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=b1e2419c6593a3aa4c8df3778831a3214ae5a1c0'/>
<id>urn:sha1:b1e2419c6593a3aa4c8df3778831a3214ae5a1c0</id>
<content type='text'>
Upgrade to xunit v3</content>
</entry>
</feed>
