* Added Media segment manager
* Added "HasSegments" to MediaSourceInfo when requesting though baseitem
* Fixed ordering of Media Segements
* Added media segment API controller
* Added .ConfigureAwait(false) on media segments manager
* renamed MediaSegmentsController
removed empty route
* Added Model layer for Media Segments
Fixed review comments Media segments
* Updated media segment naming
refactored api and manager usage
* Added mediaSegment type filter
* Fixed codesmell
* Fixed naming and typos
* Added EF Migration
* Added Identity Generation for MediaSegments
Made mediasegment filter optional
* Fixed optional filter parameter
* refactored segment namespace
* Added SegmentProviderId to MediaSegment
* Media segment comment indentation
* Added MediaSegmentManager query notracking
* 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>
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>
Mark SearchHint.MatchedTerm as nullable
Original-merge: ab6c2424db
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
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.
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>
* 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