431 Commits

Author SHA1 Message Date
baka0815
5fc1b1c862
Translate the ISO-639-2/B codes to ISO-639-2/T. (#13068)
* 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.
2025-04-07 21:29:12 -06:00
Tim Eisele
596b635511
Cleanup extracted files (#13760)
* 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
2025-04-03 09:17:14 -06:00
gnattu
49ac705867
Improve dynamic HDR metadata handling (#13277)
* 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
2025-04-02 18:06:02 -06:00
gnattu
4a4fef830e
Explicitly set default value for enums used in API models (#13821)
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
2025-03-31 17:43:31 -06:00
Tim Eisele
3fc3b04daf
Rework parental ratings (#12615) 2025-03-30 21:51:54 -06:00
Dominik Krivohlavek
93dd5551df
Add support for reading and storing Recording MBIDs from file metadata (#12173)
* 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
2025-02-28 23:00:52 -07:00
Cody Robibero
712908d53c
Revert nullability of MediaStream.IsHearingImpaired (#13573) 2025-02-17 19:20:18 -07:00
luzpaz
b37bc9016f
Fix typos
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`
2025-01-26 11:14:03 -05:00
Josh Soref
044cf9fb85 chore: fix spelling
* 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 <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00
JPVenson
d073e2c664 Fixed invalid columns on MediaStreams 2024-11-12 23:53:05 +00:00
Tim Eisele
0d85af019c
Use enums for encoding options (#12561) 2024-09-09 08:43:37 -06:00
llutic
d0567fc8c6
Add support DoVi Profile 10 (#11559) 2024-09-07 11:18:18 -06:00
gnattu
5a8a19e07b
Add MediaStream.ReferenceFrameRate for problematic video files (#12603)
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-09-07 11:16:23 -06:00
nyanmisaka
d447207489 Apply suggestions from code review
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-28 03:20:04 +08:00
Nyanmisaka
2aa9cf4007
Merge branch 'master' into fix-hwa-video-rotation 2024-08-05 16:37:09 +08:00
gnattu
8f28c3a0fb fix doc
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu
daf8d649f2 Add AC4 downmix
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu
0a1a109b2e
Add RFC7845 downmix algorithm (#12300) 2024-07-30 09:50:22 -06:00
gnattu
0132ad05ab Display DOVI title in DisplayTitle when available
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 07:49:05 +08:00
Nyanmisaka
00088c2954
Merge branch 'master' into fix-hwa-video-rotation 2024-07-23 15:37:33 +08:00
Bond_009
ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Cody Robibero
042d3e3f93
Don't include new internal MediaStream properties in api spec (#12288) 2024-07-16 12:57:02 -04:00
David Schulte
fc1bee30a6
Allow streaming of raw PGS subtitles without transcoding (#12056) 2024-07-15 08:48:09 -04:00
Erwin de Haan
3262f8dc2a
Add check for ProviderIds to prevent '=' from appearing in keys, also support '=' in the values. (#12274) 2024-07-15 08:44:22 -04:00
nyanmisaka
d37c5d8921 Backport pull request #12149 from jellyfin/release-10.9.z
Fix MicroDVD being recognized as DVDSUB subtitles

Original-merge: 6010bc01c321ea85935314191f5f8c19fd4b3bfb

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:59 -04:00
Bond_009
e2c4e52f39 Add regressions tests for update library endpoint 2024-06-02 18:18:13 +02:00
Bond_009
69ae006f37 Prefer profile over codec for display title
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.
2024-05-21 14:55:42 +02:00
GeorgeH005
e93fa27e4c
Add support for out-of-spec but existent, Dolby Vision Profile 8 CCid 6 media. (#11334) 2024-04-10 13:33:24 -06:00
Joshua M. Boniface
ee1d6332ee
Merge pull request #11220 from Shadowghost/add-playlist-acl-api
Add playlist ACL endpoints
2024-04-10 12:52:01 -04:00
Shadowghost
bff37ed13a Apply review suggestions 2024-04-01 19:59:48 +02:00
Cody Robibero
3ade3a8e63
Lowercase CollectionTypeOptions to match legacy experience (#11272) 2024-03-31 21:58:06 -06:00
nyanmisaka
bf654bde60 Add json parser for video rotation side data
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-30 06:09:58 +08:00
Shadowghost
2aaa9f669a Apply review suggestions 2024-03-27 06:39:14 +01:00
Shadowghost
56c432a843 Apply review suggestions 2024-03-26 23:45:14 +01:00
Shadowghost
88b3490d17 Add playlist ACL endpoints 2024-03-26 15:49:18 +01:00
vedant
3bbb57eb83
Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
Cody Robibero
0bc41c015f
Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Patrick Barron
6d8062116c Remove some unused model code 2024-02-06 10:15:29 -05:00
Mohamed Akram
f49de51225
Detect audio spatial format (#9996)
* Detect audio spatial format

* Update MediaBrowser.Model/Entities/MediaStream.cs

* Update MediaStream.cs

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-01-06 14:11:08 -07:00
ArabCoders
bce22fcc2a Added new API endpoint to update User item data 2023-11-12 17:52:24 +03:00
Cody Robibero
892973a9e3
Merge branch 'master' into media-type 2023-11-09 22:03:55 -07:00
Cody Robibero
906f701fa8
Convert CollectionType, SpecialFolderType to enum (#9764)
* Convert CollectionType, SpecialFolderType to enum

* Hide internal enum CollectionType values

* Apply suggestions from code review

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>

* Fix recent change

* Update Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs

Co-authored-by: Patrick Barron <barronpm@gmail.com>

---------

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
Co-authored-by: Patrick Barron <barronpm@gmail.com>
2023-11-09 14:00:29 -07:00
Cody Robibero
2920611ffc Convert string MediaType to enum MediaType 2023-10-10 15:57:15 -06:00
Bond_009
d92e9ae85e Enable nullable for more files and add tests
Adds basic tests for FFProbeVideoInfo.CreateDummyChapters
Fixed error message CreateDummyChapters instead of reporting the total minutes it only reported the minute component
2023-08-22 18:11:34 +02:00
Shadowghost
20a4509991 Migrate VideoRange and VideoRangeType to Enum 2023-06-28 12:02:20 +02:00
Shadowghost
76ae599bd3 Fix playlist creation and removal 2023-03-10 19:16:35 +01:00
Shadowghost
9d21f078c7 Add default rating selections 2023-02-20 11:53:20 +01:00
Shadowghost
407c716f82 Add stereo downmix algorithm selection. 2023-01-10 15:29:39 +01:00
Cody Robibero
9a740344be
Add support for .sup subtitle (#8808)
Fixes https://github.com/jellyfin/jellyfin/issues/8628
2022-12-30 08:24:06 -07:00
Bond_009
c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00