* 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
The ATL lib provides a lot of advantages to the TagLib we are currently using.
Notably:
- auto-detect the format of the audio data, even if the file extension has the wrong label, and provides unified API for different file types.
- supports more audio formats than TagLib
- supports lyrics natively
- supports playlists and cuesheets
- srovides relatively simple and controllable way for non-standard fields, enable us to implement compatibility features instead of waiting for lib updates
- is actually maintained
Signed-off-by: gnattu <gnattuoc@me.com>
* 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>