aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model
AgeCommit message (Collapse)Author
2026-07-05Merge pull request #17044 from Shadowghost/version-model-and-handlingCody Robibero
Fixes for multi version handling
2026-06-15Extend TranscodingReason reportingShadowghost
2026-06-09Coalesce alternate-version progress onto primary in resume filterShadowghost
2026-06-07Merge pull request #16121 from Shadowghost/search-rebasedBond-009
Implement search providers
2026-06-02Make EncoderPreset non nullablenyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-05-31Re-disable legacy authorization methods by defaulttheguymadmax
2026-05-31Merge remote-tracking branch 'upstream/master' into search-rebasedShadowghost
2026-05-31Add support for VobSub subtitle streams (#16552)Neptune
* 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
2026-05-30Merge remote-tracking branch 'upstream/master' into search-rebasedShadowghost
# Conflicts: # Emby.Server.Implementations/Library/LibraryManager.cs # Jellyfin.Server.Implementations/Item/PeopleRepository.cs # MediaBrowser.Controller/Library/ILibraryManager.cs # MediaBrowser.Controller/Persistence/IPeopleRepository.cs
2026-05-29Remove the unused NowPlayingQueueFullItems session property from session ↵PCEWLKR
DTOs and associated references
2026-05-28Fix A/V desync when resuming HLS with video transcode + audio copy (#16580)Piotr Niełacny
Fix A/V desync when resuming HLS with video transcode + audio copy
2026-05-24Merge remote-tracking branch 'upstream/master' into search-rebasedShadowghost
2026-05-21Run tree-wide dotnet formatjakobkukla
2026-05-19Embed external subtitles into MKV when transcodingPiotr Niełacny
Allow external subtitle files (SRT, ASS, PGS, etc.) to be muxed into MKV output containers when the device profile requests Embed delivery. Previously, the IsExternal guard in GetSubtitleProfile excluded external subtitles from Embed consideration entirely, forcing them to be served as separate sidecar files even when the output container supports embedding. Changes: - Extract CanConsiderEmbedSubtitle in StreamBuilder to allow external subs through when transcoding to MKV - Add external subtitle file as FFmpeg input (-i) for Embed delivery - Map external embedded subs from the correct FFmpeg input index - Fix external audio map index to account for the new subtitle input - Extract NeedsExternalSubtitleMuxing in EncodingHelper to deduplicate the external subtitle input check Fixes #16403
2026-05-16Merge remote-tracking branch 'upstream/master' into search-rebasedShadowghost
2026-05-15Merge pull request #16853 from jtvhd6/fix/ca1819-channel-featuresBond-009
Fix CA1819 warnings in ChannelFeatures by using IReadOnlyList
2026-05-15Merge pull request #9787 from TheMelmacian/feature/language_filtersBond-009
New filters for audio and subtitle languages
2026-05-15Apply suggestions from code reviewTheMelmacian
Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-05-15Merge pull request #15970 from Shadowghost/similarityBond-009
Implement similarity providers
2026-05-14Fix CA1819 warnings in ChannelFeatures by using IReadOnlyListJoseph Vallas
2026-05-12Add Accept-Language header support for per-request localizationShadowghost
2026-05-12Merge remote-tracking branch 'upstream/master' into search-rebasedShadowghost
2026-05-12move language filters from QueryFiltersLegacy to QueryFiltersTheMelmacian
2026-05-10feat: language filters for subtitles and audioTheMelmacian
2026-05-09Add videoRotation profile conditionnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-05-08Merge pull request #14847 from tjwalkr3/warnings-5Bond-009
Fix CA1051 and CA1815 warnings, Change public fields to auto properties
2026-05-07Add OriginalLanguage as option to PreferredAudioLanguage (#12579)Erik W
* 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>
2026-05-06Switch to new version scheme (#16758)Tim Eisele
2026-05-04Implement search providersShadowghost
2026-05-03Implement Similarity providersShadowghost
2026-05-03Keep legacy authorization enabledNiels van Velzen
2026-04-23Merge pull request #16658 from jskoetsier/fix/image-jpg-mime-typeBond-009
fix: add image/jpg to MIME type extension lookup
2026-04-18Remove global subtitle configuration (#14957)KGT1
2026-04-18fix: add image/jpg to MIME type extension lookupSebas Koetsier
Although image/jpg is not a registered MIME type (RFC 2046 specifies image/jpeg), several external providers return image/jpg as the Content-Type for JPEG images: - TMDb API (thumbnail/episode images) - Schedules Direct EPG - Various other metadata providers Without this mapping, Jellyfin throws ArgumentException: 'Unable to determine image file extension from mime type image/jpg' This causes library scans to fail when saving episode thumbnails and other images from these providers, leading to repeated scan failures and cancelled library scans. PR #7052 previously added this but it was lost during the migration to FrozenDictionary. Issue #13568 reports the same bug in 10.10+. Fixes: jellyfin/jellyfin#13568 Related: jellyfin/jellyfin#7050, jellyfin/jellyfin#7052
2026-04-11Merge pull request #16380 from LTe/fix-subtitle-extraction-settingBond-009
Respect EnableSubtitleExtraction setting in subtitle delivery
2026-04-11Merge pull request #16567 from shocklateboy92/fix/iso639-2-language-displayBond-009
Fix language display for ISO 639-2-only codes (e.g. mul, und, mis, zxx)
2026-04-09Merge pull request #16456 from joshuaboniface/fix-path-filesystem-logicJoshua M. Boniface
2026-04-08Fix language display for ISO 639-2-only codes (e.g. mul, und)Lasath Fernando
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).
2026-04-02Add AlbumNormalizationGain field to BaseItemDtoHeroBrine1st Erquilenne
2026-03-29Only set IsAvc for video streamsBond_009
Also enables nullable for MediaStreamInfo Makes more properties nullable that aren't always present
2026-03-24Fix linting issueJoshua M. Boniface
2026-03-23Update FolderStorageInfo recordJoshua M. Boniface
2026-03-13Merge pull request #16368 from redinsch/fix/image-language-priorityBond-009
Fix remote image language priority to prefer English over no-language
2026-03-13Respect EnableSubtitleExtraction setting in subtitle deliveryPiotr Niełacny
Wire up EnableSubtitleExtraction config to MediaEncoder.CanExtractSubtitles so the setting is actually respected. Gate subtitle extraction check behind PlayMethod.Transcode since DirectPlay has no competing ffmpeg process. Add parameterized tests for StreamBuilder.GetSubtitleProfile covering text and graphical codecs, profile format matching, and extraction setting behavior. Remove misplaced SubtitleEncoder extraction test.
2026-03-11Use generic Enum overloads to resolve CA2263 warningsjaxx2104
Replace Enum.Parse(typeof(T), ...) and Enum.GetNames(typeof(T)) with their generic counterparts Enum.Parse<T>() and Enum.GetNames<T>() in MediaBrowser.Model/Dlna for improved type safety. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08Fix remote image language priority to prefer English over no-languageredinsch
Previously, images with no language were ranked higher (score 3) than English images (score 2), causing poorly rated languageless images to be selected over well-rated English alternatives for posters and logos. Swap the priority so English is preferred over no-language images. Backdrop images are unaffected as they have their own dedicated sorting. Add unit tests for OrderByLanguageDescending. Fixes #13310
2026-02-26Merge pull request #16255 from cosu/fix/streaminfo-malformed-query-stringBond-009
Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxies
2026-02-18Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxiesCosmin Dumitru
StreamInfo.ToUrl() generated URLs like `/master.m3u8?&DeviceId=...` (note `?&`) because `?` was appended to the path and all parameters started with `&`. When the first optional parameter (DeviceProfileId) was null, the result was a malformed query string. This is harmless when clients hit Jellyfin directly (ASP.NET Core tolerates `?&`), but when accessed through a reverse proxy that parses and re-serializes the URL (e.g. Home Assistant ingress via aiohttp/yarl), `?&` becomes `?=&` — introducing an empty-key query parameter. ParseStreamOptions then crashes on `param.Key[0]` with IndexOutOfRangeException. Changes: - StreamInfo.ToUrl(): Track query start position and replace the first `&` with `?` after all parameters are appended, producing valid query strings - ParseStreamOptions: Guard against empty query parameter keys - Tests: Remove .Replace("?&", "?") workaround that masked the bug Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15Fix buildBond_009
2026-01-27Merge pull request #16110 from nielsvanvelzen/api-deprNiels van Velzen
Remove some deprecated API members