<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs, branch v12.0-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=v12.0-rc2</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=v12.0-rc2'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-05-12T00:12:14Z</updated>
<entry>
<title>move language filters from QueryFiltersLegacy to QueryFilters</title>
<updated>2026-05-12T00:12:14Z</updated>
<author>
<name>TheMelmacian</name>
<email>76712303+TheMelmacian@users.noreply.github.com</email>
</author>
<published>2026-05-11T23:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=39049a726e1a88e8acf1d8cc5c217bc8d86be9ae'/>
<id>urn:sha1:39049a726e1a88e8acf1d8cc5c217bc8d86be9ae</id>
<content type='text'>
</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>Fix zh-CN subtitle language display</title>
<updated>2026-01-05T11:22:44Z</updated>
<author>
<name>ZeusCraft10</name>
<email>akhilachanta8@gmail.com</email>
</author>
<published>2026-01-05T11:22:44Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=90390772869495228793e1b29db20c8741a309de'/>
<id>urn:sha1:90390772869495228793e1b29db20c8741a309de</id>
<content type='text'>
The DisplayTitle property was using .NET's CultureInfo.GetCultures(NeutralCultures)
to resolve language display names. Since zh-CN is a specific culture (not neutral),
it would fall back to the base 'zh' code, resulting in generic 'Chinese' instead
of 'Chinese (Simplified)'.

This change adds a LocalizedLanguage property to MediaStream that gets populated
via LocalizationManager.FindLanguageInfo() when streams are retrieved from the
database. This leverages Jellyfin's existing iso6392.txt mappings which correctly
map zh-CN to 'Chinese (Simplified)'.

The same pattern is already used for other localized strings like LocalizedDefault
and LocalizedExternal.
</content>
</entry>
<entry>
<title>Translate the ISO-639-2/B codes to ISO-639-2/T. (#13068)</title>
<updated>2025-04-08T03:29:12Z</updated>
<author>
<name>baka0815</name>
<email>git@baka0815.de</email>
</author>
<published>2025-04-08T03:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=5fc1b1c862f30f81010c3c87dbb753c6f0e4dcfb'/>
<id>urn:sha1:5fc1b1c862f30f81010c3c87dbb753c6f0e4dcfb</id>
<content type='text'>
* Translate the ISO-639-2/B codes to ISO-639-2/T.

This enables 19 additional languages to be displayed correctly.

* Convert the 2-dimensional array to a dictionary

* Added the French language to the list of ISO-639-2/B codes

* Don't change the property, use a local variable instead.

* When creating the MediaStream in the MediaStreamRepository ensure that the ISO 639-2/T (f.e. deu) code is used for the language as that is the one the .NET culture info knows.
The other code is most likely the ISO 639-2/B code (f.e. ger) which is unknown to the .NET culture info and will result in just displaying the code instead of the display name.

* Move the substitution of ISO 639-2/B to /T to the localization manager.
Some language (like Chinese) have multiple entries in the iso6392.txt file (f.e. zho|chi|zh|..., zho|chi|zh-tw|...) but the conversation between /T and /B is the same so use .TryAdd.

* Change the method definition from GetISO6392TFromB to TryGetISO6392TFromB and return true if a case was found.

* Add unit tests for TryGetISO6392TFromB.</content>
</entry>
<entry>
<title>Improve dynamic HDR metadata handling (#13277)</title>
<updated>2025-04-03T00:06:02Z</updated>
<author>
<name>gnattu</name>
<email>gnattu@users.noreply.github.com</email>
</author>
<published>2025-04-03T00:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=49ac705867234c48e79ceb1cd84bc4394c65313d'/>
<id>urn:sha1:49ac705867234c48e79ceb1cd84bc4394c65313d</id>
<content type='text'>
* Add support for bitstream filter to remove dynamic hdr metadata

* Add support for ffprobe's only_first_vframe for HDR10+ detection

* Add BitStreamFilterOptionType for metadata removal check

* Map HDR10+ metadata to VideoRangeType.cs

Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged.

* Add more Dolby Vision Range types

Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player.

Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving.

* Remove dynamic hdr metadata when necessary

* Allow direct playback of HDR10+ videos on HDR10 clients

* Only use dovi codec tag when dovi metadata is not removed

* Handle DV Profile 7 Videos better

* Fix HDR10+ with new bitmask

* Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS

* Fix Dovi 8.4 not labeled as HLG in HLS

* Fallback to dovi_rpu bsf for av1 when possible

* Fix dovi_rpu cli for av1

* Use correct EFCore db column for HDR10+

* Undo outdated migration

* Add proper hdr10+ migration

* Remove outdated migration

* Rebase to new db code

* Add migrations for Hdr10PlusPresentFlag

* Directly use bsf enum

* Add xmldocs for SupportsBitStreamFilterWithOption

* Make `VideoRangeType.Unknown` explicitly default on api models.

* Unset default for non-api model class

* Use tuples for bsf dictionary for now</content>
</entry>
<entry>
<title>Fixed namespaces</title>
<updated>2025-03-25T15:45:00Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2025-03-25T15:45:00Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=42bdb22bfb690a6af37d70f12844881d884927b1'/>
<id>urn:sha1:42bdb22bfb690a6af37d70f12844881d884927b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>WIP fixed namespaces</title>
<updated>2025-03-25T15:30:22Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2025-03-25T15:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=160020c551f71441fec093f5a6b2ca2650d9a74d'/>
<id>urn:sha1:160020c551f71441fec093f5a6b2ca2650d9a74d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert nullability of MediaStream.IsHearingImpaired (#13573)</title>
<updated>2025-02-18T02:20:18Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2025-02-18T02:20:18Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=712908d53c7ca38d13e03ea7809e0c40e862a5fb'/>
<id>urn:sha1:712908d53c7ca38d13e03ea7809e0c40e862a5fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Order MediaStream query by StreamIndex (#13506)</title>
<updated>2025-02-06T14:15:29Z</updated>
<author>
<name>gnattu</name>
<email>gnattu@users.noreply.github.com</email>
</author>
<published>2025-02-06T14:15:29Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=341bb024227a1be91a00fbaf0a30ee44d915e342'/>
<id>urn:sha1:341bb024227a1be91a00fbaf0a30ee44d915e342</id>
<content type='text'>
Our stream index calculation logic implemented in #7529, assumes an in-order array. However, our current query may return out-of-order items, leading the server to pass an incorrect index to ffmpeg, causing the transcoding to crash.</content>
</entry>
<entry>
<title>Applied coding style</title>
<updated>2024-11-17T11:03:43Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2024-11-17T11:03:43Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=b39553611d0d6702ef657f76573cefa2ee437745'/>
<id>urn:sha1:b39553611d0d6702ef657f76573cefa2ee437745</id>
<content type='text'>
</content>
</entry>
</feed>
