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

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

Issue 2282633002: Integrate Surface requests with MediaPlayerRenderer (Closed)
Patch Set: Switch token type to base::Nonce Created 4 years, 3 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 <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "media/base/audio_renderer_sink.h" 10 #include "media/base/audio_renderer_sink.h"
11 #include "media/base/media_keys.h" 11 #include "media/base/media_keys.h"
12 #include "media/base/media_url_demuxer.h" 12 #include "media/base/media_url_demuxer.h"
13 #include "media/base/renderer.h" 13 #include "media/base/renderer.h"
14 #include "media/base/video_renderer_sink.h" 14 #include "media/base/video_renderer_sink.h"
15 #include "media/mojo/services/demuxer_stream_provider_shim.h" 15 #include "media/mojo/services/demuxer_stream_provider_shim.h"
16 #include "media/mojo/services/mojo_cdm_service_context.h" 16 #include "media/mojo/services/mojo_cdm_service_context.h"
17 17
18 namespace media { 18 namespace media {
19 19
20 // Time interval to update media time. 20 // Time interval to update media time.
21 const int kTimeUpdateIntervalMs = 50; 21 const int kTimeUpdateIntervalMs = 50;
22 22
23 MojoRendererService::MojoRendererService( 23 MojoRendererService::MojoRendererService(
24 base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context, 24 base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context,
25 scoped_refptr<AudioRendererSink> audio_sink, 25 scoped_refptr<AudioRendererSink> audio_sink,
26 std::unique_ptr<VideoRendererSink> video_sink, 26 std::unique_ptr<VideoRendererSink> video_sink,
27 std::unique_ptr<media::Renderer> renderer, 27 std::unique_ptr<media::Renderer> renderer,
28 mojo::InterfaceRequest<mojom::Renderer> request) 28 mojo::InterfaceRequest<mojom::Renderer> request,
29 InitiateSurfaceRequestCB initiate_surface_request_cb)
29 : binding_(this, std::move(request)), 30 : binding_(this, std::move(request)),
30 mojo_cdm_service_context_(mojo_cdm_service_context), 31 mojo_cdm_service_context_(mojo_cdm_service_context),
31 state_(STATE_UNINITIALIZED), 32 state_(STATE_UNINITIALIZED),
32 audio_sink_(std::move(audio_sink)), 33 audio_sink_(std::move(audio_sink)),
33 video_sink_(std::move(video_sink)), 34 video_sink_(std::move(video_sink)),
34 renderer_(std::move(renderer)), 35 renderer_(std::move(renderer)),
36 initiate_surface_request_cb_(initiate_surface_request_cb),
35 weak_factory_(this) { 37 weak_factory_(this) {
36 DVLOG(1) << __FUNCTION__; 38 DVLOG(1) << __FUNCTION__;
37 DCHECK(renderer_); 39 DCHECK(renderer_);
38 40
39 weak_this_ = weak_factory_.GetWeakPtr(); 41 weak_this_ = weak_factory_.GetWeakPtr();
40 } 42 }
41 43
42 MojoRendererService::~MojoRendererService() {} 44 MojoRendererService::~MojoRendererService() {}
43 45
44 void MojoRendererService::Initialize(mojom::RendererClientPtr client, 46 void MojoRendererService::Initialize(mojom::RendererClientPtr client,
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 const base::Callback<void(bool)>& callback, 225 const base::Callback<void(bool)>& callback,
224 bool success) { 226 bool success) {
225 DVLOG(1) << __FUNCTION__ << "(" << success << ")"; 227 DVLOG(1) << __FUNCTION__ << "(" << success << ")";
226 228
227 if (success) 229 if (success)
228 cdm_ = cdm; 230 cdm_ = cdm;
229 231
230 callback.Run(success); 232 callback.Run(success);
231 } 233 }
232 234
235 void MojoRendererService::InitiateScopedSurfaceRequest(
236 const InitiateScopedSurfaceRequestCallback& callback) {
237 bool supported = false;
238 base::Nonce request_token;
239
240 if (!initiate_surface_request_cb_.is_null()) {
241 request_token = initiate_surface_request_cb_.Run();
242 supported = true;
243 }
244
245 callback.Run(supported, request_token);
246 }
233 } // namespace media 247 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698