aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model
AgeCommit message (Collapse)Author
2025-08-11Refactor to pull item counts in a single queryCody Robibero
2025-08-03Merge pull request #14410 from dyphire/languageJoshua M. Boniface
Further refinement of BCP 47 language labeling support
2025-07-30Further refinement of BCP 47 language labeling supportdyphire
2025-07-14vob file support (#14471)FJOX.win
2025-06-24Adapt LrcLyricParser to new LrcParser version (#14263)Max Rumpf
2025-06-16Use dto instead of db object when returning trickplayCody Robibero
2025-06-15Use square root scaling for high framerate videos' bitrate requirements (#14314)v10.11.0-rc2gnattu
2025-06-10Fix existing media segments not being handled on scan (#14218)ThunderClapLP
2025-06-09fix(Session): don't query DB if queue hasn't changed (#14244)Sid K
2025-06-01Merge pull request #13145 from SenorSmartyPants/RemoteImageSortingBond-009
Round RemoteImage CommunityRating to nearest tenths when sorting
2025-05-04Cleanup file related code (#14023)Bond-009
2025-04-20Add Api and startup check for sufficient storage capacity (#13888)JPVenson
2025-04-19Fix SyncPlay WebSocket OpenAPI schemas (#13946)Niels van Velzen
2025-04-08Only reselect audio streams when user preference is respected (#13832)gnattu
2025-04-08Use Guid for parentPrimaryImageItemId (#13874)Niels van Velzen
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-07Add API support for ELRC word-based lyrics (#12941)Alex
* Add API support for ELRC word-based lyrics Adds support for word-based timestamps from within ELRC files. * Create TimeTags object * redo TimeTag implementation Change TimeTag to long, redo TimeTag implementation Make timestamp not nullable Update MediaBrowser.Model/Lyrics/LyricLine.cs Make TimeTag list IReadOnlyList Remove nullable Timestamp Update TimeTag description Co-Authored-By: Cody Robibero <cody@robibe.ro> * Changes to LyricLineTimeTag Moved TimeTag to LyricLineTimeTag Change "timestamp" to "start" for consistency Change plural "TimeTags" to "Cues" Change comments * Change LyricLineTimeTag to LyricLineCue, include info about end times * Remove width * Remove width tag * Rewrite cue parser and add tests --------- Co-authored-by: Cody Robibero <cody@robibe.ro>
2025-04-06Returns album artists apart from artist names when doing a lyrics search ↵JQ
(#13852)
2025-04-03Make ReadInputAtNativeFramerate configurable for M3U tuner (#13773)timminator
2025-04-03Cleanup extracted files (#13760)Tim Eisele
* 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-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-31Cleanup ItemFields (#13818)Tim Eisele
* Cleanup ItemFields * Update MediaBrowser.Model/Querying/ItemFields.cs
2025-03-31Preserve SplashscreenLocation when updating branding config (#13756)KGT1
* add BrandingOptionsDto and add branding endpoints * refactor new HttpGet Configuration Branding into existing API calls * Add BrandingOptions to _ignoredConfigurations for openAPI * rename BrandOptionsDto to BrandingOptionsDto
2025-03-31Explicitly set default value for enums used in API models (#13821)gnattu
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-31Use pattern matching for null checks (#13793)Bond-009
Fix the few that slipped through
2025-03-30Rework parental ratings (#12615)Tim Eisele
2025-03-30Fix StreamInfo.ToUrl (#13808)Tim Eisele
2025-03-28feat: allow grouping shows into collections (#13236)Johannes Heuel
* feat: allow grouping shows into collections * add pre-startup routine to rename EnableGroupingIntoCollections * Update Jellyfin.Server/Migrations/PreStartupRoutines/RenameEnableGroupingIntoCollections.cs
2025-03-28Reduce allocations, simplifed code, faster implementation, included tests - ↵Tim Eisele
StreamInfo.ToUrl (#9369) * Rework PR 6168 * Fix test
2025-03-28Add profile condition to limit the number of streams (#13583)Dmitry Lyzo
2025-03-27Implement limiting caches (#13605)Cody Robibero
* Implement basic expiring cache for LibraryManager * Add expiring cache to more places * Rider why * Make DirectoryService caches static * Use FastConcurrentLru * Reduce default cache size * Simplify DirectoryService caches * Make directory service cache size at least 128
2025-03-26Extract container, video and audio compatibility checks (#12678)Dmitry Lyzo
* Extract container, video and audio compatibility checks * Extract audio compatibility checks * Extract CheckVideoConditions * Simplify direct audio stream check
2025-03-25Fixed namespacesJPVenson
2025-03-25WIP fixed namespacesJPVenson
2025-03-24Merge pull request #13691 from NooNameR/noonamer/add_pattern_searchBond-009
Add ability to provide search pattern to GetFiles
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-13Merge pull request #13175 from Shadowghost/external-url-providersJoshua M. Boniface
Migrate to IExternalUrlProvider
2025-03-11Add ability to provide search patterndenys.kozhevnikov
2025-03-01Merge pull request #13606 from nielsvanvelzen/goodbye-walBond-009
Remove deprecated GetWakeOnLanInfo endpoint
2025-02-28Add support for reading and storing Recording MBIDs from file metadata (#12173)Dominik Krivohlavek
* 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-22Remove deprecated GetWakeOnLanInfo endpointNiels van Velzen
2025-02-20Migrate to IExternalUrlProviderShadowghost
2025-02-17Revert nullability of MediaStream.IsHearingImpaired (#13573)Cody Robibero
2025-02-13Make the JsonConverters for delimited arrays more generic (#13396)Bond-009
* Make the JsonConverters for delimited arrays more generic Also adds some tests for serialization (with different types) as we didn't have any before. * Ignore warnings
2025-02-03Backport pull request #13423 from jellyfin/release-10.10.zgnattu
Don't select audio stream and codec explicitly for copy when bitrate exceeds limit Original-merge: e8514de33b59e24184cc7eb7f8df9cd5e850a7de Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03Backport pull request #13345 from jellyfin/release-10.10.zgnattu
Never treat matroska as webm for audio playback Original-merge: 344cc8b97baf5026d0c95824d5b5ee2522a7c284 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03Backport pull request #13288 from jellyfin/release-10.10.zShadowghost
Fix DTS in HLS Original-merge: cea0c9594220778658c30acf640108c26191706e Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03Backport pull request #13209 from jellyfin/release-10.10.zgnattu
Transcode to audio codec satisfied other conditions when copy check failed. Original-merge: 8aa41d59041c792571530c514dd6d21ba22a1881 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-01-28Remove useless checks and dead code (#13405)Bond-009
* Remove useless checks and dead code * Enable adaptive bitrate streaming again * Disable adaptive bitrate streaming by default
2025-01-28Fix spelling (#13444)Josh Soref
* spelling: anamorphic Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: associated Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: channelinfo Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: eagerly Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: enumerable Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: greater than/less than Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: greater Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: lineup Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: logs out Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: names Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: paging Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: playlist Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: sanitized Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: saving Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --------- Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>