aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
AgeCommit message (Collapse)Author
44 hoursMerge pull request #17763 from Shadowghost/fix-refresh-queue-and-directory-cacheCody Robibero
Fix items being lost from the refresh queue and bound the directory service caches
2 daysApply review suggestionsShadowghost
3 daysEnforce dolby vision transfer checkgnattu
Dolby vision files having unexpected transfers now also marked as invalid, and it will now get its base video range from its base layer color transfer, as not all invalid dolby vision files are HDR now.
3 daysMerge pull request #17674 from Oggeb1/BDMV-pgsCody Robibero
Fix PGS subtitles for BDMV with TrueHD
3 daysFix BDMV subtitles with external audioOggeb1
Co-authored-by: gnattu <gnattu@users.noreply.github.com>
3 daysMerge pull request #17768 from ↵Cody Robibero
Shadowghost/fix-livetv-hls-audio-codec-and-manifest-direct-play Fix Live TV HLS playback: bogus audio encoder and unplayable direct played manifests
3 daysMerge pull request #17796 from fmarcac/fix/syncplay-shuffle-mode-crashCody Robibero
Fix crash when SyncPlay shuffle mode is set to sorted twice
3 daysApply the SyncPlay resume delay floor in the correct unitfmarcac
3 daysFix crash when SyncPlay shuffle mode is set to sorted twicefmarcac
3 daysRetire runners that are cancelled before they startShadowghost
3 daysLimit cache size againShadowghost
Co-Authored-By: Cody Robibero <cody@robibe.ro>
4 daysInvalidate the singleton DirectoryService cache on filesystem changesShadowghost
4 daysFix the library scheduler never retiring its runnersShadowghost
5 daysReduce commentsShadowghost
6 daysNever treat a manifest container as an audio codec or a direct play targetShadowghost
6 daysOptimize CachesShadowghost
Co-Authored-By: Cody Robibero <cody@robibe.ro>
6 daysBound the directory caches a singleton would otherwise hold for the process ↵Shadowghost
lifetime
7 daysFind dead people and artists by id, not by nameShadowghost
7 daysFix people validator not creating missing peopleShadowghost
7 daysMerge pull request #17752 from Shadowghost/fix-linkedchildren-recursiveCody Robibero
Fix recursive handling for LinkedChildren
8 daysFix recursive handling for LinkedChildrenShadowghost
8 daysFix formatting and testShadowghost
9 daysMerge commit from forkCody Robibero
Fix broken access control in session management
9 daysMerge commit from forkCody Robibero
Secure library paths
10 daysCount a season's episodes by the season they belong toShadowghost
10 daysMerge branch 'jellyfin:master' into BDMV-pgsOggeb1
10 daysFix BDMV with external subtitleOskar Bali
GetSubtitleStreamIndexForFfmpeg treated external and internal subtitles the same. This made subtitles out of sync with the video.
14 daysDelete a credit once no item maps to it any moreShadowghost
14 daysBind the folder name an item-by-name entity resolves toShadowghost
2026-08-25Secure library pathsShadowghost
2026-08-23Merge pull request #17693 from Shadowghost/fix-series-mergingCody Robibero
Fix series merging leaking across libraries and under-counting merged children
2026-08-22Merge remote-tracking branch 'upstream/master' into ↵Shadowghost
fix-metadata-language-fallback
2026-08-22Merge remote-tracking branch 'upstream/master' into fix-series-mergingShadowghost
2026-08-21Fix series merging leaking across libraries and under-counting merged childrenShadowghost
2026-08-20Normalize fix, apply in more placesCody Robibero
2026-08-20Fix GHSA-wwwm-px48-fpvqShadowghost
# Conflicts: # MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
2026-08-19Fix BDMV PGS subtitles with TrueHDOskar Bali
Add myself CONTRIBUTORS.md
2026-08-14Use client-reported position for idle playback cleanupitsb
2026-08-14Require session ownership for additional users, capabilities and viewing reportsShadowghost
2026-08-12Fix English metadata blocking localized providers ranked below itShadowghost
2026-08-10Merge pull request #17579 from Shadowghost/fix-removal-notificationCody Robibero
Fix missing ItemRemoved events and search fallback after access filtering
2026-08-10Merge pull request #17576 from obiwantoby/perf/batch-mediasourcecount-dtoCody Robibero
Bugfix: #17547 | Batching MediaSourceCount into one call
2026-08-10Merge pull request #17569 from vavallee/fix/17056-no-image-upscalingCody Robibero
Stop image endpoints from upscaling beyond the source resolution
2026-08-10Update MediaBrowser.Controller/Drawing/ImageHelper.csCody Robibero
Co-authored-by: Tim Eisele <Tim_Eisele@web.de>
2026-08-08Address review on MediaSourceCount batchingbrandon
Rename GetItemsWithAlternateVersions to GetItemIdsWithAlternateVersions across the interfaces and implementations since it returns ids. Return the hashset straight from the query instead of materializing an array first. Rename the DtoService guard to mayHaveAlternateVersions and invert it so the computed path is the explicit case. Assert the media source count value in the batch skip test and add a test covering an item that is in the returned set still resolving to the correct count.
2026-08-08Fix missing ItemRemoved events and search fallback after access filteringShadowghost
2026-08-07Batch alternate version detection in DtoService to remove MediaSourceCount N+1brandon
Browsing a page of videos with the MediaSourceCount field ran one alternate version query per item, each opening a fresh DbContext. On a large library that turned a single page into hundreds of sequential round trips and made the Items endpoint take tens of seconds while holding a request thread the whole time. Detect which videos own alternate versions once per page with a single query, mirroring the existing people batch. Videos absent from that set have a single media source, so the per item lookups are skipped for the common case. Behavior is unchanged: a video with no alternates already resolved to a count of one. Adds a regression test asserting the count resolves from the batch and the per item lookups are never called.
2026-08-07Merge pull request #17571 from obiwantoby/perf/batch-people-dtoCody Robibero
Batch people lookups when building item DTOs
2026-08-07Merge pull request #17536 from gnattu/fix-concurrent-racingCody Robibero
Fix concurrent ffmpeg segment racing
2026-08-07Batch people lookups when building item DTOsbrandon
GetBaseItemDtos already batch fetches user data, child counts, played counts and artists before its per item loop, but AttachPeople still ran one GetPeople query per item. Rendering a page of items (for example a large playlist) fired one extra query per row. Add GetPeopleByItems to IPeopleRepository, which reads every requested item in a single query over the people mapping table and returns full PersonInfo (role, type and sort order) grouped by item id. GetBaseItemDtos prefetches this once when the People field is requested and passes it into AttachPeople, which reads from the batch instead of querying per item. The single item GetBaseItemDto path keeps its existing per item behaviour when no batch is supplied. Adds a DtoService test asserting people resolve from the batch and the per item GetPeople is never called.