gnattu
9d601f8e9b
Terminate at null char for audio tags ( #14100 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-18 18:40:18 -06:00
theguymadmax
6c57ad4772
Fix Blu-ray metadata processing: preserve external streams and language metadata ( #14077 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-09 08:35:54 -06:00
gnattu
140de04f94
Reject invalid replaygain tag value ( #14082 )
2025-05-09 08:35:41 -06:00
Tim Eisele
d976f13970
Recognize file changes and remove data on change ( #13839 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-04 21:21:44 -06:00
Tim Eisele
df5671263f
Merge pull request #13847 from Shadowghost/rework-chapter-management
...
Rework chapter management
2025-04-26 14:01:12 +02:00
Tim Eisele
61cb53999e
Safeguard against null value trimming in tag results ( #13908 )
2025-04-13 07:43:06 -06:00
Marc Brooks
a5f3d942f6
Merge branch 'master' into sort-nfo-data
2025-03-12 10:33:27 -05:00
gnattu
237e7bd44b
Backport pull request #13694 from jellyfin/release-10.10.z
...
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
CodeQL / Analyze (csharp) (push) Has been cancelled
Clone fallback audio tags instead of use ATL.Track.set
Original-merge: 9eb2044eae
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-03-12 08:40:33 -04:00
Dominik Krivohlavek
93dd5551df
Add support for reading and storing Recording MBIDs from file metadata ( #12173 )
...
* Add recording metadata provider
* Add recording MBID
* Save recording MBID during probing
* Set recording ID in probe result normalizer
* Add recording external media type
* Reimplement after changes in upstream
* Rename variable
* Rename variable
* Revert "Set recording ID in probe result normalizer"
This reverts commit 9dd18c8aba .
* Fix setting provider ID
* Simplify code
* Fix comment
* Add missing using
2025-02-28 23:00:52 -07:00
Marc Brooks
114591c1aa
Clean up usings and honor SortName
2025-02-25 01:51:38 -06:00
Cody Robibero
712908d53c
Revert nullability of MediaStream.IsHearingImpaired ( #13573 )
2025-02-17 19:20:18 -07:00
choyakawa
fb69b976bf
Fix the issue where the external audio track always defaults. ( #13132 )
2025-02-13 20:24:39 -07:00
gnattu
f4a2679177
Backport pull request #13490 from jellyfin/release-10.10.z
...
Correctly handle audio number tag fallbacks
Original-merge: 117d2082aa
Merged-by: joshuaboniface <joshua@boniface.me >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-02-09 08:39:56 -05:00
Marc Brooks
4e64b261a8
Moved Trimmed to Jellyfin.Extensions.StringExtensions
2025-02-05 18:13:28 -06:00
Marc Brooks
e8cbcde02e
Merge branch 'master' into sort-nfo-data
2025-02-03 19:48:59 -06:00
gnattu
4c17498369
Backport pull request #13182 from jellyfin/release-10.10.z
...
Don't fall back to ffprobe results for multi-value audio tags
Original-merge: f97f38585b
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-02-03 16:55:56 -05:00
Bond-009
bcdffa74a8
Remove useless checks and dead code ( #13405 )
...
* Remove useless checks and dead code
* Enable adaptive bitrate streaming again
* Disable adaptive bitrate streaming by default
2025-01-28 11:29:22 +01:00
Josh Soref
40da2ccac5
Fix spelling ( #13444 )
...
* spelling: anamorphic
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: associated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: channelinfo
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: eagerly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: enumerable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: greater than/less than
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: greater
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: lineup
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: logs out
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: names
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: paging
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: playlist
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: sanitized
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: saving
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
---------
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2025-01-28 11:27:34 +01:00
Bond_009
47f798827b
Remove useless checks and dead code
2025-01-22 17:31:52 +01:00
JPVenson
56a4aa180b
Fixed codesmell
2025-01-18 16:22:05 +00:00
JPVenson
2f306358c0
applied review comments
2025-01-18 16:17:26 +00:00
JPVenson
a0c568bc6c
Applied review comments
2024-12-15 14:46:40 +00:00
JPVenson
fe1aab034e
Merge branch 'jellyfin:master' into feature/EFUserData
2024-12-06 17:59:27 +01:00
Ethan Pippin
06923cbf2b
Implement TaskTriggerInfoType enum ( #12783 )
2024-12-01 17:08:37 -07:00
JPVenson
0dd6dacc4f
Merge remote-tracking branch 'origin/master' into feature/EFUserData
2024-11-19 20:53:38 +00:00
gnattu
7f296d06e6
Backport pull request #13003 from jellyfin/release-10.10.z
...
Only set first MusicBrainz ID for audio tags
Original-merge: e2434d38c5
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-11-19 15:43:28 -05:00
JPVenson
d073e2c664
Fixed invalid columns on MediaStreams
2024-11-12 23:53:05 +00:00
JPVenson
b09a41ad1f
WIP porting new Repository structure
2024-10-09 10:36:08 +00:00
JPVenson
be48cdd9e9
Naming refactoring and WIP porting of new interface repositories
2024-10-09 09:53:39 +00: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
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
Marc Brooks
6dc61a430b
Sort embedded collections in Nfo files
...
Because the Nfo files emit the collections as they are in-memory, the
files are not stable in format, genres, tags, albums, people, etc. are emitted in random orders. Add ordering of the collections when emitting the Nfo files so the file remains stable (unchanged) when underlying media information doesn't change.
In the process of this, it became clear that most of the providers and probes don't trim the strings like people's names, genre names, etc. so did a pass of Trim cleanup too.
Specific ordering: (alphabetical/numeric ascending after trimming blanks and defaulting to zero for missing numbers)
BaseItem: Directors, Writers, Trailers (by Url), Production Locations, Genres, Studios, Tags, Custom Provider Data (by key), Linked Children (by Path>LibraryItemId), Backdrop Images (by path), Actors (by SortOrder>Name)
AlbumNfo: Artists, Album Artists, Tracks (by ParentIndexNumber>IndexNumber>Name)
ArtistNfo: Albums (by Production Year>SortName>Name)
MovieNfo: Artists
Fix Debug build lint
Fix CI debug build lint issue.
Fix review issues
Fixed debug-build lint issues.
Emits the `disc` number to NFO for tracks with a non-zero ParentIndexNumber and only emit `position` if non-zero.
Removed the exception filtering I put in for testing.
Don't emit actors for MusicAlbums or MusicArtists
Swap from String.Trimmed() to ?.Trim()
Addressing PR feedback
Can't use ReadOnlySpan in an async method
Removed now-unused namespace
2024-09-18 20:33:18 -05:00
Shadowghost
2351eeba56
Rework PR 6203
2024-09-17 20:35:23 +02:00
gnattu
c6de7225b9
Add non-standard multi-value audio tag support ( #12385 )
2024-09-07 21:10:59 -06: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
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
gnattu
2599babe31
Backport pull request #11859 from jellyfin/release-10.9.z
...
Use music metadata from ffprobe when TagLib fails
Original-merge: b8a0cf6a9e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-06-01 18:41:07 -04:00
Shadowghost
2af1ae5d8a
Backport pull request #11792 from jellyfin/release-10.9.z
...
Improve reliability of HasChanged check
Original-merge: b2d54b82fa
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-05-25 11:46:21 -04:00