| Index: media/mojo/services/mojo_renderer_service.cc
|
| diff --git a/media/mojo/services/mojo_renderer_service.cc b/media/mojo/services/mojo_renderer_service.cc
|
| index deec2d1d543e3663bd45ac08e04f55eda27e9c76..89cf016b3225873dff571f8bddc9703fb4f1c273 100644
|
| --- a/media/mojo/services/mojo_renderer_service.cc
|
| +++ b/media/mojo/services/mojo_renderer_service.cc
|
| @@ -7,6 +7,7 @@
|
| #include <utility>
|
|
|
| #include "base/bind.h"
|
| +#include "base/optional.h"
|
| #include "media/base/audio_renderer_sink.h"
|
| #include "media/base/media_keys.h"
|
| #include "media/base/media_url_demuxer.h"
|
| @@ -24,13 +25,15 @@ MojoRendererService::MojoRendererService(
|
| base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context,
|
| scoped_refptr<AudioRendererSink> audio_sink,
|
| std::unique_ptr<VideoRendererSink> video_sink,
|
| - std::unique_ptr<media::Renderer> renderer)
|
| + std::unique_ptr<media::Renderer> renderer,
|
| + InitiateSurfaceRequestCB initiate_surface_request_cb)
|
| : mojo_cdm_service_context_(mojo_cdm_service_context),
|
| state_(STATE_UNINITIALIZED),
|
| playback_rate_(0),
|
| audio_sink_(std::move(audio_sink)),
|
| video_sink_(std::move(video_sink)),
|
| renderer_(std::move(renderer)),
|
| + initiate_surface_request_cb_(initiate_surface_request_cb),
|
| weak_factory_(this) {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(renderer_);
|
| @@ -238,4 +241,13 @@ void MojoRendererService::OnCdmAttached(
|
| callback.Run(success);
|
| }
|
|
|
| +void MojoRendererService::InitiateScopedSurfaceRequest(
|
| + const InitiateScopedSurfaceRequestCallback& callback) {
|
| + if (initiate_surface_request_cb_.is_null()) {
|
| + callback.Run(base::nullopt);
|
| + return;
|
| + }
|
| +
|
| + callback.Run(initiate_surface_request_cb_.Run());
|
| +}
|
| } // namespace media
|
|
|