Commit Graph

26079 Commits

Author SHA1 Message Date
Bond-009 d5cf0ad2c8 Merge pull request #11492 from jellyfin/better-vbr-settings
Add better audio VBR settings
2024-07-21 16:15:43 +02:00
Bond-009 1dc0a1de6c Backport pull request #12296 from jellyfin/release-10.9.z
Properly escape paths in concat file for BDMV

Original-merge: 4afa6db108

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-21 00:58:06 -04: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
nielsvanvelzen a8ac58fd5b Backport pull request #12240 from jellyfin/release-10.9.z
Fix season handling ("Season Unknown" / unneccesary empty seasons)

Original-merge: c1f7ccbca4

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-21 00:58:04 -04:00
Bond-009 2b0082bf15 Merge pull request #12299 from gnattu/fix-ac4-samplerate-check
Fix AC-4 Sample rate check
2024-07-19 14:43:32 +02:00
Cody Robibero 4239de1ee7 Merge pull request #11399 from jellyfin/audio-remux 2024-07-18 08:12:20 -04:00
gnattu 59c18a7454 Remove space
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-18 18:49:04 +08:00
gnattu 855215673a Use string.Equals
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-18 17:50:19 +08:00
gnattu cb7714a32e Code cleanup
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-18 17:49:44 +08:00
gnattu 992eed5ef7 Fix AC-4 Sample rate check
Some Audio codec will have a null CodecTag, check for that to avoid null reference

If the client already requests a specific sample rate, use that instead of our default sample rate for AC-4

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-18 11:45:16 +08:00
gnattu efee37a632 Simplify EnableAudioVbrEncoding getter
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-18 02:43:02 +08:00
gnattu 5262439300 Enable hardware Trickplay processing pipeline for VideoToolbox (#11510) 2024-07-17 13:50:32 -04:00
gnattu ce7cbc1f64 Don't check the misleading options.EnableDirectStream for direct stream availability
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-18 01:49:55 +08:00
gnattu 8851ace543 Enable Dolby AC-4 decoder (#11486) 2024-07-17 12:35:40 -04:00
Cody Robibero d6051d9d7e Merge pull request #11489 from jellyfin/allow-vp9-remuxing 2024-07-17 12:32:44 -04:00
Cody Robibero c207404089 Merge pull request #11511 from jellyfin/trickplay-keyframe-only 2024-07-17 12:28:58 -04:00
gnattu e851bb869b Simply AMF Windows checking
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-07-17 22:25:28 +08:00
gnattu fd5df98616 Move default value to api spec
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:52:44 +08:00
Cody Robibero b026772764 Move external url listing to provider for plugin use (#12279) 2024-07-17 09:48:31 -04:00
gnattu 9acc93853e Specify the default value in api spec
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 24910348a1 Force channel to be >= 1
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-17 21:27:35 +08:00
gnattu d5eb8fc121 Also make UniversalAudioController check client VBR settings
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 7ad432be23 Default EnableAudioVbrEncoding to true in TranscodingProfile
This will match the old behavior when user takes no action for clients

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 0381c5a288 Add EnableAudioVbrEncoding to TranscodingProfile
This will allow the client selectively disable VBR audio when it causes problems.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 78929418cc Use better audio VBR settings
LAME's VBR mode only has advantage over a certain bitrate range. For very low and very high bitrate, use the ABR mode instead.

aac_at's CVBR mode produces very good quality and is not worse than its TVBR mode in blind testing. Use this mode for convenience.

The ffmpeg native aac encoder will have quality regression with its VBR mode. Always use CBR mode for ffmpeg's native aac encoder.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu b28d22545a Simplify condition check
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:25:29 +08:00
Bond-009 78ed8f660c Merge pull request #12294 from Bond-009/nullproviderid2
Fix (another) ArgumentNullException while scanning music
2024-07-17 14:52:39 +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 12bcd1a528 Merge pull request #12292 from Bond-009/nullproviderid
Fix ArgumentNullException while scanning music
2024-07-17 14:24:03 +02:00
Troja 92903f0d4a Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2024-07-17 08:12:03 -04:00
gnattu c8f157444c Make comment better
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 14:08:39 +08:00
gnattu ed9d27bb3a Correctly set bitrate limit for remuxing
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 13:35:59 +08:00
gnattu f840d9b60f Fix direct play
The SupportsDirectStream is a little bit misleading as it actually means "Supports Direct Play"

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 13:35:59 +08:00
gnattu a16d3d4887 Allow clients to send audio container override for HLS
This will improve flexibility due to overcome the complex compatibility situation of HLS

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 13:35:59 +08:00
gnattu e4101128e0 feat: add audio remux to UniversalAudioController
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 13:35:59 +08:00
Cody Robibero 042d3e3f93 Don't include new internal MediaStream properties in api spec (#12288) 2024-07-16 12:57:02 -04:00
gnattu 0340eccb52 Force software decoding when hardware decoder does not support keyframe only mode but requested by user
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 00:47:22 +08:00
gnattu 68bfabbaba Add option to extract keyframe only during trickplay image generation
This would be significantly faster than decoding every frame, but it does have compatibility issues. Not all decoders support this mode, notably the VP9 decoder, CUVID decoders, and QSV decoders.

Some videos with very long key-frame intervals may also perform poorly with this mode, as the image timing could become too inaccurate to reflect the actual frame.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 00:47:22 +08: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
mokshsinghji f1f97186ba Translated using Weblate (Punjabi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pa/
2024-07-16 10:36:20 -04:00
Vlad f353afe926 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2024-07-16 10:36:20 -04:00
Bond-009 9653cf46fb Merge pull request #12201 from Bond-009/bdsegmentfullname
Use complete paths in BD info
2024-07-16 14:43:27 +02:00
renovate[bot] 9528b2d391 Update danielpalme/ReportGenerator-GitHub-Action action to v5.3.8 (#12284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 08:19:51 -04:00
Bond-009 f68038f2cf Run DeleteTranscodeFileTask on startup (#12239) 2024-07-15 08:55:31 -04:00
David Schulte fc1bee30a6 Allow streaming of raw PGS subtitles without transcoding (#12056) 2024-07-15 08:48:09 -04:00
Erwin de Haan 3262f8dc2a Add check for ProviderIds to prevent '=' from appearing in keys, also support '=' in the values. (#12274) 2024-07-15 08:44:22 -04:00
Bond-009 c666f9d050 Use real temp dir instead of cache dir for temp files (#12226) 2024-07-15 08:44:14 -04:00
ItsAllAboutTheCode 5e840c1db6 Improve LibraryManager.Sort when using "Random" order (#12165)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-15 08:44:06 -04:00
Tim Gels 90dcd9f267 Refactor bug report issue template (#11135) 2024-07-15 08:42:52 -04:00
Spz.Takumi 3213537277 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2024-07-15 08:37:54 -04:00