aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Probing
AgeCommit message (Collapse)Author
2025-04-19Fix OverflowException when scanning media with a very short duration (#13949)Bond-009
2025-04-02Improve dynamic HDR metadata handling (#13277)gnattu
* Add support for bitstream filter to remove dynamic hdr metadata * Add support for ffprobe's only_first_vframe for HDR10+ detection * Add BitStreamFilterOptionType for metadata removal check * Map HDR10+ metadata to VideoRangeType.cs Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged. * Add more Dolby Vision Range types Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player. Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving. * Remove dynamic hdr metadata when necessary * Allow direct playback of HDR10+ videos on HDR10 clients * Only use dovi codec tag when dovi metadata is not removed * Handle DV Profile 7 Videos better * Fix HDR10+ with new bitmask * Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS * Fix Dovi 8.4 not labeled as HLG in HLS * Fallback to dovi_rpu bsf for av1 when possible * Fix dovi_rpu cli for av1 * Use correct EFCore db column for HDR10+ * Undo outdated migration * Add proper hdr10+ migration * Remove outdated migration * Rebase to new db code * Add migrations for Hdr10PlusPresentFlag * Directly use bsf enum * Add xmldocs for SupportsBitStreamFilterWithOption * Make `VideoRangeType.Unknown` explicitly default on api models. * Unset default for non-api model class * Use tuples for bsf dictionary for now
2025-02-25Clean up usings and honor SortNameMarc Brooks
2025-02-03Merge branch 'master' into sort-nfo-dataMarc Brooks
2025-01-25chore: fix spellingJosh Soref
* a * acceleration * addition * altogether * api clients * artist * associated * bandwidth * cannot * capabilities * case-insensitive * case-sensitive * configuration * delimiter * dependent * diacritics * directors * enable * explicitly * filters * finish * have * hierarchy * implicit * include * information * into * its * keepalive * localization * macos * manual * matching * metadata * nonexistent * options * overridden * parsed * parser * playback * preferring * processes * processing * provider * ratings * retrieval * running * segments * separate * should * station * subdirectories * superseded * supported * system * than * the * throws * transpose * valid * was link: forum or chat rooms Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-11-16Update projects to .NET 9 (#13023)Bond-009
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-08-28Apply suggestions from code reviewnyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-05Merge branch 'master' into fix-hwa-video-rotationNyanmisaka
2024-07-29Merge pull request #12295 from Bond-009/trysetprovideridBond-009
Add TrySetProviderId extension
2024-07-23Merge branch 'master' into fix-hwa-video-rotationNyanmisaka
2024-07-21Backport pull request #12278 from jellyfin/release-10.9.zBond-009
Fix localization of audio title Original-merge: f7a90b6383aed557c0c2d3a824fc00340f72fe40 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-17Add TrySetProviderId extensionBond_009
2024-07-16Fix ArgumentNullException while scanning musicBond_009
``` [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-06-23Backport pull request #12149 from jellyfin/release-10.9.znyanmisaka
Fix MicroDVD being recognized as DVDSUB subtitles Original-merge: 6010bc01c321ea85935314191f5f8c19fd4b3bfb Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23Backport pull request #12046 from jellyfin/release-10.9.zgnattu
Fix mpeg-ts detection Original-merge: 78eb9b2f78edcec869845bce1a96528985a66f12 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23Backport pull request #12031 from jellyfin/release-10.9.znyanmisaka
Fix video embedded image detection Original-merge: 37b7e953f73532aad5e87dd62d8b6b63d8e52ed6 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-04-24Use StringSplitOptions.TrimEntries where possible (#11421)Bond-009
2024-03-30Add json parser for video rotation side datanyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-15Add LSR/CITY to artist whitelistJoe Rogers
2024-02-11Merge pull request #10772 from dmitrylyzo/normalize-mkv-webmBond-009
Discard WebM if there is an unsupported codec
2024-01-28Fix the display aspect ratio of PGSSUB subtitle burn-innyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-18fix: add av1 to webm Dmitry Lyzo
At least AV1 in WebM is supported by Chrome and Firefox.
2024-01-09fix: discard webm if there is an unsupported codecDmitry Lyzo
2023-11-14Revert "Use System.Net.IPNetwork"Bond_009
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14Fix warningsBond_009
2023-10-08Use generated regexStepan Goremykin
2023-10-02Add We;Na to split whitelistJoe Rogers
2023-08-30Fix MJPEG video is recognized as embedded image (#10173)Nyanmisaka
fixes 1d729b2 Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-07-28Fix format normalizer for multiple input formatsShadowghost
2023-05-04Whitelist Smith/KotzenJoe Rogers
2023-04-29Add artist to artist split whitelistMichael Fuchs
# Changes Added an artist whose name has forward slashes in it to the artist "/" split whitelist # Issues Related to issue #2305
2023-04-20Add artist to artist split whitelist (#9659)Penelope Gwen / Pogmommy
2023-03-25Convert Person.Type to use PersonKind enum (#9487)Cody Robibero
2023-03-10Merge pull request #9254 from Shadowghost/dvdbdfixBond-009
2023-03-10Fix DLNA playback of DVD and BD foldersShadowghost
2023-02-19Optimize tryparseBond_009
* Don't check for null before * Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-01Improve ffprobe json parsing and don't log error for Codec Type attachmentBond_009
2023-01-26Add Phantom/Ghost to whitelistLars Strojny
2023-01-19Revert 'Fix interlace check for H.264 MBAFF coded MP4 files' (#6222)Bond_009
2022-12-19Adding "creation_time" as a tag lookup for FFProbe for premiere date (#8884)bradvolen
2022-12-05Replace != null with is not nullBond_009
2022-12-05Replace == null with is nullBond_009
2022-10-07Fix localization lookupJoe Rogers
2022-10-07Add hearing impaired subtitle stream indicator (#7379)Joe Rogers
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-10-06Use ArgumentNullException.ThrowIfNull helper methodBond_009
Did a simple search/replace on the whole repo (except the RSSDP project) This reduces LOC and should improve performance (methods containing a throw statement don't get inlined) ``` if \((\w+) == null\) \s+\{ \s+throw new ArgumentNullException\((.*)\); \s+\} ``` ``` ArgumentNullException.ThrowIfNull($1); ```
2022-10-01Streams with CodecType "data" (like "epg" streams in DVBmarkus
recordings) get ignored. This results in wrong stream specifiers for all subsequent streams. This fix correctly handles "data" streams without any further processing.
2022-09-28Remove redundant using directivesHannes Braun
2022-09-11added more artists with '/' in their namesjakka
2022-09-10added A/T/O/S to separator whitelistjakka