#include "media/formats/hls/rendition_manager.h"
#include "base/logging.h"
#include "media/formats/hls/audio_rendition.h"
#include "media/formats/hls/multivariant_playlist.h"
#include "media/formats/hls/types.h"
#include "media/formats/hls/variant_stream.h"
namespace media::hls {
namespace {
RenditionManager::CodecSupportType VariantTypeSupported(
RenditionManager::IsTypeSupportedCallback is_type_supported_cb,
const VariantStream& variant) { … }
std::string GetVariantDisplayString(const VariantStream* variant) { … }
std::string GetAudioRenditionDisplayString(const AudioRendition* rendition) { … }
}
RenditionManager::UpdatedSelections::~UpdatedSelections() = default;
RenditionManager::UpdatedSelections::UpdatedSelections() = default;
RenditionManager::UpdatedSelections::UpdatedSelections(
const UpdatedSelections&) = default;
RenditionManager::VariantStatistics::~VariantStatistics() = default;
RenditionManager::VariantStatistics::VariantStatistics(
const VariantStatistics&) = default;
RenditionManager::VariantStatistics::VariantStatistics(
const VariantStream* stream,
const AudioRenditionGroup* group)
: … { … }
RenditionManager::~RenditionManager() = default;
RenditionManager::RenditionManager(scoped_refptr<MultivariantPlaylist> playlist,
SelectedCB on_variant_selected,
IsTypeSupportedCallback is_type_supported_cb)
: … { … }
std::vector<RenditionManager::SelectableOption<RenditionManager::VariantID>>
RenditionManager::GetSelectableVariants() const { … }
std::vector<RenditionManager::SelectableOption<RenditionManager::RenditionID>>
RenditionManager::GetSelectableAudioRenditions() const { … }
void RenditionManager::Reselect(SelectedCallonce callback) { … }
void RenditionManager::SetPreferredVariant(
std::optional<RenditionManager::VariantID> id) { … }
void RenditionManager::SetPreferredAudioRendition(
std::optional<RenditionManager::RenditionID> id) { … }
void RenditionManager::UpdatePlayerResolution(const gfx::Size& resolution) { … }
void RenditionManager::UpdateNetworkSpeed(uint64_t network_bps) { … }
bool RenditionManager::HasAnyVariants() const { … }
void RenditionManager::InitializeVariantMaps(
IsTypeSupportedCallback is_type_supported_cb) { … }
RenditionManager::UpdatedSelections RenditionManager::GetUpdatedSelectionIds() { … }
std::optional<RenditionManager::VariantID>
RenditionManager::SelectBestVariant() { … }
std::optional<RenditionManager::RenditionID>
RenditionManager::SelectRenditionBasedOnLanguage(
const VariantStatistics& variant,
std::optional<std::string> language,
bool only_autoselect) { … }
std::optional<RenditionManager::RenditionID>
RenditionManager::SelectBestRendition(
VariantID variant_id,
std::optional<RenditionID> maybe_rendition) { … }
std::optional<RenditionManager::RenditionID> RenditionManager::LookupRendition(
const AudioRendition* rendition) { … }
}