Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: chromecast/renderer/media/cma_renderer.cc

Issue 1372393007: [Chromecast] Upgrade to new CMA backend API (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Address alokp@ comments Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromecast/renderer/media/cma_renderer.h ('k') | chromecast/renderer/media/demuxer_stream_adapter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromecast/renderer/media/cma_renderer.cc
diff --git a/chromecast/media/cma/filters/cma_renderer.cc b/chromecast/renderer/media/cma_renderer.cc
similarity index 91%
rename from chromecast/media/cma/filters/cma_renderer.cc
rename to chromecast/renderer/media/cma_renderer.cc
index 1d9dadd6a8da872458dbc8004bb547e9d8c0b9af..922f5c9d8c45ce4dc30e8b529ca13540890fb40e 100644
--- a/chromecast/media/cma/filters/cma_renderer.cc
+++ b/chromecast/renderer/media/cma_renderer.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chromecast/media/cma/filters/cma_renderer.h"
+#include "chromecast/renderer/media/cma_renderer.h"
#include "base/bind.h"
#include "base/callback_helpers.h"
@@ -11,14 +11,14 @@
#include "base/thread_task_runner_handle.h"
#include "chromecast/media/cma/base/balanced_media_task_runner_factory.h"
#include "chromecast/media/cma/base/cma_logging.h"
-#include "chromecast/media/cma/filters/demuxer_stream_adapter.h"
-#include "chromecast/media/cma/filters/hole_frame_factory.h"
-#include "chromecast/media/cma/pipeline/audio_pipeline.h"
#include "chromecast/media/cma/pipeline/av_pipeline_client.h"
-#include "chromecast/media/cma/pipeline/media_pipeline.h"
#include "chromecast/media/cma/pipeline/media_pipeline_client.h"
-#include "chromecast/media/cma/pipeline/video_pipeline.h"
#include "chromecast/media/cma/pipeline/video_pipeline_client.h"
+#include "chromecast/renderer/media/audio_pipeline_proxy.h"
+#include "chromecast/renderer/media/demuxer_stream_adapter.h"
+#include "chromecast/renderer/media/hole_frame_factory.h"
+#include "chromecast/renderer/media/media_pipeline_proxy.h"
+#include "chromecast/renderer/media/video_pipeline_proxy.h"
#include "media/base/bind_to_current_loop.h"
#include "media/base/demuxer_stream_provider.h"
#include "media/base/pipeline_status.h"
@@ -34,15 +34,15 @@ namespace {
// Maximum difference between audio frame PTS and video frame PTS
// for frames read from the DemuxerStream.
-const base::TimeDelta kMaxDeltaFetcher(
- base::TimeDelta::FromMilliseconds(2000));
+const base::TimeDelta kMaxDeltaFetcher(base::TimeDelta::FromMilliseconds(2000));
-void MediaPipelineClientDummyCallback() {}
+void MediaPipelineClientDummyCallback() {
+}
} // namespace
CmaRenderer::CmaRenderer(
- scoped_ptr<MediaPipeline> media_pipeline,
+ scoped_ptr<MediaPipelineProxy> media_pipeline,
::media::VideoRendererSink* video_renderer_sink,
const scoped_refptr<::media::GpuVideoAcceleratorFactories>& gpu_factories)
: media_task_runner_factory_(
@@ -122,8 +122,8 @@ void CmaRenderer::Initialize(
base::Bind(&CmaRenderer::OnPlaybackTimeUpdated, weak_this_));
media_pipeline_client.pipeline_backend_created_cb =
base::Bind(&MediaPipelineClientDummyCallback);
- media_pipeline_client.pipeline_backend_destroyed_cb
- = base::Bind(&MediaPipelineClientDummyCallback);
+ media_pipeline_client.pipeline_backend_destroyed_cb =
+ base::Bind(&MediaPipelineClientDummyCallback);
media_pipeline_->SetClient(media_pipeline_client);
init_cb_ = init_cb;
@@ -144,9 +144,8 @@ void CmaRenderer::Flush(const base::Closure& flush_cb) {
}
DCHECK_EQ(state_, kPlaying) << state_;
- media_pipeline_->Flush(
- ::media::BindToCurrentLoop(
- base::Bind(&CmaRenderer::OnFlushDone, weak_this_)));
+ media_pipeline_->Flush(::media::BindToCurrentLoop(
+ base::Bind(&CmaRenderer::OnFlushDone, weak_this_)));
{
base::AutoLock auto_lock(time_interpolator_lock_);
@@ -248,7 +247,8 @@ void CmaRenderer::InitializeAudioPipeline() {
demuxer_stream_provider_->GetStream(::media::DemuxerStream::AUDIO);
::media::PipelineStatusCB audio_initialization_done_cb =
::media::BindToCurrentLoop(
- base::Bind(&CmaRenderer::OnAudioPipelineInitializeDone, weak_this_,
+ base::Bind(&CmaRenderer::OnAudioPipelineInitializeDone,
+ weak_this_,
stream != nullptr));
if (!stream) {
CMALOG(kLogControl) << __FUNCTION__ << ": no audio stream, skipping init.";
@@ -260,8 +260,8 @@ void CmaRenderer::InitializeAudioPipeline() {
AvPipelineClient av_pipeline_client;
av_pipeline_client.eos_cb = ::media::BindToCurrentLoop(
base::Bind(&CmaRenderer::OnEosReached, weak_this_, true));
- av_pipeline_client.playback_error_cb = ::media::BindToCurrentLoop(
- base::Bind(&CmaRenderer::OnError, weak_this_));
+ av_pipeline_client.playback_error_cb =
+ ::media::BindToCurrentLoop(base::Bind(&CmaRenderer::OnError, weak_this_));
av_pipeline_client.statistics_cb = ::media::BindToCurrentLoop(
base::Bind(&CmaRenderer::OnStatisticsUpdated, weak_this_));
audio_pipeline_->SetClient(av_pipeline_client);
@@ -307,7 +307,8 @@ void CmaRenderer::InitializeVideoPipeline() {
demuxer_stream_provider_->GetStream(::media::DemuxerStream::VIDEO);
::media::PipelineStatusCB video_initialization_done_cb =
::media::BindToCurrentLoop(
- base::Bind(&CmaRenderer::OnVideoPipelineInitializeDone, weak_this_,
+ base::Bind(&CmaRenderer::OnVideoPipelineInitializeDone,
+ weak_this_,
stream != nullptr));
if (!stream) {
CMALOG(kLogControl) << __FUNCTION__ << ": no video stream, skipping init.";
@@ -319,8 +320,8 @@ void CmaRenderer::InitializeVideoPipeline() {
VideoPipelineClient client;
client.av_pipeline_client.eos_cb = ::media::BindToCurrentLoop(
base::Bind(&CmaRenderer::OnEosReached, weak_this_, false));
- client.av_pipeline_client.playback_error_cb = ::media::BindToCurrentLoop(
- base::Bind(&CmaRenderer::OnError, weak_this_));
+ client.av_pipeline_client.playback_error_cb =
+ ::media::BindToCurrentLoop(base::Bind(&CmaRenderer::OnError, weak_this_));
client.av_pipeline_client.statistics_cb = ::media::BindToCurrentLoop(
base::Bind(&CmaRenderer::OnStatisticsUpdated, weak_this_));
client.natural_size_changed_cb = ::media::BindToCurrentLoop(
@@ -339,9 +340,7 @@ void CmaRenderer::InitializeVideoPipeline() {
std::vector<::media::VideoDecoderConfig> configs;
configs.push_back(config);
media_pipeline_->InitializeVideo(
- configs,
- frame_provider.Pass(),
- video_initialization_done_cb);
+ configs, frame_provider.Pass(), video_initialization_done_cb);
}
void CmaRenderer::OnVideoPipelineInitializeDone(
@@ -383,8 +382,7 @@ void CmaRenderer::OnEosReached(bool is_audio) {
bool audio_finished = !has_audio_ || received_audio_eos_;
bool video_finished = !has_video_ || received_video_eos_;
- CMALOG(kLogControl) << __FUNCTION__
- << " audio_finished=" << audio_finished
+ CMALOG(kLogControl) << __FUNCTION__ << " audio_finished=" << audio_finished
<< " video_finished=" << video_finished;
if (audio_finished && video_finished)
ended_cb_.Run();
@@ -402,10 +400,9 @@ void CmaRenderer::OnNaturalSizeChanged(const gfx::Size& size) {
hole_frame_factory_->CreateHoleFrame(size));
}
-void CmaRenderer::OnPlaybackTimeUpdated(
- base::TimeDelta time,
- base::TimeDelta max_time,
- base::TimeTicks capture_time) {
+void CmaRenderer::OnPlaybackTimeUpdated(base::TimeDelta time,
+ base::TimeDelta max_time,
+ base::TimeTicks capture_time) {
DCHECK(thread_checker_.CalledOnValidThread());
if (state_ != kPlaying) {
LOG(WARNING) << "Ignoring a late time update";
« no previous file with comments | « chromecast/renderer/media/cma_renderer.h ('k') | chromecast/renderer/media/demuxer_stream_adapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698