| Index: media/mojo/clients/mojo_video_decoder.cc
|
| diff --git a/media/mojo/clients/mojo_video_decoder.cc b/media/mojo/clients/mojo_video_decoder.cc
|
| index efa695d0747adfd87ca07e239ef650f312c1e826..c608bdcd2966e5e3529c689388f23e99f0f071bc 100644
|
| --- a/media/mojo/clients/mojo_video_decoder.cc
|
| +++ b/media/mojo/clients/mojo_video_decoder.cc
|
| @@ -10,11 +10,14 @@
|
| #include "base/location.h"
|
| #include "base/logging.h"
|
| #include "base/single_thread_task_runner.h"
|
| +#include "base/unguessable_token.h"
|
| #include "media/base/decoder_buffer.h"
|
| #include "media/base/demuxer_stream.h"
|
| #include "media/base/video_frame.h"
|
| #include "media/mojo/common/media_type_converters.h"
|
| #include "media/mojo/common/mojo_decoder_buffer_converter.h"
|
| +#include "media/mojo/interfaces/media_types.mojom.h"
|
| +#include "media/renderers/gpu_video_accelerator_factories.h"
|
|
|
| namespace media {
|
|
|
| @@ -23,10 +26,9 @@ MojoVideoDecoder::MojoVideoDecoder(
|
| GpuVideoAcceleratorFactories* gpu_factories,
|
| mojom::VideoDecoderPtr remote_decoder)
|
| : task_runner_(task_runner),
|
| - gpu_factories_(gpu_factories),
|
| remote_decoder_info_(remote_decoder.PassInterface()),
|
| + gpu_factories_(gpu_factories),
|
| client_binding_(this) {
|
| - (void)gpu_factories_;
|
| DVLOG(1) << __func__;
|
| }
|
|
|
| @@ -180,8 +182,19 @@ void MojoVideoDecoder::BindRemoteDecoder() {
|
| mojo_decoder_buffer_writer_ = MojoDecoderBufferWriter::Create(
|
| DemuxerStream::VIDEO, &remote_consumer_handle);
|
|
|
| + media::mojom::CommandBufferIdPtr command_buffer_id;
|
| + if (gpu_factories_) {
|
| + base::UnguessableToken channel_token = gpu_factories_->GetChannelToken();
|
| + if (channel_token) {
|
| + command_buffer_id = media::mojom::CommandBufferId::New();
|
| + command_buffer_id->channel_token = std::move(channel_token);
|
| + command_buffer_id->route_id = gpu_factories_->GetCommandBufferRouteId();
|
| + }
|
| + }
|
| +
|
| remote_decoder_->Construct(std::move(client_ptr_info),
|
| - std::move(remote_consumer_handle));
|
| + std::move(remote_consumer_handle),
|
| + std::move(command_buffer_id));
|
| }
|
|
|
| void MojoVideoDecoder::Stop() {
|
|
|