aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations
AgeCommit message (Collapse)Author
2025-04-26improved performance of save operations (#13889)JPVenson
2025-04-26Create directory before checking for size (#13962)JPVenson
2025-04-26Merge pull request #13847 from Shadowghost/rework-chapter-managementTim Eisele
Rework chapter management
2025-04-20Add Api and startup check for sufficient storage capacity (#13888)JPVenson
2025-04-19Improve video resolution filtering and classification logic (#13332)theguymadmax
2025-04-09Add Genre cleanup and fix cleanup filter queries (#13891)Tim Eisele
2025-04-08Fix InheritedParentalRatingSubValue not set (#13880)JPVenson
2025-04-07Translate the ISO-639-2/B codes to ISO-639-2/T. (#13068)baka0815
* 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-07Fix Genre type (#13862)Tim Eisele
2025-04-05Fix ancestors (#13827)Tim Eisele
2025-04-05Fix indices and update of ItemValues (#13843)Tim Eisele
2025-04-02Import Keyframes into database (#13771)Tim Eisele
* Migrate keyframe data into database * Clear database table before import to handle failed migrations
2025-04-02Improve dynamic HDR metadata handling (#13277)gnattu
* 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-03-30Rework parental ratings (#12615)Tim Eisele
2025-03-27Fix merged namespace errorCody Robibero
2025-03-27Fix Sort by Year Bug (#12101) (#13733)Jacob Warren
2025-03-26Fix only returning one item from /Item/Latest api. (#12492)JQ
* Updated to EFcore * Remove unused using * Dont use DateCreated not from episode type or music type * use TranslateQuery to filter out instead and then do the grouping and retrival of min and max datecreated instead * Album also
2025-03-25Merge pull request #13589 from JPVenson/feature/DatabaseRefactorCody Robibero
[Feature] Database code refactor
2025-03-25Fixed namespacesJPVenson
2025-03-25WIP fixed namespacesJPVenson
2025-03-25Merge branch 'master' into feature/DatabaseRefactorJPVenson
2025-03-24Merge pull request #13616 from Lampan-git/fix_people_roleNiels van Velzen
Include PeopleBaseItemMap in GetPeople to inlcude Role and SortOrder
2025-03-24Fixed naming schemeJPVenson
2025-03-24renamed SqLite to SqliteJPVenson
2025-03-23#13540 Fixed (#13757)JPVenson
#13508 Partially fixed Co-authored-by: JPVenson <github@jpb.software>
2025-03-23Remove all DB data on item removal, delete internal trickplay files (#13753)Tim Eisele
2025-03-18Add fast-path to getting just the SeriesPresentationUniqueKey for NextUp ↵Cody Robibero
(#13687) * Add more optimized query to calculate series that should be processed for next up * Filter series based on last watched date
2025-03-10Merge pull request #13406 from Shadowghost/extract-trickplay-masterBond-009
Extract trickplay files into own subdirectory
2025-03-05Move mapping assignment to MapLampan-git
2025-03-05Change PeopleBaseItemMap query from GroupJoin to IncludeLampan-git
2025-03-05Change GetPeople PeopleBaseItemMap code to queryLampan-git
2025-03-01Merge remote-tracking branch 'jellyfinorigin/master' into ↵JPVenson
feature/DatabaseRefactor
2025-03-01Merge pull request #13492 from gnattu/dont-use-returning-clauseBond-009
Don't use RETURNING clause with EFCore
2025-02-25Include PeopleBaseItemMap in GetPeopleLampan-git
2025-02-23Move throw into interface to use in wizard, check for null and invalid username.Jxiced
2025-02-21Prevent whitespaces in username during wizard setup.Jxiced
2025-02-20Merge pull request #13556 from Jxiced/masterBond-009
Don't allow usernames to have leading or trailing spaces
2025-02-20Moved Database projects under /srcJPVenson
removed old pgsql references
2025-02-19Merge remote-tracking branch 'jellyfinorigin/master' into ↵JPVenson
feature/DatabaseRefactor
2025-02-19Removed pgsql from refactorJPVenson
2025-02-17Revert nullability of MediaStream.IsHearingImpaired (#13573)Cody Robibero
2025-02-15Disallow incremental updates to JellyfinDbModelSnapshot (#13564)Cody Robibero
2025-02-15Merge pull request #13553 from crobibero/efcore-livetv-epgBond-009
Change BaseItemEntity ChannelId to nullable Guid
2025-02-14Update Jellyfin.Server.Implementations/Users/UserManager.csJxiced
Co-authored-by: gnattu <gnattu@users.noreply.github.com>
2025-02-14Update regex and revert previous changes to ThrowIfInvalidUsername.Jxiced
2025-02-14Update ThrowIfInvalidUsername to include whitespaces.Jxiced
2025-02-13Write only for query columns to EFCore db (#13542)gnattu
* Write only for query columns to EFCore db. We currently don't write the columns that do not exist on the BaseItem class definition in db. However, columns like `CleanName` is still useful and being used by internal queries and current behavior would cause such query to return nothing. The only exception is the UserDataKey which is not even being used for internal query that can be omitted. * Update comment
2025-02-13Change BaseItemEntity ChannelId to nullable GuidCody Robibero
2025-02-13Merge pull request #13539 from gnattu/mimic-old-get-item-value-namesBond-009
Simulate old GetItemValueNames behavior
2025-02-11Simulate old GetItemValueNames behaviorgnattu
The GetItemValueNames function in the old implementation was intended to retrieve the original value rather than the cleaned value. The old implementation lacked a clear specification regarding which value to return for the non-cleaned value in a group and relied on an undefined behavior of SQLite, and this implementation assumes the first one is the desired one.