Commit Graph

442 Commits

Author SHA1 Message Date
gnattu
1739962f52
Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-20 20:42:43 +08:00
gnattu
7f0f93eb4a
Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-20 20:42:31 +08:00
gnattu
7f12677dc3 Directly add new device to cache
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
4f2b1736ab Add user not found message
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
c05049e54e Filter full device list only once
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
dd5f6406a2 Use FirstAsync for device creation
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
79c0a7d7f0 Don't cache user in DeviceManager, query from user cache instead
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
3c6485f0a1 Get device id from input
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
8a8b2c4380 Explicitly declare type of devices
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
7403428864 Always enumerate to get count
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
235da65a75 Use concrete ConcurrentDictionary Type
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
d235378133 Query User on device creation
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu
5a62c7a146 Implement Device Cache to replace EFCoreSecondLevelCacheInterceptor
The EFCoreSecondLevelCacheInterceptor will place a huge lock even for reading. Implement a ConcurrentDictionary cache to replace it.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
Joshua M. Boniface
95c7d997c1
Merge pull request #11823 from gnattu/env-disable-second-level-cache
Add Env Var to disable second level cache
2024-06-01 18:32:54 -04:00
gnattu
b9c0fc69e8 Add Env Var to disable second level cache
This is an attempt to track down possible causes of remaining database lockups. Add an environment variable to disable the second-level cache entirely to see if it works better on systems that still experience lockups.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-25 01:12:00 +08:00
gnattu
fa2bff30f6
Explicitly use decimal
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-05-22 21:17:00 +08:00
gnattu
447f73caf4 Fix bitrate calculation accuracy
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:41:54 +08:00
gnattu
86129589ef Override too small trickplay image interval
Some users may set this value too low, causing the trickplay generation to fail. Reset this interval to the minimum valid value of 1 second when the user-configured value is too small to prevent generation failures.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:35:28 +08:00
Niels van Velzen
f8b67ec44c
Merge pull request #11670 from jellyfin/attempt-restore-user-cache
Restore caching for UserManager
2024-05-16 19:05:00 +02:00
Bond-009
c1615419b9
Don't generate TrickPlay images for files that don't exist (#11653) 2024-05-15 17:26:42 -06:00
Cody Robibero
a5d60c4521
Allow empty user id when getting device list (#11633) 2024-05-15 07:06:29 -06:00
gnattu
0756174b13 Restore caching for UserManager.cs
It seems like the EFCore's second level cache does not really work, and we are having very heavy database query here.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-15 12:43:46 +08:00
gnattu
6f78ac2ff3
Use more accurate rounding in GetFixedOutputSize (#11435)
* Use more accurate rounding in GetFixedOutputSize

Signed-off-by: gnattu <gnattuoc@me.com>

* Force trickplay thumbnails to have even width

Signed-off-by: gnattu <gnattuoc@me.com>

* Use Convert.ToInt32

Signed-off-by: gnattu <gnattuoc@me.com>

* Force video size as thumbnail size if the trickplay width setting is larger

This will fix an issue when the trickplay setting contains a very huge width, but the video has a lower resolution than that setting. Our scaling filter logic will not do any upscale, and we have to force to use the video width

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-30 13:41:46 +02:00
renovate[bot]
9a4db80085
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.4.1 (#11306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-04-14 08:18:09 -06:00
gnattu
be21d51742
fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Cody Robibero
0bc41c015f
Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Nick
ac906a04e2 Fix tiles playlist not using relative paths 2024-02-12 09:30:47 -08:00
Patrick Barron
d986a824cd Use IHostedService for device access management 2024-02-07 10:52:36 -05:00
Mark Cilia Vincenti
f26fc7dfb2 Merge changes 2024-02-03 08:45:14 +01:00
Cody Robibero
e7b8d45bbb
Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Mark Cilia Vincenti
e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Patrick Barron
04dddd3a7b
Remove UserManager Cache (#10781)
* Remove redundant user cache

* Use DI for IPasswordResetProvider and IAuthenticationProvider
2024-01-06 13:43:48 -07:00
Niels van Velzen
55916a09eb
Remove some unused client capabilities and sync code (#10812) 2024-01-06 13:33:48 -07:00
Bond-009
21374775e5
Merge pull request #10422 from scampower3/api-update
Update /Device endpoint to return CustomName
2023-12-18 21:06:30 +01:00
Patrick Barron
ad58d1f77c Use ExecuteDelete for removing API keys 2023-11-22 09:40:49 -05:00
Patrick Barron
c9c133bc43 Use ExecuteDelete for cleaning activity logs 2023-11-22 09:35:35 -05:00
Patrick Barron
6b940e141e Remove unnecessary AsQueryable() 2023-11-22 09:34:14 -05:00
Bond_009
635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009
b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Bond_009
eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
Cody Robibero
892973a9e3
Merge branch 'master' into media-type 2023-11-09 22:03:55 -07:00
Bond_009
a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Claus Vium
db4605609c
Merge pull request #10410 from Ch1nkara/add-users-permission-to-edit-subtitles
add EnableSubtitleManagement permission
2023-10-27 09:44:52 +02:00
cvium
1009836a79 add IAsyncDisposable to DisplayPreferencesManager
Properly dispose dbcontext
Add IDisposableAnalyzer to Jellyfin.Server.Implementations
2023-10-22 22:28:45 +02:00
Nick
cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
chinkara
9f259aa404 add EnableSubtitleManagement permission 2023-10-18 18:31:31 +02:00
LJQ
98bc2fea8b Removed dupe ToDeviceInfo 2023-10-18 01:40:36 +08:00
LJQ
2f9b44fcd0 Switch to LINQ and updated /Device/Info endpoint to return in accordance to the updated API doc 2023-10-18 00:41:33 +08:00
Bond-009
84bbf757fa
Merge pull request #10366 from goremykin/fix-resharper-warnings 2023-10-17 14:31:35 +02:00
LJQ
259fe4522c Update /Device endpoint to return CustomName 2023-10-17 17:25:41 +08:00