167 Commits

Author SHA1 Message Date
gnattu
49ac705867
Improve dynamic HDR metadata handling (#13277)
* 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-04-02 18:06:02 -06:00
Tim Eisele
824bafc32d
Fix StreamInfo.ToUrl (#13808) 2025-03-30 21:37:58 -06:00
Tim Eisele
9657708b38
Reduce allocations, simplifed code, faster implementation, included tests - StreamInfo.ToUrl (#9369)
* Rework PR 6168

* Fix test
2025-03-28 06:51:44 -06:00
Niels van Velzen
3b8e614819
Prefer ApiKey over api_key in generated URL's (#13342) 2025-01-11 09:35:44 -07:00
gnattu
d944f415f3 Let HLS Controller decide if subtitle should be burn in
Previously, we predicted whether the subtitle should be burned in with transcode reasons, but that was not accurate because the actual transcoding codec is only determined after the client has requested the stream. This pass through the option to the `DynamicHlsController` to handle the subtitle burn-in during the actual transcoding process. Now the client should be responsible to conditionally load the subtitle when this option is enabled.
2024-09-22 00:35:41 +08:00
Shadowghost
2351eeba56 Rework PR 6203 2024-09-17 20:35:23 +02:00
gnattu
5a8a19e07b
Add MediaStream.ReferenceFrameRate for problematic video files (#12603)
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-09-07 11:16:23 -06: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
Cody Robibero
e731250342 Lowercase MediaStreamProtocol for backwards compatibility 2024-03-08 15:29:22 -07:00
Niels van Velzen
407cf5d0bf
Add MediaStreamProtocol enum (#10153)
* Add MediaStreamProtocol enum

* Add default handling for enum during deserialization

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-04 16:44:54 -07:00
Bond_009
5677566a41 Enable nullable for more files 2023-07-29 21:35:38 +02:00
Shadowghost
20a4509991 Migrate VideoRange and VideoRangeType to Enum 2023-06-28 12:02:20 +02:00
Stepan Goremykin
7d7e177265 Remove redundant casts 2023-04-06 19:17:28 +02:00
Bond-009
6351d1022b
Merge pull request #9254 from Shadowghost/dvdbdfix 2023-03-10 15:48:35 +01:00
Shadowghost
0da5255f12 Apply review suggestions 2023-03-10 15:27:17 +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
b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +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
Hannes Braun
4edeccc5e0
Remove redundant using directives 2022-09-28 16:26:03 +02:00
Cody Robibero
38102499cb Merge pull request #7947 from nyanmisaka/video-range-condition
(cherry picked from commit f1d56aa5cef4c60021e0b29c5d9fb3adf384fda7)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Shadowghost
4e91c3ebdc Fix DLNA DirectPlay 2022-03-25 18:02:31 +01:00
Cody Robibero
c331e11c24 Clean up EnumFlags serialization 2022-03-06 18:13:54 -07:00
Isaac Gordezky
d871dded9f Convert TranscodeReason to Flags 2022-03-06 18:13:54 -07:00
Bond_009
1c14c86b20 Fix some warnings 2022-02-14 14:46:04 +01:00
Cody Robibero
64652b6392 Fix and disable new dotnet6 warnings 2021-11-08 12:40:52 -07:00
Bond_009
637e86478f Fix some warnings 2021-09-03 19:32:11 +02:00
Cody Robibero
cba07b1ca6 Remove more and more warnings 2021-08-28 16:32:50 -06:00
cvium
74e14b4ca5 fix isdirectstream default 2021-03-22 22:34:47 +01:00
cvium
7dedeb6c79 change HLS endpoint defaults to false 2021-03-22 20:53:55 +01:00
Bond_009
401bafbfd0 Address comments 2021-02-20 23:36:22 +01:00
Bond_009
141efafd3d Enable TreatWarningsAsErrors for MediaBrowser.Model 2021-02-20 23:29:33 +01:00
Bond_009
65bab55ca0 Minor improvements 2021-02-13 00:39:18 +01:00
nyanmisaka
b4598bd71b Merge remote-tracking branch 'upstream/master' into fmp4-hls 2020-11-20 10:01:17 +08:00
nyanmisaka
57e5b59b93 adjust bitrate limit for HLS audio codecs 2020-11-11 17:10:08 +08:00
Stéphane Senart
5979151f11 [AudioTranscoding] Add FLAC as supported target audio format and be able to define the corresponding target sample rate 2020-10-22 12:22:31 +02:00
Stéphane Senart
28ee4f0a7f [AudioTranscoding] Add FLAC as supported target audio format and be able to define the corresponding target sample rate 2020-10-22 11:09:59 +02:00
Matt Montgomery
53d5f64e03 Fix SA1513, SA1514, SA1507, and SA1508 2020-09-28 15:04:31 -05:00
Bond_009
2b400c99ef Fix warnings 2020-08-19 17:50:50 +02:00
Joshua M. Boniface
f3151e7dc7
Merge pull request #3505 from Bond-009/minor3
Minor fixes
2020-07-05 00:30:35 -04:00
Bond_009
ae6eaa7f02 Minor fixes 2020-07-04 22:06:27 +02:00
Patrick Barron
6d1b00da64 Use Array.Empty 2020-07-04 11:54:25 -04:00
Bond-009
9af6eda0b4
Merge pull request #3343 from telans/comment-stops
Add full stop at end of comments (SA1629)
2020-06-16 11:54:58 +02:00
telans
247f9c61e6
fix SA1513/SA1516 2020-06-16 16:11:30 +12:00
telans
9018f8d8be
Add full stop at end of comments (SA1629) 2020-06-16 10:37:52 +12:00
Bond_009
30ce346f34 Enable nullabe reference types for MediaBrowser.Model 2020-04-05 18:10:56 +02:00
Bond_009
07cc4be6a7 Fix some warnings
* Add analyzers to MediaBrowser.XbmcMetadata
* Enable TreatWarningsAsErrors for MediaBrowser.XbmcMetadata
* Add analyzers to MediaBrowser.WebDashboard
* Enable TreatWarningsAsErrors for MediaBrowser.WebDashboard
* Disable SA1600 in favor of CS1591
2020-02-23 12:11:43 +01:00
Bond_009
f47ad85011 Fix warnings MediaBrowser.Model 2020-02-04 01:49:27 +01:00
Bond-009
fdbb329118 Remove StringHelper functions 2020-01-09 17:07:13 +01:00