Commit Graph

4397 Commits

Author SHA1 Message Date
Mikal S
9b7da736ed
Replace != with is not
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-06-15 18:00:53 +02:00
Mikal Stordal
7b17b5b488 fix: add null check 2024-06-11 02:02:51 +02:00
Mikal Stordal
0cf8b376ac Don't expect BaseItem to be a movie/video file.
This fix is mainly so I can mass-add series _and_ movie entries using a
`IMultiItemResolver` without having to resort to complicated logic
using _both_ a `IItemResolver` and a `IMultiItemResolver` by splitting
up what gets added where.

I've also added three new interface methods to the `IDirectoryService`,
one of which is used in the modified
`ResolverHelper.SetInitialItemValues(…)` to get the file system entry
info for the item regardless of which type the file system entry is.

In my local testing so far I haven't found any issues introduced
by this change.
2024-06-11 02:01:15 +02:00
Bond-009
7b40c6fef1
Merge pull request #11971 from jellyfin/revert-11615-patch-1
Revert "Allow collection sort by Release Date Descending"
2024-06-06 20:42:28 +02:00
gnattu
cd5fb84136 Backport pull request #11963 from jellyfin/release-10.9.z
Fix Library renaming

Original-merge: b78efd6b1e

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:34 -04:00
Shadowghost
bb0c234984 Backport pull request #11959 from jellyfin/release-10.9.z
Do not stop validation if folder was removed

Original-merge: cf59140276

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:32 -04:00
Shadowghost
18dd6b2875 Backport pull request #11934 from jellyfin/release-10.9.z
Fix local image saving

Original-merge: b0bb22b650

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:30 -04:00
Shadowghost
f67e327b29 Backport pull request #11921 from jellyfin/release-10.9.z
Fix identify over NFO and replace all when NFO saving enabled

Original-merge: bfcc09db8a

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:29 -04:00
Bond-009
5975a0c5c8
Revert "Allow collection sort by Release Date Descending" 2024-06-05 12:02:25 +02:00
Bond-009
727f176542
Merge pull request #11615 from cptn-x/patch-1
Allow collection sort by Release Date Descending
2024-06-05 11:52:07 +02:00
gnattu
4fa3c30df2 Backport pull request #11894 from jellyfin/release-10.9.z
Escape tmpConcatPath for DVD and BD folder

Original-merge: 26419c64f5

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:14 -04:00
Shadowghost
c1032967c2 Backport pull request #11882 from jellyfin/release-10.9.z
Fix missing episodes query for seasons

Original-merge: 8e979bdb4b

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:11 -04:00
gnattu
b123f7ffcd Backport pull request #11851 from jellyfin/release-10.9.z
Relax remuxing requirement for LiveTV

Original-merge: 0392daa103

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:04 -04:00
gnattu
9563e4f85e Backport pull request #11823 from jellyfin/release-10.9.z
Add Env Var to disable second level cache

Original-merge: 95c7d997c1

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:02 -04:00
Shadowghost
1a94976752 Backport pull request #11806 from jellyfin/release-10.9.z
Return missing episodes for series when no user defined

Original-merge: ae584beaac

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:40:59 -04:00
Shadowghost
407dc9272c Backport pull request #11762 from jellyfin/release-10.9.z
Mark Audio as RequiresDeserialization and backfill data

Original-merge: e2c909f50f

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:40:57 -04:00
Shadowghost
5d4880c497 Backport pull request #11743 from jellyfin/release-10.9.z
Fix replace logic

Original-merge: 2ddb15c784

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:40:56 -04:00
Shadowghost
c0364fc766 Backport pull request #11719 from jellyfin/release-10.9.z
Move NFO series season name parsing to own local provider

Original-merge: a53ea029fa

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:40:55 -04:00
nyanmisaka
fc14c08bcc Backport pull request #11830 from jellyfin/release-10.9.z
Fix the IOSurf error in QSV transcoding

