| Age | Commit message (Collapse) | Author |
|
* Add support for VobSub subtitle streams
* update logic to determine separate extraction for VobSub subtitles
* simplify VobSub extraction logic and fix ffmpeg command
* Match `ExtractAllExtractableSubtitlesMKS` with `ExtractAllExtractableSubtitlesInternal` Matroska's VobSub option
* Add a comments clarify why MKS was used, and remove the redundant VobSub extension branch
* remove redundant VobSub format check
* fix type errors
|
|
* 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 <lampan-git@users.noreply.github.com>
|
|
LoadCultures() in LocalizationManager skipped all iso6392.txt entries
without a two-letter ISO 639-1 code, dropping 302 of 496 languages
including mul (Multiple languages), und (Undetermined), mis (Uncoded
languages), zxx, and many real languages like Achinese, Akkadian, etc.
This caused FindLanguageInfo() to return null for these codes, which
meant:
- ExternalPathParser could not recognize them as valid language codes
in subtitle filenames, so the Language field was never set
- DisplayTitle fell back to the raw code string (e.g. "Mul")
Fix by allowing entries without two-letter codes to be loaded with an
empty TwoLetterISOLanguageName. Also set LocalizedLanguage in
ProbeResultNormalizer for ffprobe-detected streams (the DB repository
path was already handled on master).
|
|
Also enables nullable for MediaStreamInfo
Makes more properties nullable that aren't always present
|
|
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.
|
|
|
|
* 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.
|
|
* 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
|
|
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
|
|
|
|
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`
|
|
|
|
|
|
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
|
|
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
|
|
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
|
|
|
|
|
|
Fix MicroDVD being recognized as DVDSUB subtitles
Original-merge: 6010bc01c321ea85935314191f5f8c19fd4b3bfb
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
|
|
FFmpeg 6.1 and newer can recognize Dolby Atmos and DTS:X.
This change makes it possible to see if a track has one of these technologies
if the used FFmpeg supports it.
|
|
media. (#11334)
|
|
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
|
|
|
|
* Detect audio spatial format
* Update MediaBrowser.Model/Entities/MediaStream.cs
* Update MediaStream.cs
---------
Co-authored-by: Cody Robibero <cody@robibe.ro>
|
|
|
|
Fixes https://github.com/jellyfin/jellyfin/issues/8628
|
|
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
|
|
Found via `codespell -q 3 -S ./Emby.Server.Implementations/Localization -L allready,doesnt,inh,receivedfrom,whoknows`
|
|
Add resolution text for 384 sized video
Original-merge: 7ffdde9a0b88f543a84fa8a3fa7487cbe8dda8b4
Merged-by: Cody Robibero <cody@robibe.ro>
Backported-by: Joshua Boniface <joshua@boniface.me>
|
|
Add resolution text output for more resolutions
Authored-by: Shadowghost <Ghost_of_Stone@web.de>
Merged-by: Bond-009 <bond.009@outlook.com>
Original-merge: 2b46917dcf7af970dc95d4ef0bbfebac7a520d25
|
|
(cherry picked from commit 39d185c7b19ed2da1ae46566152fb1cf182266cd)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
|
|
(cherry picked from commit f1d56aa5cef4c60021e0b29c5d9fb3adf384fda7)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
|
|
Fix Dolby Vision profile 5 and 8 to SDR HW tone-mapping
(cherry picked from commit 8595a979a872c05d0d06f9b87ed1b56c693c267d)
Signed-off-by: crobibero <cody@robibe.ro>
|
|
|
|
There are different profiles for DTS. For example, both DTS and DTS-HD
MA use the same codec, but provide a different profile.
Some files may provide both a DTS and DTS-HD MA audio track. With this
change, the UI shows which track is using which profile to allow the
user to choose between them.
|
|
|
|
They are still shown in associated metadata, just hidden from the more visible display titles.
|
|
|
|
Co-authored-by: Michał Kurek <michal.kurek@mail.com>
|
|
|
|
|
|
|
|
This improves GetResolutionText a little by making it easier to read and better parsing resolutions (Also adding a few new ones like PAL resolutions and 8K)
Co-authored-by: Maxr1998 <max.rumpf1998@gmail.com>
|
|
|
|
|
|
|
|
|
|
|