<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs, branch v10.11.0-rc4</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=v10.11.0-rc4</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=v10.11.0-rc4'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2025-04-08T03:29:12Z</updated>
<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>
<entry>
<title>Fixed invalid columns on MediaStreams</title>
<updated>2024-11-12T23:53:05Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2024-11-12T23:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=d073e2c664120d04a3ce49a6a636c6fdd7252100'/>
<id>urn:sha1:d073e2c664120d04a3ce49a6a636c6fdd7252100</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reverted Primary Constructor</title>
<updated>2024-10-28T11:54:08Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2024-10-28T11:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=9342a6a9d6202ec027b6b13e0c45723c9ee1e969'/>
<id>urn:sha1:9342a6a9d6202ec027b6b13e0c45723c9ee1e969</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Updated .AsNoTracking() where applicable</title>
<updated>2024-10-09T23:58:55Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2024-10-09T23:58:55Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=2c2e33dd82de89ce2bc0fe664f5c753e42a716bc'/>
<id>urn:sha1:2c2e33dd82de89ce2bc0fe664f5c753e42a716bc</id>
<content type='text'>
</content>
</entry>
</feed>