Original-merge: 5e7514243c

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:30 -04:00
nyanmisaka
2faa8c141f Backport pull request #11799 from jellyfin/release-10.9.z
Disable VA-VK interop on not supported kernel versions

Original-merge: eb437e7163

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:23 -04:00
gnattu
ac0064110b Backport pull request #11798 from jellyfin/release-10.9.z
Recalculate trickplay image height for anamorphic videos

Original-merge: d9232e05f1

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:22 -04:00
Bond-009
c7e0be3c3b Backport pull request #11774 from jellyfin/release-10.9.z
Apply audio boost when downmixing regardless of downmixalgo

Original-merge: 06a5ddda5e

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:14 -04:00
Shadowghost
debd9eb8ce Backport pull request #11754 from jellyfin/release-10.9.z
Fix BD/DVD folder chapter image extraction

Original-merge: 52be8be28f

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:12 -04:00
gnattu
487ebd3ca8 Backport pull request #11713 from jellyfin/release-10.9.z
Fix VideoToolbox H264 constrained profile option

Original-merge: d608f1e3cc

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:08 -04:00
gnattu
424ca49c26 Backport pull request #11689 from jellyfin/release-10.9.z
Workaround ffmpeg keyframe seeking for external subtitles

Original-merge: 02937873b1

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:54 -04:00
Shadowghost
8b938e2696 Backport pull request #11673 from jellyfin/release-10.9.z
Fix local playlist scanning

Original-merge: 26714e2c62

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:50 -04:00
Shadowghost
29a293f9e7 Backport pull request #11647 from jellyfin/release-10.9.z
Fix season names

Original-merge: 2da06bc0b1

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:40 -04:00
cptn
fe07b4bbc5
Allow collection sort by Release Date Descending
- default sort is still Release Date Ascending
- choosing sort by Release Date will change it to sort by Release Date Descending

This is because most people go to collections to browse new movies to watch, and recently released movies should be on top.
2024-05-13 22:59:41 -04:00
crobibero
3564b00fc0 Backport pull request #11569 from jellyfin/release-10.9.z
Default to processor count concurrent scan instead of 2 * processor count

