| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chromecast/renderer/media/media_caps_observer_impl.h" |
| |
| #include "chromecast/media/base/supported_codec_profile_levels_memo.h" |
| #include "chromecast/public/media/decoder_config.h" |
| |
| namespace chromecast { |
| namespace media { |
| |
| MediaCapsObserverImpl::MediaCapsObserverImpl( |
| mojo::PendingRemote<mojom::MediaCapsObserver>* proxy, |
| SupportedCodecProfileLevelsMemo* supported_profiles) |
| : supported_profiles_(supported_profiles), |
| receiver_(this, proxy->InitWithNewPipeAndPassReceiver()) {} |
| |
| MediaCapsObserverImpl::~MediaCapsObserverImpl() = default; |
| |
| void MediaCapsObserverImpl::AddSupportedCodecProfileLevel( |
| mojom::CodecProfileLevelPtr codec_profile_level) { |
| CodecProfileLevel converted_codec_profile_level( |
| {static_cast<VideoCodec>(codec_profile_level->codec), |
| static_cast<VideoProfile>(codec_profile_level->profile), |
| codec_profile_level->level}); |
| supported_profiles_->AddSupportedCodecProfileLevel( |
| converted_codec_profile_level); |
| } |
| |
| } // namespace media |
| } // namespace chromecast |