| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/common/gpu/media/gpu_video_decode_accelerator.h" | 5 #include "content/common/gpu/media/gpu_video_decode_accelerator.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 public: | 69 public: |
| 70 explicit DebugAutoLock(base::Lock&) {} | 70 explicit DebugAutoLock(base::Lock&) {} |
| 71 }; | 71 }; |
| 72 #endif | 72 #endif |
| 73 | 73 |
| 74 class GpuVideoDecodeAccelerator::MessageFilter : public IPC::MessageFilter { | 74 class GpuVideoDecodeAccelerator::MessageFilter : public IPC::MessageFilter { |
| 75 public: | 75 public: |
| 76 MessageFilter(GpuVideoDecodeAccelerator* owner, int32 host_route_id) | 76 MessageFilter(GpuVideoDecodeAccelerator* owner, int32 host_route_id) |
| 77 : owner_(owner), host_route_id_(host_route_id) {} | 77 : owner_(owner), host_route_id_(host_route_id) {} |
| 78 | 78 |
| 79 virtual void OnChannelError() override { sender_ = NULL; } | 79 void OnChannelError() override { sender_ = NULL; } |
| 80 | 80 |
| 81 virtual void OnChannelClosing() override { sender_ = NULL; } | 81 void OnChannelClosing() override { sender_ = NULL; } |
| 82 | 82 |
| 83 virtual void OnFilterAdded(IPC::Sender* sender) override { | 83 void OnFilterAdded(IPC::Sender* sender) override { sender_ = sender; } |
| 84 sender_ = sender; | |
| 85 } | |
| 86 | 84 |
| 87 virtual void OnFilterRemoved() override { | 85 void OnFilterRemoved() override { |
| 88 // This will delete |owner_| and |this|. | 86 // This will delete |owner_| and |this|. |
| 89 owner_->OnFilterRemoved(); | 87 owner_->OnFilterRemoved(); |
| 90 } | 88 } |
| 91 | 89 |
| 92 virtual bool OnMessageReceived(const IPC::Message& msg) override { | 90 bool OnMessageReceived(const IPC::Message& msg) override { |
| 93 if (msg.routing_id() != host_route_id_) | 91 if (msg.routing_id() != host_route_id_) |
| 94 return false; | 92 return false; |
| 95 | 93 |
| 96 IPC_BEGIN_MESSAGE_MAP(MessageFilter, msg) | 94 IPC_BEGIN_MESSAGE_MAP(MessageFilter, msg) |
| 97 IPC_MESSAGE_FORWARD(AcceleratedVideoDecoderMsg_Decode, owner_, | 95 IPC_MESSAGE_FORWARD(AcceleratedVideoDecoderMsg_Decode, owner_, |
| 98 GpuVideoDecodeAccelerator::OnDecode) | 96 GpuVideoDecodeAccelerator::OnDecode) |
| 99 IPC_MESSAGE_UNHANDLED(return false;) | 97 IPC_MESSAGE_UNHANDLED(return false;) |
| 100 IPC_END_MESSAGE_MAP() | 98 IPC_END_MESSAGE_MAP() |
| 101 return true; | 99 return true; |
| 102 } | 100 } |
| 103 | 101 |
| 104 bool SendOnIOThread(IPC::Message* message) { | 102 bool SendOnIOThread(IPC::Message* message) { |
| 105 DCHECK(!message->is_sync()); | 103 DCHECK(!message->is_sync()); |
| 106 if (!sender_) { | 104 if (!sender_) { |
| 107 delete message; | 105 delete message; |
| 108 return false; | 106 return false; |
| 109 } | 107 } |
| 110 return sender_->Send(message); | 108 return sender_->Send(message); |
| 111 } | 109 } |
| 112 | 110 |
| 113 protected: | 111 protected: |
| 114 virtual ~MessageFilter() {} | 112 ~MessageFilter() override {} |
| 115 | 113 |
| 116 private: | 114 private: |
| 117 GpuVideoDecodeAccelerator* owner_; | 115 GpuVideoDecodeAccelerator* owner_; |
| 118 int32 host_route_id_; | 116 int32 host_route_id_; |
| 119 // The sender to which this filter was added. | 117 // The sender to which this filter was added. |
| 120 IPC::Sender* sender_; | 118 IPC::Sender* sender_; |
| 121 }; | 119 }; |
| 122 | 120 |
| 123 GpuVideoDecodeAccelerator::GpuVideoDecodeAccelerator( | 121 GpuVideoDecodeAccelerator::GpuVideoDecodeAccelerator( |
| 124 int32 host_route_id, | 122 int32 host_route_id, |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 return stub_->channel()->Send(message); | 505 return stub_->channel()->Send(message); |
| 508 } | 506 } |
| 509 | 507 |
| 510 void GpuVideoDecodeAccelerator::SendCreateDecoderReply(IPC::Message* message, | 508 void GpuVideoDecodeAccelerator::SendCreateDecoderReply(IPC::Message* message, |
| 511 bool succeeded) { | 509 bool succeeded) { |
| 512 GpuCommandBufferMsg_CreateVideoDecoder::WriteReplyParams(message, succeeded); | 510 GpuCommandBufferMsg_CreateVideoDecoder::WriteReplyParams(message, succeeded); |
| 513 Send(message); | 511 Send(message); |
| 514 } | 512 } |
| 515 | 513 |
| 516 } // namespace content | 514 } // namespace content |
| OLD | NEW |