Commit Graph

4617 Commits

Author SHA1 Message Date
JPVenson a0b3e2b071 Optimize internal querying of UserData, other fixes (#14795) 2025-09-16 13:08:04 -06:00
Cody Robibero 4d36bd635d Revert IsPlayed optimization, pass UserItemData to IsPlayed when available (#14786) 2025-09-14 11:18:21 -06:00
KGT1 7c6cedd90a Allow non-admin users to subscribe to their own Sessions (#13767) 2025-09-12 14:15:00 -06:00
Bond-009 6796b3435d Avoid constant arrays as arguments (#14784) 2025-09-12 13:58:28 -06:00
JPVenson c02a24e32a Fix several Stackoverflows (#14783) 2025-09-12 13:58:16 -06:00
JPVenson 20f7ddbf8f Refactor Display preference manager (#14056) 2025-09-05 14:39:15 -06:00
Cody Robibero da3f3b09d9 Use existing userData (#14703) 2025-08-26 16:09:17 -06:00
Cody Robibero beca405ad4 Refactor to pull item counts in a single query 2025-08-11 21:06:04 -06:00
Evan 5eef85f027 move new TaggedItemCounts to its own file 2025-08-11 20:49:06 +08:00
Evan 0a4ff3f3c0 Fix GetBaseItemDto to return related item counts via SQL count
For API call /Items/{item id} GetBaseItemDto will return the counts of related items e.g. artists, albums, songs.  GetBaseItemDto currently does this by calling GetTaggedItems which retrieves the objects into memory to count them.  Replace with SQL count.

Fixes:
This should be an improvement for any large libraries, but especially large music libraries.  Example:

Request Library -> Genres -> any very popular genre in your large library, e.g. Classical
Number of albums = 1552, songs = 23515, ...

- Before change: Try to retrieve 1552 albums, 23515 songs, ... in memory, API never returns, database on fire
- After change: API returns in 367ms and Genre view opens with 200 albums in 2 seconds

I verified the numbers returned are correct but note that there is a bug somewhere else in Jellyfin that is setting TopParentId to NULL for a large portion of my MusicArtists, which causes them to not be counted by the existing GetCount().  This is not related to this change, also happens with the existing code, and does not seem to affect the Web UI.

Includes Cory's changes in:
- https://github.com/jellyfin/jellyfin/pull/14610#issuecomment-3172211468
- https://github.com/jellyfin/jellyfin/pull/14610#issuecomment-3172239154
2025-08-10 18:02:17 +08:00
Bond_009 c7c7b30d28 Revert "Merge pull request #13604 from Jxiced/master"
This reverts commit ce78af2ed4, reversing
changes made to db7465e83d.
2025-08-06 15:49:40 +02:00
Joshua M. Boniface 4b6fb6c4bb Merge branch 'master' into master 2025-08-03 17:27:17 -04:00
evan314159 6f49782b7b fix file modification date comparisons (#14503) 2025-07-27 20:08:06 -06:00
theguymadmax 536437bbe3 Fix allow and block queries (#14482) 2025-07-27 19:28:04 -06:00
JPVenson 7ba77804c4 Added advanced parallel process calculation (#14437) 2025-07-11 23:27:13 -06:00
Nyanmisaka db55d983f8 Only enable VAAPI MJPEG encoder on Intel iHD driver (#14433) 2025-07-07 18:05:14 -06:00
Bond-009 5c36b44484 Fix seasons random (#13224) (#14335)
Sorting was always enabled so removed the `enableSorting` parameter
in QueryResult method.

Co-authored-by: Maxime <>
2025-07-04 19:18:38 +02:00
Tim Eisele c6e568692e Fix modification checks and make sure to use UTC (#14347) 2025-06-26 17:50:37 -06:00
Nyanmisaka ebdc756547 Fix -fps_mode option being applied on input (#14379) 2025-06-26 17:48:43 -06:00
Bond-009 a537c66da1 Merge pull request #14322 from gnattu/disable-hdr-non-hdr-clients
Don't check dynamic metadata removal for static HDR formats
2025-06-19 11:27:23 +02:00
Maxime e83b992eef Fix seasons random (#13224)
Sorting was always enabled so removed the `enableSorting` parameter
in QueryResult method.
2025-06-18 00:41:09 +02:00
Nyanmisaka e8291fc856 Fix QSV "static surface pool size exceeded" on Windows
d3d11va doesn't support dynamic pool size, use vpp filter ctx to relay to prevent encoder async and bframes from exhausting the decoder pool.
2025-06-17 15:02:13 +08:00
gnattu 368808eba4 Don't check dynamic metadata removal for static HDR formats
Those videos have no metadata to be removed at all, just force transcoding when the client does not support it.
2025-06-17 02:29:16 +08:00
JPVenson 0e1be6ce30 Use proper scheduler that honors the parallel task limit (#14281) 2025-06-15 15:21:11 -06:00
JPVenson 4cd0a2ed8d Always set update action when item does not exist (#14304) 2025-06-15 15:19:57 -06:00
Tim Eisele aa05185917 Only remove image file if it exists (#14302) 2025-06-15 15:19:30 -06:00
ThunderClapLP 6b5ce934b3 Fix existing media segments not being handled on scan (#14218) 2025-06-10 07:45:09 -06:00
gnattu bdb3adeb30 Don't attempt to do metadata removal for dovi without fallback (#14240) 2025-06-08 07:29:17 -06:00
Niels van Velzen 547b8cafb1 Merge pull request #13307 from qiqian/master
always sort season by index number
2025-06-07 21:52:01 +02:00
JPVenson d5672ce407 Add declarative backups for migrations (#14135) 2025-06-03 16:49:41 -06:00
Shane Powell 08b2ffeaab fixes #14193 (#14203) 2025-06-03 15:21:35 -06:00
nyanmisaka 1ee705f3e1 Fix RKRGA 2pass scaling issue caused by auto AR reduction
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-05-26 23:49:04 +08:00
nyanmisaka 0e0c7c5c59 Offload 1080p+ subtitle scaling to RKRGA
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-05-26 23:49:04 +08:00
theguymadmax c3762186da Fix collection behavior when sorting by rating or runtime (#14148)
Co-authored-by: Max <no@example.com>
2025-05-22 07:05:14 -06:00
nyanmisaka 56231222df Enable OpenCL deinterlacer for AMF on Windows when available
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-05-20 22:07:00 +08:00
JPVenson fe2596dc0e Add Full system backup feature (#13945) 2025-05-18 18:39:04 -06:00
Tim Eisele 49c6a99e00 Cleanup external item data cleanup (#14072) 2025-05-09 08:35:29 -06:00
Nyanmisaka 07093c84c8 Use VBR and MBBRC in QSV encoders for better quality (#14079) 2025-05-08 14:43:13 -06:00
Tim Eisele d976f13970 Recognize file changes and remove data on change (#13839) 2025-05-04 21:21:44 -06:00
Nyanmisaka 4199f7acc2 Fix the transparency issue of ASS subtitle rendering in HWA (#14024) 2025-05-03 08:21:08 -06:00
Tim Eisele f576783ae1 Fix distinction queries (#14007) 2025-04-26 18:49:30 -06:00
JPVenson 8ee358de2c Check for path overlaps (#12832) 2025-04-26 09:30:25 -06:00
Tim Eisele df5671263f Merge pull request #13847 from Shadowghost/rework-chapter-management
Rework chapter management
2025-04-26 14:01:12 +02:00
JPVenson a0931baa8e Add Api and startup check for sufficient storage capacity (#13888) 2025-04-20 20:06:50 -06:00
Niels van Velzen 5e4bd744c0 Return SyncPlay group info after creation, add GET group endpoint (#13935) 2025-04-20 19:40:23 -06:00
Niels van Velzen 269508be9f Fix SyncPlay WebSocket OpenAPI schemas (#13946) 2025-04-19 13:08:15 -06:00
Tim Eisele 6e9e2f500f Fix Genre cleanup (#13916) 2025-04-14 20:43:38 -06:00
Nyanmisaka 8be8ea60f1 Add DoVi Profile 5 support for Rockchip RKMPP (#13911) 2025-04-13 07:43:58 -06:00
Tim Eisele cad8de9701 Add Genre cleanup and fix cleanup filter queries (#13891) 2025-04-09 18:40:16 -06:00
Nyanmisaka 98697e75ca Fix seeking beyond EOF again (#13871) 2025-04-08 14:58:55 -06:00