Commit Graph

2405 Commits

Author SHA1 Message Date
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
gnattu 56a98a3bb0 Make internal value separator a constant
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 06:23:16 +08:00
gnattu 1d658a5a4d Remove redundant check
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 06:23:13 +08:00
gnattu 939e02ccee Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-29 06:21:51 +08:00
gnattu ac9322370b Check if the metadata is supported for title fallback
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 06:21:51 +08:00
gnattu 172feab084 Migrate to z440.atl instead of TagLib-Sharp
The ATL lib provides a lot of advantages to the TagLib we are currently using.

Notably:

- auto-detect the format of the audio data, even if the file extension has the wrong label, and provides unified API for different file types.

- supports more audio formats than TagLib

- supports lyrics natively

- supports playlists and cuesheets

- srovides relatively simple and controllable way for non-standard fields, enable us to implement compatibility features instead of waiting for lib updates

- is actually maintained

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 06:21:47 +08:00
Bond-009 095d4d4d15 Merge pull request #12295 from Bond-009/trysetproviderid
Add TrySetProviderId extension
2024-07-29 00:13:40 +02:00
Cody Robibero b026772764 Move external url listing to provider for plugin use (#12279) 2024-07-17 09:48:31 -04:00
Bond_009 ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Bond_009 2e338f74ec Fix (another) ArgumentNullException while scanning music
```
[2024-07-17 14:31:18.202 +02:00] [ERR] [19] MediaBrowser.Providers.Music.AudioMetadataService: Error in "Probe Provider"
System.ArgumentNullException: Value cannot be null. (Parameter 'value')
   at System.ArgumentNullException.Throw(String paramName)
   at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
   at System.ArgumentException.ThrowNullOrEmptyException(String argument, String paramName)
   at MediaBrowser.Model.Entities.ProviderIdsExtensions.SetProviderId(IHasProviderIds instance, String name, String value) in /home/loma/dev/jellyfin/MediaBrowser.Model/Entities/ProviderIdsExtensions.cs:line 121
   at MediaBrowser.Model.Entities.ProviderIdsExtensions.SetProviderId(IHasProviderIds instance, MetadataProvider provider, String value) in /home/loma/dev/jellyfin/MediaBrowser.Model/Entities/ProviderIdsExtensions.cs:line 151
   at MediaBrowser.Providers.MediaInfo.AudioFileProber.FetchDataFromTags(Audio audio, MediaInfo mediaInfo, MetadataRefreshOptions options, Boolean tryExtractEmbeddedLyrics) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 330
   at MediaBrowser.Providers.MediaInfo.AudioFileProber.FetchAsync(Audio audio, MediaInfo mediaInfo, MetadataRefreshOptions options, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 139
   at MediaBrowser.Providers.MediaInfo.AudioFileProber.Probe[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 105
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/Manager/MetadataService.cs:line 800
```
2024-07-17 14:36:47 +02:00
Bond_009 60c45d6273 Use complete paths in BD info
This way we don't need to find the complete path later
2024-07-01 00:21:06 +02:00
Bond-009 e063fcb036 Backport pull request #12166 from jellyfin/release-10.9.z
Fix HDR detection for 4K Blu-Ray BDMVs

Original-merge: 30fc089dd5

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-24 20:29:06 -04:00
gnattu ea7e834ae1 Backport pull request #12126 from jellyfin/release-10.9.z
Try to add extracted lyrics during scanning

Original-merge: 25f02658f0

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-24 20:29:05 -04:00