Commit Graph

2417 Commits

Author SHA1 Message Date
Lampan-git
78d9fa72e0 fix Missing metadata search where cast has multiple roles 2025-03-15 11:11:30 +01:00
gnattu
7ea09a8637 Clone fallback audio tags instead of use ATL.Track.set
The setter of the Track class is not intended for such use cases and will have unwanted side effects to change valid values. We should never use them use all fields from ATL.Track class read-only.
2025-03-11 05:02:39 +08:00
Bond-009
fcdef875a2 Merge pull request #13618 from Lampan-git/fix_people_meta_refresh
Include Role and SortOrder in MergePeople to fix "Search for missing metadata"
2025-03-01 14:55:27 +01:00
Marc Brooks
2da4a2d753 Fix overwrite of PremierDate with a year-only value (#13598)
* Preserve the more-specific PremierDate's month and day

Fixes #13596
2025-03-01 14:53:12 +01:00
Lampan-git
a70a09fdb3 save person Role and SortOrder in metadata refresh 2025-02-25 20:10:19 +01:00
Shadowghost
888838adbc Fix providers 2025-02-24 22:10:59 +01: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
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
Bond_009
4eecfee29f Fall back to calculating mime type from path when needed
Should fix #12593
2025-02-03 17:45:48 +01: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
Tim Eisele
4e28f4fe03 Fix missing episode removal (#13218) 2024-12-31 09:09:42 -07:00
gnattu
d49bb1d86d Don't fall back to ffprobe results for multi-value audio tags 2024-12-08 10:56:05 +08:00
gnattu
e7ac3e3929 Fix missing ConfigureAwait (#13139)
Regression from #12940
2024-12-01 10:57:37 -07:00
gnattu
e2434d38c5 Only set first MusicBrainz ID for audio tags (#13003) 2024-11-14 17:01:48 -07:00
gnattu
5769d5ca91 Catch all exceptions for file removal 2024-11-03 23:25:11 +08:00
gnattu
03271c43a7 Throw the exception as is 2024-11-03 16:10:17 +08:00
gnattu
bb30d26ffb Use ExceptionDispatchInfo 2024-11-03 04:28:48 +08:00
gnattu
e9ee0ef1f5 Remove temp file even when saving failed 2024-11-03 04:11:41 +08:00
gnattu
469bf9d514 Move the remove source implementation into ProviderManager 2024-11-03 02:51:11 +08:00
gnattu
74d2c2addf Remove DynamicImageResponse local image after saved to metadata folder
Previously, local images provided by DynamicImageResponse were never cleaned up until the server was restarted. This issue has become more severe in 10.10, as the default is now set to use the system's native temp folder, which might be a RAM backed tmpfs. This behavior could lead to resource starvation for long-running servers performing multiple library scans.

Metadata plugins prefer the old behavior should do its own backup.
2024-11-02 17:15:00 +08:00
Mikal S.
f99e0407fd Don't try to prune images for virtual episodes. (#12909) 2024-10-31 09:40:03 -06:00
Benedikt
c6629aebf8 Fix TMDB import failing when no IMDB ID is set for a movie (#12891) 2024-10-28 07:29:15 -06:00
gnattu
7cc3f9506e Disable ATL's internal ID3v2.2/3 splitting (#12751) 2024-09-30 07:15:52 -06:00
gnattu
992d56e565 Workaround ATL tag parsing (#12705) 2024-09-28 08:52:05 -06:00
Tim Eisele
d10406fd75 Pre-fill ParentIndexNumber to preserve it between scans (#12739) 2024-09-28 08:51:48 -06:00
gnattu
0ffddacf11 Move GetCustomTagDelimiters to Extension 2024-09-24 12:36:05 +08:00
gnattu
00ca4abbe1 Sanitize CustomTagDelimiters server side
The API requires an array type and does not support runtime generated default value. Use server side helper function to sanitize it into char.
2024-09-24 05:15:46 +08:00
Cody Robibero
3c639c2e80 Tweak Trickplay migration for speed (#12643) 2024-09-23 09:09:23 -06:00
Tim Eisele
9ff7575c85 Fix metadata merge for BoxSets (#12583) 2024-09-20 07:46:44 -06:00
Shadowghost
2351eeba56 Rework PR 6203 2024-09-17 20:35:23 +02:00
gnattu
90a00e1293 Only remove images in metadata folder by default (#12631) 2024-09-12 13:45:38 -06:00
gnattu
c6de7225b9 Add non-standard multi-value audio tag support (#12385) 2024-09-07 21:10:59 -06:00
JPVenson
5ceedced1c Feature/media segments plugin api (#12359) 2024-09-07 14:56:51 -06:00
Tim Eisele
c56dbc1c44 Enhance Trickplay (#11883) 2024-09-07 11:23:48 -06:00
Niels van Velzen
9afaa6ae4d Merge pull request #12548 from Bond-009/utf8bom
Remove BOM from UTF-8 files
2024-09-06 21:56:31 +02:00
Bond_009
97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02:00
Shadowghost
4185558f5e Upgrade LRCParser to 2024.0728.2 2024-08-30 09:03:57 +02:00
scampower3
1ca2c4b4e1 Backport pull request #12425 from jellyfin/release-10.9.z
Don't force non-virtual when all episodes in season are isMissing=true

Original-merge: be949af59e

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-08-25 02:46:34 -04:00
gnattu
7da787609b Fix SA1508 in LyricScheduledTask
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-24 06:59:48 +08:00
Bond-009
e211445034 Merge pull request #12397 from crobibero/lyrics-finale
Add lyrics library options, add download scheduled task
2024-08-24 00:00:38 +02:00
Bond-009
a21ecda78f Merge pull request #12375 from tobias-varden/pr_2
Update the default repository URL for the StudioImages plugin
2024-08-14 16:09:26 +02:00
Cody Robibero
a4953263bd Fix class name 2024-08-06 07:53:44 -06:00
Cody Robibero
3873c7fda0 Update MediaBrowser.Providers/Lyric/LyricScheduledTask.cs
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-08-06 07:52:59 -06:00
Cody Robibero
eacc8c7d35 Add scheduled task to automatically search for lyrics 2024-08-05 16:00:08 -06:00
nielsvanvelzen
0675b06bea Backport pull request #12356 from jellyfin/release-10.9.z
Fix creating virtual seasons (again)

Original-merge: 900acc03aa

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

Backported-by: Bond_009 <bond.009@outlook.com>
2024-08-05 10:58:23 -04:00
CS
919b8ef9e2 Use collection initializers when possible 2024-08-02 16:19:20 +02:00
CS
b34cbc2f16 Update default artwork repository url to point to githubusercontent.com domain 2024-08-02 16:12:55 +02:00
gnattu
79c4469ac7 Remove redundant NaN check
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 06:23:16 +08:00
gnattu
5c5b326b1a Remove test var
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-29 06:23:16 +08:00