Original-merge: f77a5d0c5c

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-13 12:47:34 -04:00
Jellyfin Release Bot
04022f85af Bump version to 10.10.0 2024-05-11 14:23:59 -04:00
Joshua M. Boniface
47b79df136
Update MediaBrowser.Controller/Entities/Folder.cs 2024-05-11 10:56:14 -04:00
gnattu
588fb9e82b Don't assume library change only on item count
The library will also be updated when the number of children remains the same before and after scanning. For example, if one video file is removed and replaced with another version, we still need to remove the old one in this case.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-11 03:57:22 +08:00
Tim Eisele
c9cd17220a
Playlist fixes (#11487) 2024-05-05 19:22:21 -06:00
gnattu
3ae0fb90cb
Validate Collection Folders on adding and removal (#11444) 2024-05-05 08:21:40 -06:00
Bond-009
3feb3f81bf
More efficient array creation (#11468) 2024-04-30 13:32:59 -06:00
gnattu
5dc6bb4910
Fix incomplete tag query for whitelist tags (#11416) 2024-04-30 13:32:49 -06:00
Cody Robibero
48bb16472f
Merge pull request #11457 from Bond-009/audionormalization 2024-04-30 13:15:51 -06: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
Bond_009
2ad872001d Address comments 2024-04-28 17:16:33 +02:00
Bond_009
88a38a61b5 Improve audio normalization
* Move calculation of LUFS to a scheduled task as it's pretty slow
* Correctly calculate album LUFS
* Don't try to convert replaygain tags to LUFS values
2024-04-28 15:18:53 +02:00
Bond-009
428283f787
Always scan ReplayGain tag (#11418) 2024-04-24 08:09:01 -06:00
gnattu
374b6ca0e2
Only apply custom downmix to 5.1 audios (#11401) 2024-04-22 10:23:36 -06:00
gnattu
601c88c704
fix: don't apply whitelist tags to libraries (#11377) 2024-04-21 10:57:35 -06:00
Nick Ganter
89b798f830
Maintaining track order when a new playlist is created from an existing playlist (#11371) 2024-04-21 10:55:13 -06:00
Bond-009
37d301ebd4
Merge pull request #11352 from jellyfin/fix-library-removal
fix: explicitly allow remove root when performing library removal
2024-04-18 12:16:04 +02:00
Bond-009
bb018c4adc
Enable nullable for LibraryManager (#11191) 2024-04-17 10:44:50 -06:00
gnattu
1b567efeb5 fix: correctly pass parameters in overrides
Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-17 21:32:21 +08:00
gnattu
e4d66f35fd chore: use proper way to override remove root
This is an alternate approach which is more proper, but changes all parts that uses/overrides the original ValidateChildren method

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-17 14:41:19 +08:00
Cody Robibero
6fb6b5f176
Validate item access (#11171) 2024-04-14 08:18:36 -06:00
Cody Robibero
31e0756c0c
Only update if actively refreshing (#11341) 2024-04-12 17:45:15 -06:00
Bond-009
7d28d08e08
Enable more warnings as errors (#11288) 2024-04-12 17:45:01 -06:00
Joshua M. Boniface
ee1d6332ee
Merge pull request #11220 from Shadowghost/add-playlist-acl-api
Add playlist ACL endpoints
2024-04-10 12:52:01 -04:00
Bond-009
46071e4628
Merge pull request #11287 from Shadowghost/spelling
Fix some spelling mistakes
2024-04-08 16:22:03 +02:00
gnattu
6b6aab04ce
Fix apple audio codecs (#11315) 2024-04-08 07:42:47 -06:00
Shadowghost
ddda30fe23 Only allow owner and admin to delete playlists 2024-04-05 21:11:09 +02:00
Shadowghost
3e0b201688 Enforce permissions 2024-04-03 16:06:20 +02:00
Shadowghost
4a9565ab52 Fix some spelling mistakes 2024-04-03 14:56:56 +02:00
Shadowghost
8cf77424f6 Apply review suggestions 2024-04-02 08:08:36 +02:00
Shadowghost
c1dbb49315 Implement update endpoint 2024-04-01 20:43:05 +02:00
Shadowghost
bff37ed13a Apply review suggestions 2024-04-01 19:59:48 +02:00
Niels van Velzen
904c3873fe
Remove SessionInfo.FullNowPlayingItem from API responses (#11268) 2024-03-31 14:45:59 -06:00
Claus Vium
4201079b34
fix: use a reentrant lock when accessing active connections (#11256) 2024-03-30 10:30:00 -06:00
gnattu
fe88a484d1
fix: don't do empty hwupload for VT (#11235) 2024-03-30 09:25:22 -06:00
gnattu
a8f1668540
fix: unset qmin and qmax for vt (#11246)
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-03-30 08:53:46 -06:00
Nyanmisaka
16e72d6883
Fix the broken codecs shifting (#11243) 2024-03-28 13:57:33 -06:00
gnattu
5db0c5a0e4
fix: forward port patch for GHSA-866x-wj5j-2vf4 (#11228) 2024-03-28 09:26:14 -06:00
gnattu
be21d51742
fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Shadowghost
56c432a843 Apply review suggestions 2024-03-26 23:45:14 +01:00
Shadowghost
88b3490d17 Add playlist ACL endpoints 2024-03-26 15:49:18 +01:00
gnattu
2e9aa146a5
fix: remove legacy codecs (#11217) 2024-03-26 04:32:06 -06:00
Cody Robibero
5437936bb9
Check all tags for allow/block (#11206) 2024-03-25 07:15:24 -06:00
gnattu
b1870792b1
fix: use Metal tonemap instead of OpenCL (#11198) 2024-03-24 08:20:05 -06:00
gnattu
cf16110a56
fix: map encoder preset to quality setting for VideoToolbox (#11205) 2024-03-24 08:19:48 -06:00
vedant
3bbb57eb83
Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
Gary Wang
c16135800c
feat(i18n): transliterate item name before sorting (#11172) 2024-03-22 20:59:59 -06:00
Claus Vium
eae031ae5a
refactor: use Channels as queueing mechanism for periodic websocket messages (#11092) 2024-03-18 13:55:18 -06:00
Claus Vium
239727e896
fix: skip library folders that are inaccessible or empty (#9291) 2024-03-18 09:09:00 -06:00
Cody Robibero
833bc06eb4
Merge pull request #11161 from nyanmisaka/fix-segment-deletion
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-18 08:37:02 -06:00
Bond-009
f44ec318d6
Merge pull request #11163 from robert-hamilton36/lyrics
Add lyric files to supported extensions
2024-03-17 18:07:34 +01:00
Bond-009
adb08c0aaa
Merge pull request #11149 from Bond-009/nullable4
Enable nullable for more files
2024-03-17 18:00:10 +01:00
btopherjohnson
9a40a67c60
Add ability to enable/disable libraries (#11037)
Co-authored-by: Bond-009 <bond.009@outlook.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-17 09:50:48 -06:00
nyanmisaka
ae7c0c83e9 Bump the required minimum ffmpeg version to 4.4
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 21:30:42 +08:00
nyanmisaka
557b8f0c78 Apply suggestions from code review
Drop the unnecessary initial capacity from the list.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 20:45:00 +08:00
nyanmisaka
47a77974b8 Apply suggestions from code review
Drop excludeFilePaths and lower the log level to debug to avoid
spamming in the log file.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 17:17:47 +08:00
nyanmisaka
50541aea91 Apply suggestions from code review
Add excludeFilePaths to skip segment files in which IOException occurred.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 22:09:31 +08:00
nyanmisaka
39b953e41c Set input readrate for using SegmentDeletion with stream-copy
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
55fd6b5cb9 Add sanity check for ThrottleDelaySeconds
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
eca9bf41bc Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletion
FFmpeg deletes segments based on its own transcoding progress,
but we need to delete segments based on client download progress.
Since disk and GPU speeds vary, using hlsenc's built-in deletion
will result in premature deletion of some segments. As a consequence,
the server has to constantly respin new ffmpeg instances, resulting
in choppy video playback.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
robert-hamilton36
2234b5bec6 add lyric files to supportedExtensions 2024-03-16 12:14:29 +13:00
standstaff
64b7f0f721 chore: remove repetitive words
Signed-off-by: standstaff <zhengxingru@yeah.net>
2024-03-15 17:08:03 +08:00
Bond_009
651681c276 Enable nullable for more files 2024-03-13 14:56:51 +01:00
Cody Robibero
a92de9b2e3
Merge pull request #11014 from gnattu/vf-videotoolbox 2024-03-09 09:19:36 -07:00
gnattu
0909ee7208 fix: convert all non-yuv420 inputs to nv12
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 15:16:00 +08:00
gnattu
e6dee627e3 fix: force a pixel format for 10-bit inputs
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 14:22:27 +08:00
gnattu
d10ad6c383 fix: no need to check filters prematurely
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 11:02:53 +08:00
gnattu
2f66871040 fix: also check if we are doing scaling
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:37:27 +08:00
gnattu
f31549cc0d fix: code clean up
Co-authored-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:23:24 +08:00
Cody Robibero
f7f3ad9eb7
Precache livetv program images (#11083)
* Precache livetv program images

* return if cache hit

* use EnsureSuccessStatusCode

* Read proper bytes
2024-03-03 13:32:55 -07:00
gnattu
a30dc81b28 fix: stack overflow
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 09:03:00 +08:00
Cody Robibero
169e0dcb11 Save embedded lyrics when probing audio 2024-02-28 17:34:33 -07:00