blob: fae3613a9b8394e934945c51d67e994d51233b3b [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromecast/cast_core/cast_runtime_content_renderer_client.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_frame_media_playback_options.h"
#include "media/base/demuxer.h"
namespace chromecast {
CastRuntimeContentRendererClient::CastRuntimeContentRendererClient() = default;
CastRuntimeContentRendererClient::~CastRuntimeContentRendererClient() = default;
void CastRuntimeContentRendererClient::RenderFrameCreated(
content::RenderFrame* render_frame) {
CastContentRendererClient::RenderFrameCreated(render_frame);
cast_streaming_demuxer_provider_.RenderFrameCreated(render_frame);
}
std::unique_ptr<::media::Demuxer>
CastRuntimeContentRendererClient::OverrideDemuxerForUrl(
content::RenderFrame* render_frame,
const GURL& url,
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner) {
if (!render_frame->GetRenderFrameMediaPlaybackOptions()
.is_remoting_renderer_enabled()) {
return nullptr;
}
return cast_streaming_demuxer_provider_.OverrideDemuxerForUrl(
render_frame, url, std::move(media_task_runner));
}
} // namespace chromecast