Commit Graph

3123 Commits

Author SHA1 Message Date
gnattu daf8d649f2 Add AC4 downmix
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu 0a1a109b2e Add RFC7845 downmix algorithm (#12300) 2024-07-30 09:50:22 -06:00
Bond_009 d3f0346f04 Enable nullable for UserItemData
MetadataResult.GetOrAddUserData doesn't ever get used and is probably broken since the migration to .NET Core as it still expects a Guid for userId
2024-07-29 21:05:23 +02:00
Cody Robibero 48b5602144 Enable nullability for QueryResult 2024-07-29 07:38:15 -06:00
gnattu 0132ad05ab Display DOVI title in DisplayTitle when available
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 07:49:05 +08:00
Bond-009 095d4d4d15 Merge pull request #12295 from Bond-009/trysetproviderid
Add TrySetProviderId extension
2024-07-29 00:13:40 +02:00
gnattu 162ea38a95 Check MaxAudioChannels for directAudioStream candidates (#12319)
* Check MaxAudioChannels for directAudioStream candidates

The current stream builder logic does not check the channel limit when determining if the audio stream can be directly used, and this can cause some undesired effects:

- A high channel count surround sound stream might be picked even if a stereo one exists when the user requires stereo audio.

- The user's preferred audio codec might not be respected during the downmix because the requested codec is now forced to be the same as the original source.

Signed-off-by: gnattu <gnattuoc@me.com>

* Fix unit test

Signed-off-by: gnattu <gnattuoc@me.com>

* Set correct transcode reason and target channels for unit test

Signed-off-by: gnattu <gnattuoc@me.com>

* Match old stream selection behavior

Signed-off-by: gnattu <gnattuoc@me.com>

* Fix reason matching

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-29 00:11:59 +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
Cody Robibero 4239de1ee7 Merge pull request #11399 from jellyfin/audio-remux 2024-07-18 08:12:20 -04:00
gnattu 855215673a Use string.Equals
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-18 17:50:19 +08: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
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
Cody Robibero b026772764 Move external url listing to provider for plugin use (#12279) 2024-07-17 09:48:31 -04:00
Bond_009 ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02: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 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 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 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 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
nyanmisaka d37c5d8921 Backport pull request #12149 from jellyfin/release-10.9.z
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-23 11:40:59 -04:00
Bond_009 e2c4e52f39 Add regressions tests for update library endpoint 2024-06-02 18:18:13 +02:00
crobibero 35bc6866d5 Backport pull request #11802 from jellyfin/release-10.9.z
Mark SearchHint.MatchedTerm as nullable

Original-merge: ab6c2424dbb6b0e0a046b746d564cfc78103f8fb

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:26 -04:00
Bond_009 69ae006f37 Prefer profile over codec for display title
FFmpeg 6.1 and newer can recognize Dolby Atmos and DTS:X.
This change makes it possible to see if a track has one of these technologies
if the used FFmpeg supports it.
2024-05-21 14:55:42 +02:00
gnattu 5df171b3f9 Add remuxing support for VP9
Add VP9 as a valid HLS format to enable remuxing. This is useful when audio processing is required, but the VP9 video can be passed as-is to avoid unnecessary video transcoding.

No VP9 encoder is enabled and should not be enabled. AV1 and HEVC should be preferred over VP9 if video transcoding is required.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-16 09:34:21 +08:00
Cody Robibero 23d0537fb3 Fix reference to deprecated package (#11530) 2024-05-14 16:55:29 -06:00
Jellyfin Release Bot 04022f85af Bump version to 10.10.0 2024-05-11 14:23:59 -04:00
gnattu 145dc31ccb Default to not extract lyrics (#11523) 2024-05-10 09:03:09 -06:00
gnattu 688a734895 Don't close inactive session on default (#11491) 2024-05-05 19:21:44 -06:00
Bond_009 2ad872001d Address comments 2024-04-28 17:16:33 +02:00
Bond_009 88a38a61b5 Improve audio normalization
* Move calculation of LUFS to a scheduled task as it's pretty slow
* Correctly calculate album LUFS
* Don't try to convert replaygain tags to LUFS values
2024-04-28 15:18:53 +02:00
Bond-009 428283f787 Always scan ReplayGain tag (#11418) 2024-04-24 08:09:01 -06:00
GeorgeH005 e93fa27e4c Add support for out-of-spec but existent, Dolby Vision Profile 8 CCid 6 media. (#11334) 2024-04-10 13:33:24 -06:00
Joshua M. Boniface ee1d6332ee Merge pull request #11220 from Shadowghost/add-playlist-acl-api
Add playlist ACL endpoints
2024-04-10 12:52:01 -04:00
Shadowghost 8cf77424f6 Apply review suggestions 2024-04-02 08:08:36 +02:00
Shadowghost c1dbb49315 Implement update endpoint 2024-04-01 20:43:05 +02:00
Shadowghost bff37ed13a Apply review suggestions 2024-04-01 19:59:48 +02:00
Cody Robibero 3ade3a8e63 Lowercase CollectionTypeOptions to match legacy experience (#11272) 2024-03-31 21:58:06 -06:00
Niels van Velzen 84b933d835 Use enum for BaseItemDto.ExtraType (#11261) 2024-03-31 14:48:46 -06:00
gnattu be21d51742 fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Niels van Velzen 8d02c45e6c Fix default values missing in ClientCapabilities(Dto) (#11232) 2024-03-27 15:36:30 -06:00
Shadowghost 2aaa9f669a Apply review suggestions 2024-03-27 06:39:14 +01:00
Shadowghost 56c432a843 Apply review suggestions 2024-03-26 23:45:14 +01:00
Shadowghost f1dc1610a2 Extend playlist creation capabilities 2024-03-26 16:13:07 +01:00