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

Side by Side Diff: services/media/framework_mojo/mojo_consumer.cc

Issue 1814553002: Motown: Improvements to packet definition (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 9 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "services/media/framework_mojo/mojo_consumer.h" 8 #include "services/media/framework_mojo/mojo_consumer.h"
9 9
10 namespace mojo { 10 namespace mojo {
(...skipping 28 matching lines...) Expand all
39 ScopedSharedBufferHandle buffer, 39 ScopedSharedBufferHandle buffer,
40 uint64_t size, 40 uint64_t size,
41 const SetBufferCallback& callback) { 41 const SetBufferCallback& callback) {
42 buffer_.InitFromHandle(buffer.Pass(), size); 42 buffer_.InitFromHandle(buffer.Pass(), size);
43 callback.Run(); 43 callback.Run();
44 } 44 }
45 45
46 void MojoConsumer::SendPacket( 46 void MojoConsumer::SendPacket(
47 MediaPacketPtr media_packet, 47 MediaPacketPtr media_packet,
48 const SendPacketCallback& callback) { 48 const SendPacketCallback& callback) {
49 DCHECK(media_packet);
49 DCHECK(supply_callback_); 50 DCHECK(supply_callback_);
50 supply_callback_(PacketImpl::Create( 51 supply_callback_(PacketImpl::Create(
51 media_packet.Pass(), 52 media_packet.Pass(),
52 callback, 53 callback,
53 task_runner_, 54 task_runner_,
54 buffer_)); 55 buffer_));
55 } 56 }
56 57
57 void MojoConsumer::Prime(const PrimeCallback& callback) { 58 void MojoConsumer::Prime(const PrimeCallback& callback) {
58 if (prime_requested_callback_) { 59 if (prime_requested_callback_) {
(...skipping 11 matching lines...) Expand all
70 LOG(WARNING) << "flush requested but no callback registered"; 71 LOG(WARNING) << "flush requested but no callback registered";
71 callback.Run(); 72 callback.Run();
72 } 73 }
73 } 74 }
74 75
75 bool MojoConsumer::can_accept_allocator() const { 76 bool MojoConsumer::can_accept_allocator() const {
76 return false; 77 return false;
77 } 78 }
78 79
79 void MojoConsumer::set_allocator(PayloadAllocator* allocator) { 80 void MojoConsumer::set_allocator(PayloadAllocator* allocator) {
80 NOTREACHED(); 81 LOG(ERROR) << "set_allocator called on MojoConsumer";
81 } 82 }
82 83
83 void MojoConsumer::SetSupplyCallback(const SupplyCallback& supply_callback) { 84 void MojoConsumer::SetSupplyCallback(const SupplyCallback& supply_callback) {
84 supply_callback_ = supply_callback; 85 supply_callback_ = supply_callback;
85 } 86 }
86 87
87 void MojoConsumer::SetDownstreamDemand(Demand demand) {} 88 void MojoConsumer::SetDownstreamDemand(Demand demand) {}
88 89
89 MojoConsumer::PacketImpl::PacketImpl( 90 MojoConsumer::PacketImpl::PacketImpl(
90 MediaPacketPtr media_packet, 91 MediaPacketPtr media_packet,
91 const SendPacketCallback& callback, 92 const SendPacketCallback& callback,
92 scoped_refptr<base::SingleThreadTaskRunner> task_runner, 93 scoped_refptr<base::SingleThreadTaskRunner> task_runner,
93 const MappedSharedBuffer& buffer) : 94 const MappedSharedBuffer& buffer) :
95 Packet(
96 media_packet->pts,
97 media_packet->end_of_stream,
98 media_packet->payload->length,
99 media_packet->payload->length == 0 ?
100 nullptr :
101 buffer.PtrFromOffset(media_packet->payload->offset)),
94 media_packet_(media_packet.Pass()), 102 media_packet_(media_packet.Pass()),
95 callback_(callback), 103 callback_(callback),
96 task_runner_(task_runner), 104 task_runner_(task_runner) {}
97 payload_(buffer.PtrFromOffset(media_packet_->payload->offset)) {}
98 105
99 MojoConsumer::PacketImpl::~PacketImpl() {} 106 MojoConsumer::PacketImpl::~PacketImpl() {}
100 107
101 // static 108 // static
102 void MojoConsumer::PacketImpl::RunCallback(const SendPacketCallback& callback) { 109 void MojoConsumer::PacketImpl::RunCallback(const SendPacketCallback& callback) {
103 callback.Run(MediaConsumer::SendResult::CONSUMED); 110 callback.Run(MediaConsumer::SendResult::CONSUMED);
104 } 111 }
105 112
106 void MojoConsumer::PacketImpl::Release() { 113 void MojoConsumer::PacketImpl::Release() {
107 // TODO(dalesat): Is there a cleaner way to do this? 114 // TODO(dalesat): Is there a cleaner way to do this?
108 task_runner_->PostTask(FROM_HERE, base::Bind(&RunCallback, callback_)); 115 task_runner_->PostTask(FROM_HERE, base::Bind(&RunCallback, callback_));
109 delete this; 116 delete this;
110 } 117 }
111 118
112 } // namespace media 119 } // namespace media
113 } // namespace mojo 120 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698