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

Side by Side Diff: media/mojo/services/mojo_renderer_service.cc

Issue 1273943002: media: Make GpuMemoryBuffers VideoFrame copies asynchronous. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address reveman's and dalecurtis' comments. Disable GMB VideoFrames. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/mojo/services/mojo_renderer_service.h" 5 #include "media/mojo/services/mojo_renderer_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 scoped_refptr<base::SingleThreadTaskRunner> task_runner( 44 scoped_refptr<base::SingleThreadTaskRunner> task_runner(
45 base::MessageLoop::current()->task_runner()); 45 base::MessageLoop::current()->task_runner());
46 MojoMediaClient* mojo_media_client = MojoMediaClient::Get(); 46 MojoMediaClient* mojo_media_client = MojoMediaClient::Get();
47 audio_renderer_sink_ = mojo_media_client->CreateAudioRendererSink(); 47 audio_renderer_sink_ = mojo_media_client->CreateAudioRendererSink();
48 video_renderer_sink_ = 48 video_renderer_sink_ =
49 mojo_media_client->CreateVideoRendererSink(task_runner); 49 mojo_media_client->CreateVideoRendererSink(task_runner);
50 50
51 // Create renderer. 51 // Create renderer.
52 if (renderer_factory) { 52 if (renderer_factory) {
53 renderer_ = renderer_factory->CreateRenderer( 53 renderer_ = renderer_factory->CreateRenderer(task_runner, task_runner,
54 task_runner, audio_renderer_sink_.get(), video_renderer_sink_.get()); 54 audio_renderer_sink_.get(),
55 video_renderer_sink_.get());
55 } else { 56 } else {
56 scoped_ptr<AudioRenderer> audio_renderer(new AudioRendererImpl( 57 scoped_ptr<AudioRenderer> audio_renderer(new AudioRendererImpl(
57 task_runner, audio_renderer_sink_.get(), 58 task_runner, audio_renderer_sink_.get(),
58 mojo_media_client->CreateAudioDecoders(task_runner, media_log).Pass(), 59 mojo_media_client->CreateAudioDecoders(task_runner, media_log).Pass(),
59 mojo_media_client->GetAudioHardwareConfig(), media_log)); 60 mojo_media_client->GetAudioHardwareConfig(), media_log));
60 scoped_ptr<VideoRenderer> video_renderer(new VideoRendererImpl( 61 scoped_ptr<VideoRenderer> video_renderer(new VideoRendererImpl(
61 task_runner, video_renderer_sink_.get(), 62 task_runner, task_runner, video_renderer_sink_.get(),
62 mojo_media_client->CreateVideoDecoders(task_runner, media_log).Pass(), 63 mojo_media_client->CreateVideoDecoders(task_runner, media_log).Pass(),
63 true, nullptr, media_log)); 64 true, nullptr, media_log));
64 renderer_.reset(new RendererImpl(task_runner, audio_renderer.Pass(), 65 renderer_.reset(new RendererImpl(task_runner, audio_renderer.Pass(),
65 video_renderer.Pass())); 66 video_renderer.Pass()));
66 } 67 }
67 } 68 }
68 69
69 MojoRendererService::~MojoRendererService() { 70 MojoRendererService::~MojoRendererService() {
70 } 71 }
71 72
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 } 216 }
216 217
217 void MojoRendererService::OnCdmAttached( 218 void MojoRendererService::OnCdmAttached(
218 const mojo::Callback<void(bool)>& callback, 219 const mojo::Callback<void(bool)>& callback,
219 bool success) { 220 bool success) {
220 DVLOG(1) << __FUNCTION__ << "(" << success << ")"; 221 DVLOG(1) << __FUNCTION__ << "(" << success << ")";
221 callback.Run(success); 222 callback.Run(success);
222 } 223 }
223 224
224 } // namespace media 225 } // namespace media
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_renderer_factory.cc ('k') | media/renderers/default_renderer_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698