// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "media/base/renderer.h" #include "base/logging.h" namespace media { // WARNING: The returned names are used as part of UMA names. Do NOT change // existing return names. std::string GetRendererName(RendererType renderer_type) { switch (renderer_type) { case RendererType::kRendererImpl: return "RendererImpl"; case RendererType::kMojo: return "MojoRenderer"; case RendererType::kMediaPlayer: return "MediaPlayerRenderer"; case RendererType::kCourier: return "CourierRenderer"; case RendererType::kFlinging: return "FlingingRenderer"; case RendererType::kCast: return "CastRenderer"; case RendererType::kMediaFoundation: return "MediaFoundationRenderer"; case RendererType::kRemoting: return "RemotingRenderer"; // media::remoting::Receiver case RendererType::kCastStreaming: return "CastStreamingRenderer"; case RendererType::kContentEmbedderDefined: return "EmbedderDefined"; case RendererType::kTest: return "Media Renderer Implementation For Testing"; } } Renderer::Renderer() = default; Renderer::~Renderer() = default; void Renderer::SetCdm(CdmContext* cdm_context, CdmAttachedCB cdm_attached_cb) { DLOG(WARNING) << "CdmContext is not supported."; std::move(cdm_attached_cb).Run(false); } void Renderer::OnSelectedVideoTracksChanged( const std::vector& enabled_tracks, base::OnceClosure change_completed_cb) { DLOG(WARNING) << "Track changes are not supported."; std::move(change_completed_cb).Run(); } void Renderer::OnEnabledAudioTracksChanged( const std::vector& enabled_tracks, base::OnceClosure change_completed_cb) { DLOG(WARNING) << "Track changes are not supported."; std::move(change_completed_cb).Run(); } void Renderer::SetPreservesPitch(bool preserves_pitch) { // Not supported by most renderers. } void Renderer::SetWasPlayedWithUserActivation( bool was_played_with_user_activation) { // Not supported by most renderers. } void Renderer::OnExternalVideoFrameRequest() { // Default implementation of OnExternalVideoFrameRequest is to no-op. } } // namespace media