aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/MediaInfo
AgeCommit message (Collapse)Author
2025-11-17Backport pull request #15441 from jellyfin/release-10.11.zIceStormNG
Fix System.NullReferenceException when people's role is null (10.11.z) Original-merge: 5a9a8363f45ed34b2db1f8f59c2be69ff458f8ab Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-02Fix mka-style tagging key (#14936)gnattu
2025-09-26Fixing the UFID field value giving a warning and not being correctly ↵Corentin Malbet
processed (#14851)
2025-08-27fix ProbeProvider.HasChanged: if file date changed (#14674)evan314159
2025-07-27fix file modification date comparisons (#14503)evan314159
2025-07-14Fix refreshing the library cannot delete old attachments (#14461)Nyanmisaka
2025-07-07Update dependency z440.atl.core to v7 (#14391)renovate[bot]
2025-07-04Merge pull request #14309 from shanepowell/MediaInfoFixsShane Powell
Fix PeopleHelper.AddPerson Exceptions due to bad meta-data extracts.
2025-07-02Read ALBUMARTISTS in preference to ARTISTS when PreferNonstandardArtistsTag setEvan
Jellyfin implemented ARTISTS multivalue tag but did not implement the equivalent ALBUMARTISTS multivalue tag. This change adds ALBUMARTISTS support. If present and PreferNonstandardArtistsTag is set, ALBUMARTISTS will be used in preference to ALBUMARTIST. As with ARTISTS, the intent is to offer support for multiple album artists without affecting software that does not read ALBUMARTIST as a multivalued tag. Example album before/after: ALBUM : Amici e Rivali ARTIST : Lawrence Brownlee / Michael Spyres album_artist : Lawrence Brownlee ARTISTS : Lawrence Brownlee;Michael Spyres ALBUMARTISTS : Lawrence Brownlee;Michael Spyres Before ALBUMARTISTS support, Jellyfin reports: Album Artist: Lawrence Brownlee [hyperlinked] On each track Artist: Lawrence Brownlee, Michael Spyres After ALBUMARTISTS support, Jellyfin reoprts: Album Artist: Lawrence Brownlee [hyperlinked], Michael Spyres [hyperlinked] On each track Artist: none shown (no other artists in source metadata) This is ideal as both key artists are hyperlinkable from their albums. References to other products implementing ALBUMARTISTS: - Navidrome: https://www.navidrome.org/docs/usage/tagging-guidelines/#handling-multiple-artists-and-collaborations - Kodi: https://kodi.wiki/view/Music_tagging#albumartists - MusicBrainz Picard: https://picard-docs.musicbrainz.org/en/variables/variables_basic.html (_albumartists tag)
2025-06-23Fix missing music genre metadata (#14332)theguymadmax
2025-05-18Terminate at null char for audio tags (#14100)gnattu
2025-05-09Fix Blu-ray metadata processing: preserve external streams and language ↵theguymadmax
metadata (#14077)
2025-05-09Reject invalid replaygain tag value (#14082)gnattu
2025-05-04Recognize file changes and remove data on change (#13839)Tim Eisele
2025-04-26Merge pull request #13847 from Shadowghost/rework-chapter-managementTim Eisele
Rework chapter management
2025-04-13Safeguard against null value trimming in tag results (#13908)Tim Eisele
2025-03-12Merge branch 'master' into sort-nfo-dataMarc Brooks
2025-03-12Backport pull request #13694 from jellyfin/release-10.10.zgnattu
Clone fallback audio tags instead of use ATL.Track.set Original-merge: 9eb2044eae50c69be4cb3830887bdd5da15ee920 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-28Add support for reading and storing Recording MBIDs from file metadata (#12173)Dominik Krivohlavek
* 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 9dd18c8aba3f970a5816a13a33acf3d58b0e440f. * Fix setting provider ID * Simplify code * Fix comment * Add missing using
2025-02-25Clean up usings and honor SortNameMarc Brooks
2025-02-17Revert nullability of MediaStream.IsHearingImpaired (#13573)Cody Robibero
2025-02-13Fix the issue where the external audio track always defaults. (#13132)choyakawa
2025-02-09Backport pull request #13490 from jellyfin/release-10.10.zgnattu
Correctly handle audio number tag fallbacks Original-merge: 117d2082aa4f46f470c361c39f4a2189014260ee Merged-by: joshuaboniface <joshua@boniface.me> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-05Moved Trimmed to Jellyfin.Extensions.StringExtensionsMarc Brooks
2025-02-03Merge branch 'master' into sort-nfo-dataMarc Brooks
2025-02-03Backport pull request #13182 from jellyfin/release-10.10.zgnattu
Don't fall back to ffprobe results for multi-value audio tags Original-merge: f97f38585b69c7d810b5708a3c9d822a3ac545b6 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Bond_009 <bond.009@outlook.com>
2025-01-28Remove useless checks and dead code (#13405)Bond-009
* Remove useless checks and dead code * Enable adaptive bitrate streaming again * Disable adaptive bitrate streaming by default
2025-01-28Fix spelling (#13444)Josh Soref
* 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-22Remove useless checks and dead codeBond_009
2025-01-18Fixed codesmellJPVenson
2025-01-18applied review commentsJPVenson
2024-12-15Applied review commentsJPVenson
2024-12-06Merge branch 'jellyfin:master' into feature/EFUserDataJPVenson
2024-12-01Implement TaskTriggerInfoType enum (#12783)Ethan Pippin
2024-11-19Merge remote-tracking branch 'origin/master' into feature/EFUserDataJPVenson
2024-11-19Backport pull request #13003 from jellyfin/release-10.10.zgnattu
Only set first MusicBrainz ID for audio tags Original-merge: e2434d38c54b90070bc4eaffa7e3c5cdd9934602 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-12Fixed invalid columns on MediaStreamsJPVenson
2024-10-09WIP porting new Repository structureJPVenson
2024-10-09Naming refactoring and WIP porting of new interface repositoriesJPVenson
2024-09-30Disable ATL's internal ID3v2.2/3 splitting (#12751)gnattu
2024-09-28Workaround ATL tag parsing (#12705)gnattu
2024-09-24Move GetCustomTagDelimiters to Extensiongnattu
2024-09-24Sanitize CustomTagDelimiters server sidegnattu
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-18Sort embedded collections in Nfo filesMarc Brooks
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-17Rework PR 6203Shadowghost
2024-09-07Add non-standard multi-value audio tag support (#12385)gnattu
2024-07-29Remove redundant NaN checkgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29Remove test vargnattu
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-29Make internal value separator a constantgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29Remove redundant checkgnattu
Signed-off-by: gnattu <gnattuoc@me.com>