| Index: content/common/gpu/media/media_channel.cc
|
| diff --git a/content/common/gpu/media/media_channel.cc b/content/common/gpu/media/media_channel.cc
|
| deleted file mode 100644
|
| index e23e296c73243bb87d462861e2cf8162baf22306..0000000000000000000000000000000000000000
|
| --- a/content/common/gpu/media/media_channel.cc
|
| +++ /dev/null
|
| @@ -1,145 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/common/gpu/media/media_channel.h"
|
| -
|
| -#include "content/common/gpu/media/gpu_video_decode_accelerator.h"
|
| -#include "content/common/gpu/media/gpu_video_encode_accelerator.h"
|
| -#include "gpu/ipc/service/gpu_channel.h"
|
| -#include "media/gpu/ipc/common/media_messages.h"
|
| -
|
| -namespace content {
|
| -
|
| -namespace {
|
| -
|
| -void SendCreateJpegDecoderResult(
|
| - std::unique_ptr<IPC::Message> reply_message,
|
| - scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
|
| - base::WeakPtr<gpu::GpuChannel> channel,
|
| - scoped_refptr<gpu::GpuChannelMessageFilter> filter,
|
| - bool result) {
|
| - GpuChannelMsg_CreateJpegDecoder::WriteReplyParams(reply_message.get(),
|
| - result);
|
| - if (io_task_runner->BelongsToCurrentThread()) {
|
| - filter->Send(reply_message.release());
|
| - } else if (channel) {
|
| - channel->Send(reply_message.release());
|
| - }
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class MediaChannelDispatchHelper {
|
| - public:
|
| - MediaChannelDispatchHelper(MediaChannel* channel, int32_t routing_id)
|
| - : channel_(channel), routing_id_(routing_id) {}
|
| -
|
| - bool Send(IPC::Message* msg) { return channel_->Send(msg); }
|
| -
|
| - void OnCreateVideoDecoder(const media::VideoDecodeAccelerator::Config& config,
|
| - int32_t decoder_route_id,
|
| - IPC::Message* reply_message) {
|
| - channel_->OnCreateVideoDecoder(routing_id_, config, decoder_route_id,
|
| - reply_message);
|
| - }
|
| -
|
| - void OnCreateVideoEncoder(const media::CreateVideoEncoderParams& params,
|
| - IPC::Message* reply_message) {
|
| - channel_->OnCreateVideoEncoder(routing_id_, params, reply_message);
|
| - }
|
| -
|
| - private:
|
| - MediaChannel* const channel_;
|
| - const int32_t routing_id_;
|
| - DISALLOW_COPY_AND_ASSIGN(MediaChannelDispatchHelper);
|
| -};
|
| -
|
| -MediaChannel::MediaChannel(gpu::GpuChannel* channel) : channel_(channel) {}
|
| -
|
| -MediaChannel::~MediaChannel() {}
|
| -
|
| -bool MediaChannel::Send(IPC::Message* msg) {
|
| - return channel_->Send(msg);
|
| -}
|
| -
|
| -bool MediaChannel::OnMessageReceived(const IPC::Message& message) {
|
| - MediaChannelDispatchHelper helper(this, message.routing_id());
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(MediaChannel, message)
|
| - IPC_MESSAGE_FORWARD_DELAY_REPLY(
|
| - GpuCommandBufferMsg_CreateVideoDecoder, &helper,
|
| - MediaChannelDispatchHelper::OnCreateVideoDecoder)
|
| - IPC_MESSAGE_FORWARD_DELAY_REPLY(
|
| - GpuCommandBufferMsg_CreateVideoEncoder, &helper,
|
| - MediaChannelDispatchHelper::OnCreateVideoEncoder)
|
| - IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuChannelMsg_CreateJpegDecoder,
|
| - OnCreateJpegDecoder)
|
| - IPC_MESSAGE_UNHANDLED(handled = false)
|
| - IPC_END_MESSAGE_MAP()
|
| - return handled;
|
| -}
|
| -
|
| -void MediaChannel::OnCreateJpegDecoder(int32_t route_id,
|
| - IPC::Message* reply_msg) {
|
| - std::unique_ptr<IPC::Message> msg(reply_msg);
|
| - if (!jpeg_decoder_) {
|
| - jpeg_decoder_.reset(
|
| - new GpuJpegDecodeAccelerator(channel_, channel_->io_task_runner()));
|
| - }
|
| - jpeg_decoder_->AddClient(
|
| - route_id, base::Bind(&SendCreateJpegDecoderResult, base::Passed(&msg),
|
| - channel_->io_task_runner(), channel_->AsWeakPtr(),
|
| - make_scoped_refptr(channel_->filter())));
|
| -}
|
| -
|
| -void MediaChannel::OnCreateVideoDecoder(
|
| - int32_t command_buffer_route_id,
|
| - const media::VideoDecodeAccelerator::Config& config,
|
| - int32_t decoder_route_id,
|
| - IPC::Message* reply_message) {
|
| - TRACE_EVENT0("gpu", "MediaChannel::OnCreateVideoDecoder");
|
| - gpu::GpuCommandBufferStub* stub =
|
| - channel_->LookupCommandBuffer(command_buffer_route_id);
|
| - if (!stub) {
|
| - reply_message->set_reply_error();
|
| - Send(reply_message);
|
| - return;
|
| - }
|
| - GpuVideoDecodeAccelerator* decoder = new GpuVideoDecodeAccelerator(
|
| - decoder_route_id, stub, stub->channel()->io_task_runner());
|
| - bool succeeded = decoder->Initialize(config);
|
| - GpuCommandBufferMsg_CreateVideoDecoder::WriteReplyParams(reply_message,
|
| - succeeded);
|
| - Send(reply_message);
|
| -
|
| - // decoder is registered as a DestructionObserver of this stub and will
|
| - // self-delete during destruction of this stub.
|
| -}
|
| -
|
| -void MediaChannel::OnCreateVideoEncoder(
|
| - int32_t command_buffer_route_id,
|
| - const media::CreateVideoEncoderParams& params,
|
| - IPC::Message* reply_message) {
|
| - TRACE_EVENT0("gpu", "MediaChannel::OnCreateVideoEncoder");
|
| - gpu::GpuCommandBufferStub* stub =
|
| - channel_->LookupCommandBuffer(command_buffer_route_id);
|
| - if (!stub) {
|
| - reply_message->set_reply_error();
|
| - Send(reply_message);
|
| - return;
|
| - }
|
| - GpuVideoEncodeAccelerator* encoder =
|
| - new GpuVideoEncodeAccelerator(params.encoder_route_id, stub);
|
| - bool succeeded =
|
| - encoder->Initialize(params.input_format, params.input_visible_size,
|
| - params.output_profile, params.initial_bitrate);
|
| - GpuCommandBufferMsg_CreateVideoEncoder::WriteReplyParams(reply_message,
|
| - succeeded);
|
| - Send(reply_message);
|
| -
|
| - // encoder is registered as a DestructionObserver of this stub and will
|
| - // self-delete during destruction of this stub.
|
| -}
|
| -
|
| -} // namespace content
|
|
|