Commit Graph

26088 Commits

Author SHA1 Message Date
renovate[bot]
a968e31179
Update dependency libse to v4.0.7 2024-07-24 00:37:36 +00:00
Bond-009
59446a8dd2
Merge pull request #12322 from jellyfin/renovate/svg.skia-2.x
Update dependency Svg.Skia to v2
2024-07-23 16:18:19 +02:00
renovate[bot]
975ad25162
Update dependency Svg.Skia to v2 2024-07-22 20:13:31 +00:00
Bond-009
19dca018b2
Merge pull request #12310 from Bond-009/fixbdmvstreamindex
Fix BDMV stream indexes
2024-07-22 12:11:57 +02:00
ItsAllAboutTheCode
24f355a779
Changed GetThemeMedia to support SortBy/Order options (#12167)
* Changed `GetThemeMedia` to support SortBy/Order options

The `GetThemeMedia, `GetThemeVideos` and `GetThemeSongs` functions can optionally sort the results based based on passing an ItemSortBy type and a SortOrder.

This is intended to be used by jellyfin-web in order to allow users to control the order of theme playback.
See PR: https://github.com/jellyfin/jellyfin-web/pull/5714

* Update MediaBrowser.Controller/Entities/BaseItem.cs

Fix the `GetThemeVideos` two argument overload having both parameters defaulted.
For the two argument overload, both parameters are required.
2024-07-21 16:16:31 +02:00
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
99bba29715 Fix switch expression 2024-07-20 20:37:44 +02:00
Bond_009
f308a01e59 Fix DTS codec name 2024-07-20 20:22:51 +02:00
Bond_009
406320cb98 Fix more codec names 2024-07-20 19:57:40 +02:00
Bond_009
1e7aca8a3d Fix BDMV stream indexes
Also fixes the subtitle codec for PGS subtitles from PGS to PGSSUB
2024-07-20 17:32:09 +02: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