Commit Graph

224 Commits

Author SHA1 Message Date
Marc Brooks
114591c1aa Clean up usings and honor SortName 2025-02-25 01:51:38 -06:00
Marc Brooks
e8cbcde02e Merge branch 'master' into sort-nfo-data 2025-02-03 19:48:59 -06:00
Bond-009
ceb850c770 Update projects to .NET 9 (#13023) 2024-11-16 10:11:01 -07: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
Nyanmisaka
2aa9cf4007 Merge branch 'master' into fix-hwa-video-rotation 2024-08-05 16:37:09 +08:00
Bond-009
095d4d4d15 Merge pull request #12295 from Bond-009/trysetproviderid
Add TrySetProviderId extension
2024-07-29 00:13:40 +02:00
Nyanmisaka
00088c2954 Merge branch 'master' into fix-hwa-video-rotation 2024-07-23 15:37:33 +08:00
Bond-009
46fde9aa04 Backport pull request #12278 from jellyfin/release-10.9.z
Fix localization of audio title

Original-merge: f7a90b6383

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-21 00:58:05 -04:00
Bond_009
ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Bond_009
19dc0872a9 Fix ArgumentNullException while scanning music
```
[2024-07-16 18:00:20.517 +02:00] [ERR] [65] 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.MediaEncoding.Probing.ProbeResultNormalizer.SetAudioInfoFromTags(MediaInfo audio, Dictionary`2 tags) in /home/loma/dev/jellyfin/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs:line 1322
   at MediaBrowser.MediaEncoding.Probing.ProbeResultNormalizer.GetMediaInfo(InternalMediaInfoResult data, Nullable`1 videoType, Boolean isAudio, String path, MediaProtocol protocol) in /home/loma/dev/jellyfin/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs:line 199
```
2024-07-16 18:23:21 +02:00
nyanmisaka
d37c5d8921 Backport pull request #12149 from jellyfin/release-10.9.z
Fix MicroDVD being recognized as DVDSUB subtitles

Original-merge: 6010bc01c3

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:59 -04:00
gnattu
91f5f0bfc4 Backport pull request #12046 from jellyfin/release-10.9.z
Fix mpeg-ts detection

Original-merge: 78eb9b2f78

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:50 -04:00
nyanmisaka
b0f2135762 Backport pull request #12031 from jellyfin/release-10.9.z
Fix video embedded image detection

Original-merge: 37b7e953f7

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:44 -04:00
Bond-009
ac108690a8 Use StringSplitOptions.TrimEntries where possible (#11421) 2024-04-24 08:35:15 -06:00
nyanmisaka
bf654bde60 Add json parser for video rotation side data
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-30 06:09:58 +08:00
Joe Rogers
4f7a341c14 Add LSR/CITY to artist whitelist 2024-03-15 14:05:38 -04:00
Bond-009
f888ee3dfc Merge pull request #10772 from dmitrylyzo/normalize-mkv-webm
Discard WebM if there is an unsupported codec
2024-02-11 00:26:19 +01:00
nyanmisaka
9323390add Fix the display aspect ratio of PGSSUB subtitle burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
Dmitry Lyzo
ba877283a1 fix: add av1 to webm
At least AV1 in WebM is supported by Chrome and Firefox.
2024-01-18 08:01:06 +03:00
Dmitry Lyzo
39088b5ad2 fix: discard webm if there is an unsupported codec 2024-01-09 10:39:31 +03:00
Bond_009
635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009
b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Stepan Goremykin
3259d484ff Use generated regex 2023-10-08 01:16:00 +02:00
Joe Rogers
b95040bc5e Add We;Na to split whitelist 2023-10-02 23:00:51 -04:00
Nyanmisaka
debbfaa502 Fix MJPEG video is recognized as embedded image (#10173)
fixes 1d729b2

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-30 17:19:52 -06:00
Shadowghost
f20856411e Fix format normalizer for multiple input formats 2023-07-28 22:52:54 +02:00
Joe Rogers
ba336c25e1 Whitelist Smith/Kotzen 2023-05-04 15:04:38 -04:00
Michael Fuchs
a59ae91d5d Add artist to artist split whitelist
# Changes
Added an artist whose name has forward slashes in it to the artist "/" split whitelist

# Issues
Related to issue #2305
2023-04-29 13:47:09 +02:00
Penelope Gwen / Pogmommy
20cf27f637 Add artist to artist split whitelist (#9659) 2023-04-20 07:39:34 -06:00
Cody Robibero
89be3aa37f Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Bond-009
6351d1022b Merge pull request #9254 from Shadowghost/dvdbdfix 2023-03-10 15:48:35 +01:00
Shadowghost
47aa07c342 Fix DLNA playback of DVD and BD folders 2023-03-10 15:27:17 +01:00
Bond_009
24a7e210c3 Optimize tryparse
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
Bond_009
65d605b17d Improve ffprobe json parsing and don't log error for Codec Type attachment 2023-02-01 14:58:04 +01:00
Lars Strojny
44a870ca83 Add Phantom/Ghost to whitelist 2023-01-26 00:28:17 +01:00
Bond_009
75fe640f2b Revert 'Fix interlace check for H.264 MBAFF coded MP4 files' (#6222) 2023-01-19 14:20:04 +01:00
bradvolen
f20dee8e0d Adding "creation_time" as a tag lookup for FFProbe for premiere date (#8884) 2022-12-19 19:52:09 +01:00
Bond_009
52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009
c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Joe Rogers
62799697a1 Fix localization lookup 2022-10-07 07:48:31 -04:00
Joe Rogers
2e4db18ebe Add hearing impaired subtitle stream indicator (#7379)
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-10-07 12:38:05 +02:00
markus
0a15634550 Streams with CodecType "data" (like "epg" streams in DVB
recordings) get ignored. This results in wrong stream specifiers for all
 subsequent streams. This fix correctly handles "data" streams without any
 further processing.
2022-10-01 08:53:54 -06:00
jakka
0b581aa655 added more artists with '/' in their names 2022-09-11 20:27:58 +03:00
jakka
778baf7bf5 added A/T/O/S to separator whitelist 2022-09-10 23:30:53 +03:00
Joshua M. Boniface
fe32b5e333 Merge pull request #7964 from jellyfin/dovi-side-data
(cherry picked from commit 39d185c7b1)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero
28223704f3 Merge pull request #7441 from 1337joe/add-external-stream-indicator
Add label for external audio/sub tracks
2022-03-11 07:48:23 -07:00
Joe Rogers
1a307db7eb Add label for external audio/sub tracks 2022-03-10 22:20:35 +01:00
Mayur Panchal
96de01ce01 ProbeResultNormalizer: fix framerate compare + tests (#7167) 2022-03-10 20:55:30 +01:00
GermanCoding
11bb834957 Remove superfluous "SoundHandler" from audio stream names 2022-02-28 17:44:23 +01:00
Shadowghost
4a3f1a51d2 chore(artist-split): add more artists to split whitelist 2022-01-27 22:01:40 +01:00