Commit Graph

26635 Commits

Author SHA1 Message Date
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
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
Tim Eisele 4e28f4fe03 Fix missing episode removal (#13218) 2024-12-31 09:09:42 -07:00
Tim Eisele f0e9b2fb96 Fix NFO ID parsing (#13167) 2024-12-31 09:06:45 -07:00
Tim Eisele b9881b8bdf Fix EPG image caching (#13227) 2024-12-31 09:04:22 -07:00
Bond-009 b31f1696f2 Merge pull request #13151 from nyanmisaka/sw-tonemap-by-default
Always do tone-mapping for HDR transcoding when software pipeline is used
2024-12-29 22:29:46 +01:00
Bond-009 86160cd99c Merge pull request #13262 from gnattu/don't-use-x265-params-on-ultrafast
Don't use custom params on ultrafast x265 preset
2024-12-27 10:42:43 +01:00
Bond-009 230eacf15e Merge pull request #13280 from gnattu/backport-atl-update
Backport ATL update 6.11 to 10.10
2024-12-27 10:41:45 +01:00
gnattu 0ecaa98ee7 Backport ATL update 6.11 to 10.10
This fixed long duration (> 1hr) LRC formatting
2024-12-24 18:24:36 +08:00
gnattu 45c4bedbc6 Always apply necessary params 2024-12-21 22:09:56 +08:00
gnattu 2c4c1d054d Don't use custom params on ultrafast x265 preset
Our custom parameters are slower than the ultrafast preset, but users would expect encoding to be as fast as possible when selecting ultrafast. Only apply those parameters to superfast and slower presets.
2024-12-21 21:54:03 +08:00
Bond-009 f97f38585b Merge pull request #13182 from gnattu/no-multivalue-ffprobe-fallback
Don't fall back to ffprobe results for multi-value audio tags
2024-12-20 22:35:15 +01:00
Bond-009 a2a0cbf7ab Merge pull request #13180 from gnattu/backport-atl-update
Backport ATL update to 10.10
2024-12-09 22:05:00 +01:00
Bond-009 eb5f8d49dd Merge pull request #13187 from gnattu/properly-check-lan
Properly check LAN IP in HasRemoteAccess
2024-12-09 19:31:29 +01:00
Bond-009 6f7ce439d3 Merge pull request #13188 from Bond-009/nebml
Fix possible infinite loops in incomplete MKV files
2024-12-09 19:30:13 +01:00
Bond_009 03ea566271 Fix possible infinite loops in incomplete MKV files
https://github.com/OlegZee/NEbml/pull/14
Fixes #13122
2024-12-08 19:39:41 +01:00
gnattu 2a96b8b34b Properly check LAN IP in HasRemoteAccess
We cannot simply use the subnet list to check if the IP is in LAN as it does not handle special cases like IPv4MappedToIPv6 and IPv6 loopback addresses.
2024-12-08 22:06:11 +08:00
Bond-009 ff4f3b0441 Merge pull request #13169 from gnattu/fix-no-audio-transcoding
Check if the video has an audio track before codec fallback
2024-12-08 12:17:02 +01:00
gnattu d49bb1d86d Don't fall back to ffprobe results for multi-value audio tags 2024-12-08 10:56:05 +08:00
renovate[bot] cf6aa12627 Update dependency z440.atl.core to 6.9.0 2024-12-08 09:16:13 +08:00
gnattu cd4519c15f Check if the video has an audio track before fallback
This would break transcoding for videos without an audio track as the codec checking would be null referencing.
2024-12-07 01:40:41 +08:00
nyanmisaka 8e248c7c05 Enable software tone-mapping by default
Transcoding HDR video without tonemapping results
in an unacceptable viewing experience. Many users
are not even aware of the option and therefore we
should always enable the software tonemapx filter.

Signed-off-by: nyanmisaka <nst7999610810@gmail.com>
2024-12-03 22:39:27 +08:00
gnattu 65f722f23c Fallback to lossy audio codec for bitrate limit (#13127) 2024-12-01 17:08:28 -07:00
gnattu e7ac3e3929 Fix missing ConfigureAwait (#13139)
Regression from #12940
2024-12-01 10:57:37 -07:00
Bond-009 9464f9e622 Merge pull request #13113 from gnattu/only-remux-dv-when-no-fallback
Only do DoVi remux when the client supports profiles without fallbacks
2024-11-30 12:14:55 +01:00
Joshua M. Boniface 746280af0b Merge pull request #13106 from RealGreenDragon/patch-1
Enable RemoveOldPlugins by default (10.10.z backport)
2024-11-28 15:58:49 -05:00
gnattu 9bc6e8a306 Only do DoVi remux when the client supports profiles without fallbacks
In 10.10 clients that can only play the fallback layer like the Samsung TVs will report `DOVIWithHDR10` as supported video range, but the server should not do remux in DoVi as the client can only play the fallback layer. This changes the server to only do DoVi remux when the client can play DoVi videos without a fallback layer.
2024-11-26 15:01:59 +08:00
RealGreenDragon b0105179eb Enable RemoveOldPlugins by default
Backport of PR #13102 to 10.10.z branch.
2024-11-25 08:40:20 +01:00
Jellyfin Release Bot b3e563385c Bump version to 10.10.3 v10.10.3 2024-11-18 22:38:42 -05:00
Cody Robibero 5e45403cb1 Downgrade minimum sdk version (#13063) 2024-11-18 05:58:57 -07:00
Tim Eisele 23de7e517e Exclude file system based library playlists from migration (#13059) 2024-11-17 20:18:53 -07:00
Jellyfin Release Bot be23f4eb0d Bump version to 10.10.2 v10.10.2 2024-11-16 14:59:25 -05:00
Joshua M. Boniface 38c08c4fad Merge pull request #12916 from JPVenson/bugfix/10.10/MediaSegmentsRespectDisabledProviders
Added query filter to disregard disabled Providers
2024-11-16 14:25:56 -05:00
JPVenson 1b4ab5e777 pr review stuff 2024-11-16 18:39:11 +00:00
Akaanksh Raj 293e0f5faf Respect cancellation token/HTTP request aborts correctly in SymlinkFollowingPhysicalFileResultExecutor (#13033) 2024-11-16 10:16:43 -07:00
Cody Robibero 13ae2266de Merge pull request #13038 from Bond-009/stable-deps 2024-11-16 10:11:33 -07:00
renovate[bot] 6870e3496c Update dependency z440.atl.core to 6.8.0 2024-11-15 18:54:55 +01:00
renovate[bot] ea88bdf2f3 Update dependency z440.atl.core to 6.7.0 (#12943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 18:54:52 +01:00
Bond-009 a6f04ffb7c Merge pull request #13021 from jellyfin/renovate/microsoft
Update Microsoft to 8.0.11
2024-11-15 18:52:49 +01:00
Bond-009 db266d75d6 Merge pull request #12986 from jellyfin/renovate/skiasharp-monorepo
Update skiasharp monorepo
2024-11-15 18:49:45 +01:00
Bond-009 f47d2c1f1a Merge pull request #12792 from jellyfin/renovate/dotnet-monorepo
Update dotnet monorepo
2024-11-15 18:49:14 +01:00
Tim Eisele 8bee67f1f8 Fix playlists (#12934) 2024-11-14 17:03:31 -07:00
Nyanmisaka cf11a2dc1e Fix missing procamp vaapi filter (#13026) 2024-11-14 17:02:02 -07:00
gnattu e2434d38c5 Only set first MusicBrainz ID for audio tags (#13003) 2024-11-14 17:01:48 -07:00
gnattu 9e61a6fd72 Always cleanup trickplay temp for ffmpeg failures (#13030) 2024-11-14 17:00:59 -07:00