<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/MediaBrowser.Model/Entities, branch v10.11.0-rc4</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.lodewillems.com/jellyfin/atom?h=v10.11.0-rc4</id>
<link rel='self' href='https://git.lodewillems.com/jellyfin/atom?h=v10.11.0-rc4'/>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/'/>
<updated>2025-07-30T14:15:37Z</updated>
<entry>
<title>Further refinement of BCP 47 language labeling support</title>
<updated>2025-07-30T14:15:37Z</updated>
<author>
<name>dyphire</name>
<email>qimoge@gmail.com</email>
</author>
<published>2025-07-30T14:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=2007815fa6b592984a64a6d3d978d41ae8f7347b'/>
<id>urn:sha1:2007815fa6b592984a64a6d3d978d41ae8f7347b</id>
<content type='text'>
</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.lodewillems.com/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>Cleanup extracted files (#13760)</title>
<updated>2025-04-03T15:17:14Z</updated>
<author>
<name>Tim Eisele</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2025-04-03T15:17:14Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=596b63551196f7ce9bcb8d8de617d3c79201a375'/>
<id>urn:sha1:596b63551196f7ce9bcb8d8de617d3c79201a375</id>
<content type='text'>
* Cleanup extracted files

* Pagination and fixes

* Add migration for attachments to MigrateLibraryDb

* Unify attachment handling

* Don't extract again if files were already extracted

* Fix MKS attachment extraction

* Always run full extraction on mks

* Don't try to extract mjpeg streams as attachments

* Fallback to check if attachments were extracted to cache folder

* Fixup</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.lodewillems.com/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>Explicitly set default value for enums used in API models (#13821)</title>
<updated>2025-03-31T23:43:31Z</updated>
<author>
<name>gnattu</name>
<email>gnattu@users.noreply.github.com</email>
</author>
<published>2025-03-31T23:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=4a4fef830eccf0629d7cf955126f0cd78867e0ee'/>
<id>urn:sha1:4a4fef830eccf0629d7cf955126f0cd78867e0ee</id>
<content type='text'>
Enums in response model with no nullability or default value will make the API very fragile as each extension to the enum will break the API for some clients, but a lot of enums actually do have an unknown value which should be used as a default. This set all model properties that are non-nullable using an enum that has an Unknown member in 10.10, except MediaStream.VideoRangeType which is refactored in #13277</content>
</entry>
<entry>
<title>Rework parental ratings (#12615)</title>
<updated>2025-03-31T03:51:54Z</updated>
<author>
<name>Tim Eisele</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2025-03-31T03:51:54Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=3fc3b04daf929d1d3a9533fc410cb77885eb2e8a'/>
<id>urn:sha1:3fc3b04daf929d1d3a9533fc410cb77885eb2e8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for reading and storing Recording MBIDs from file metadata (#12173)</title>
<updated>2025-03-01T06:00:52Z</updated>
<author>
<name>Dominik Krivohlavek</name>
<email>github@xkrivo.net</email>
</author>
<published>2025-03-01T06:00:52Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=93dd5551df280f53eaa441156cc6016ee384e554'/>
<id>urn:sha1:93dd5551df280f53eaa441156cc6016ee384e554</id>
<content type='text'>
* Add recording metadata provider

* Add recording MBID

* Save recording MBID during probing

* Set recording ID in probe result normalizer

* Add recording external media type

* Reimplement after changes in upstream

* Rename variable

* Rename variable

* Revert "Set recording ID in probe result normalizer"

This reverts commit 9dd18c8aba3f970a5816a13a33acf3d58b0e440f.

* Fix setting provider ID

* Simplify code

* Fix comment

* Add missing using</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.lodewillems.com/jellyfin/commit/?id=712908d53c7ca38d13e03ea7809e0c40e862a5fb'/>
<id>urn:sha1:712908d53c7ca38d13e03ea7809e0c40e862a5fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2025-01-26T16:14:03Z</updated>
<author>
<name>luzpaz</name>
<email>luzpaz@users.noreply.github.com</email>
</author>
<published>2025-01-26T16:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=b37bc9016f8b625de3ec4a1fd2c4aac4b979cd7f'/>
<id>urn:sha1:b37bc9016f8b625de3ec4a1fd2c4aac4b979cd7f</id>
<content type='text'>
Found via `codespell -q 3 -D ../../dictionary.txt -S "./Emby.Server.Implementations/Localization" -L allready,childrens,groupe,inh,raisons,re-use,som,supercede,superceded,thirdparty,whoknows`</content>
</entry>
<entry>
<title>chore: fix spelling</title>
<updated>2025-01-26T01:05:15Z</updated>
<author>
<name>Josh Soref</name>
<email>2119212+jsoref@users.noreply.github.com</email>
</author>
<published>2024-12-08T07:52:54Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=044cf9fb8597c6507a249d17cea443305881c4f6'/>
<id>urn:sha1:044cf9fb8597c6507a249d17cea443305881c4f6</id>
<content type='text'>
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref &lt;2119212+jsoref@users.noreply.github.com&gt;
</content>
</entry>
</feed>
