26680 Commits

Author SHA1 Message Date
Bond-009
346f36bc09
Merge pull request #13593 from Bond-009/stupidwindows
Wait for ffmpeg to exit on Windows before we try deleting the concat file
2025-02-25 21:27:54 +01:00
Bond-009
1daf761aec
Merge pull request #13611 from Shadowghost/remove-empty-parent-index-workaround
Remove empty ParentIndexNumber workaround
2025-02-25 21:25:34 +01:00
Shadowghost
888838adbc Fix providers 2025-02-24 22:10:59 +01:00
Shadowghost
72911501d3 Remove empty ParentIndexNumber workaround 2025-02-24 19:12:20 +01:00
theguymadmax
317d7a9f4f
Collapse Box Sets when filtering 4K (#13594) 2025-02-20 21:10:41 -07:00
Bond_009
9d9c6fe5eb Wait for ffmpeg to exit on Windows before we try deleting the concat file
Fixes #12145 without slowing down on other platform or for single files that don't need the concat file.
2025-02-20 11:52:58 +01:00
Jellyfin Release Bot
a5b771861f Bump version to 10.10.6 v10.10.6 2025-02-16 16:55:41 -05:00
gnattu
3f539472f3
Fix image encoding concurrency limit (#13532)
* Fix image encoding concurrency limit

The current FFmpeg image extractor is configured to use a resource pool size that always equals 2 times the number of CPU cores, which is somewhat excessive. Make the default equal to the core count instead of twice, and respect the `ParallelImageEncodingLimit` option.

* Fix code stype

* Check null value for unit tests
2025-02-12 18:45:36 -07:00
Cody Robibero
7f43521b64
Merge pull request #13489 from gnattu/fix-subnet-detect
Fix subnet contains check
2025-02-12 07:55:53 -07:00
gnattu
99006c370f Fix more typo 2025-02-10 05:20:34 +08:00
Cody Robibero
e3f9f0a7f3
Update dependency z440.atl.core to 6.16.0 (#13526) 2025-02-09 18:41:41 +01:00
elfalem
d1fbdcee34
Skip allowed tags check for parents of an item (#12721) 2025-02-09 09:49:02 -07:00
Tim Eisele
21e398ba0c
Fix SchedulesDirect image prefetching (#13469)
* Only prefetch images for new and updated programs

* Update src/Jellyfin.LiveTv/Guide/GuideManager.cs
2025-02-09 09:45:03 -07:00
Marc Brooks
8544e7fc72
Fix LiveTV Guide Backdrop image not updating (#13504)
If the guide data changes an any other image, the Backdrop would not be updated.

Fixes #13496
2025-02-09 09:44:47 -07:00
Joshua M. Boniface
117d2082aa
Merge pull request #13490 from gnattu/fix-audio-date-number-fallback
Correctly handle audio number tag fallbacks
2025-02-09 00:15:13 -05:00
Joshua M. Boniface
03082e90f9
Merge pull request #13499 from crobibero/api-key-websocket
Allow api key to subscribe to admin websockets
2025-02-09 00:14:46 -05:00
Cody Robibero
88026518b1 Allow api key to subscribe to admin websockets 2025-02-04 17:33:56 -07:00
Bond-009
5f1fb26382
Fix rating mistake in us.csv (#13487) 2025-02-04 17:10:31 -07:00
gnattu
070d04c1b2
Typo
Co-authored-by: Cody Robibero <cody@robibe.ro>
2025-02-05 08:04:43 +08:00
Cody Robibero
8aa4e2e320
Merge pull request #13439 from Bond-009/fallbackmimetype
Fall back to calculating mime type from path when needed
2025-02-04 17:00:55 -07:00
JPVenson
49bb5a6442
Merge pull request #13459 from JPVenson/bugfix/13457_FixWebSocketControllerConcurrency
Fixed Websocket not locking state correctly
2025-02-04 14:59:06 +01:00
Bond_009
9e869b4541 Simplify logic in ProviderManager.SaveImage 2025-02-04 14:56:52 +01:00
gnattu
710e877762 Correctly handle audio number tag fallbacks
Although the number type is nullable from the type definition of ATL, the lib might still normalize all unknown values to 0 which makes doing null check only not enough. Fallback to ffprobe results when the number is 0 as well.
2025-02-04 07:21:18 +08:00
gnattu
f536e08e14 Fix subnet contains check
We are still using `Subnet.Contains` a lot but that does not handle IPv4 mapped to IPv6 addresses at all. It was partially fixed by #12094 in local network checking, but it may not always happen on LAN.

Also make all local network checking to use IsInLocalNetwork method instead of just performing `Subnet.Contains` which is not accurate.

Filter out all link-local addresses for external interface matching.
2025-02-04 07:07:21 +08:00
Bond_009
4eecfee29f Fall back to calculating mime type from path when needed
Should fix #12593
2025-02-03 17:45:48 +01:00
Bond-009
731874429c
Merge pull request #13448 from Shadowghost/fix-interface-selection-again
Fix interface ordering again
2025-02-03 17:43:11 +01:00
Tim Eisele
e6c6441abf Take subnet size into account 2025-01-27 10:59:50 +01:00
Tim Eisele
4d89a095ed Fix interface ordering again 2025-01-27 10:55:30 +01:00
Jellyfin Release Bot
1136a36eed Bump version to 10.10.5 v10.10.5 2025-01-25 14:14:26 -05:00
gnattu
e8514de33b
Don't select audio stream and codec explicitly for copy when bitrate exceeds limit (#13423) 2025-01-25 11:23:51 -07:00
JPVenson
722cdcce5e
Add check to prevent downgrade from future EFCore refactor (#13103) 2025-01-25 10:11:19 -07:00
Bond-009
bfe0fdbcdc
Open files with FileShare.Read for BlurHash calculations (#13425) 2025-01-25 08:41:51 -07:00
Joshua M. Boniface
0b2a59e963
Merge pull request #13384 from alltilla/fix-parallel-subtitleeditparse
Fix parallel use of not thread-safe SubtitleFormat instance
2025-01-25 02:32:00 -05:00
Joshua M. Boniface
6329de4fc3
Merge pull request #13411 from gnattu/use-writethrough-imagesaver
Use WriteThrough for ImageSaver
2025-01-25 02:29:39 -05:00
gnattu
644df3585b Use WriteThrough for ImageSaver
When writing an image to the disk, we use the completion of the async task as a signal indicating the completion of a write operation. However, this approach may not be entirely accurate, as the operating system can optimize IO operations by writing data to an intermediate cache instead of directly to the disk before completing the operation. This optimization can lead to a data race for our scanner, as subsequent tasks such as blurhash computation may attempt to read a file that has not yet been flushed from the volatile cache. Consequently, the data within the file becomes invalid, causing the blurhash computation task to fail.

Use WriteThrough mode to ensure the data is actual on disk before return to resolve this issue.
2025-01-24 07:54:22 +08:00
Joshua M. Boniface
3766a88bea
Merge pull request #13390 from gnattu/catch-ioexception
Catch IOExceptions for GetFileSystemMetadata
2025-01-22 16:36:26 -05:00
Joshua M. Boniface
f333ef74b3
Merge pull request #13092 from TheMelmacian/bugfix/xml_special_characters_in_set_elements
Fix: handling of <set> elements in NfoParser
2025-01-22 16:36:04 -05:00
Joshua M. Boniface
0394965753
Merge pull request #13382 from Shadowghost/fix-published-url-override
Fix interface selection
2025-01-22 16:34:11 -05:00
Joshua M. Boniface
53a45c6033
Merge pull request #13388 from Shadowghost/fix-ratings
Fix rating levels
2025-01-22 16:34:02 -05:00
Shadowghost
adfe52f55a Fix rating levels 2025-01-22 21:32:43 +01:00
Jellyfin Release Bot
cf78aefbb7 Bump version to 10.10.4 v10.10.4 2025-01-21 21:20:10 -05:00
Attila Szakacs
c693da94ce Fix parallel use of not thread-safe SubtitleFormat instance
`SubtitleFormat`'s `LoadSubtitle()` function is
not thread-safe.

A `SubtitleEditParser` instance's `Parse()`
function can be called from multiple threads at
the same time.

`SubtitleFormat`s are cached in the constructor
of each `SubtitleEditParser`, and the same
instances are used for each possibly parallel
`Parse()` function call, which causes subtitle
parse problems.

This patch modifies the code, so we only cache
the extension -> `SubtitleFormat` type/class
mapping and create a new `SubtitleFormat`
instance in each `Parse()` call, so no
`SubtitleFormat` instance is accessed from
multiple threads.

Fixes #12113

Kudos for everyone investigating the issue there,
most notably @RenV123 for PoC-ing the solution.

Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2025-01-18 21:16:35 +01:00
gnattu
1a7c2299c6 Catch IOExceptions for GetFileSystemMetadata
Our `GetFileSystemEntries` method will throw when enumerating the file system, but its callers might consider the unhandled exceptions as the whole path is not available. This would cause a single problematic file to fail the enumeration, and could lead to unexpected side effects.

HandleIOException gracefully by marking the files throwing as not exist to let the caller skip that file.
2025-01-19 00:40:13 +08:00
Shadowghost
9c7d735a96 Fix interface selection 2025-01-17 09:41:32 +01:00
Bond-009
344cc8b97b
Merge pull request #13345 from gnattu/fix-matroska-as-webm-audio
Never treat matroska as webm for audio playback
2025-01-14 15:00:31 +01:00
gnattu
cc9c000412 Never treat matroska as webm for audio playback
This would break browsers like Firefox where the matroska file cannot be played as audio file.
2025-01-10 15:24:10 +08:00
gnattu
5c6317f68d
Use nv15 as intermediate format for 2-pass rkrga scaling (#13313) 2025-01-02 16:47:51 -07:00
gnattu
80940c0c57
Don't generate trickplay for backdrops (#13183) 2024-12-31 09:15:39 -07:00
gnattu
8aa41d5904
Transcode to audio codec satisfied other conditions when copy check failed. (#13209) 2024-12-31 09:15:05 -07:00
Tim Eisele
cea0c95942
Fix DTS in HLS (#13288) 2024-12-31 09:10:25 -07:00