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

Side by Side Diff: services/media/framework_mojo/mojo_producer.h

Issue 1822333002: Motown: wholesale clang-format (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: dalesat 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 #ifndef SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_ 5 #ifndef SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_
6 #define SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_ 6 #define SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_
7 7
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/synchronization/lock.h" 9 #include "base/synchronization/lock.h"
10 #include "base/task_runner.h" 10 #include "base/task_runner.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 int64_t GetFirstPtsSinceFlush(); 48 int64_t GetFirstPtsSinceFlush();
49 49
50 // ActiveSink implementation. 50 // ActiveSink implementation.
51 PayloadAllocator* allocator() override; 51 PayloadAllocator* allocator() override;
52 52
53 void SetDemandCallback(const DemandCallback& demand_callback) override; 53 void SetDemandCallback(const DemandCallback& demand_callback) override;
54 54
55 Demand SupplyPacket(PacketPtr packet) override; 55 Demand SupplyPacket(PacketPtr packet) override;
56 56
57 // MediaProducer implementation. 57 // MediaProducer implementation.
58 void Connect( 58 void Connect(InterfaceHandle<MediaConsumer> consumer,
59 InterfaceHandle<MediaConsumer> consumer, 59 const ConnectCallback& callback) override;
60 const ConnectCallback& callback) override;
61 60
62 void Disconnect() override; 61 void Disconnect() override;
63 62
64 private: 63 private:
65 MojoProducer(); 64 MojoProducer();
66 65
67 // Sends a packet to the consumer. 66 // Sends a packet to the consumer.
68 // TODO(dalesat): Don't use a raw pointer, if possible. 67 // TODO(dalesat): Don't use a raw pointer, if possible.
69 void SendPacket( 68 void SendPacket(Packet* packet_raw_ptr, MediaPacketPtr media_packet);
70 Packet* packet_raw_ptr,
71 MediaPacketPtr media_packet);
72 69
73 // Sets the current state and calls the registered callback, if there is one. 70 // Sets the current state and calls the registered callback, if there is one.
74 void SetState(MediaState state); 71 void SetState(MediaState state);
75 72
76 // Creates a MediaPacket from a Packet. 73 // Creates a MediaPacket from a Packet.
77 MediaPacketPtr CreateMediaPacket(const PacketPtr& packet); 74 MediaPacketPtr CreateMediaPacket(const PacketPtr& packet);
78 75
79 // Allocates from the shared buffer. 76 // Allocates from the shared buffer.
80 MojoAllocator mojo_allocator_; 77 MojoAllocator mojo_allocator_;
81 78
82 BindingSet<MediaProducer> bindings_; 79 BindingSet<MediaProducer> bindings_;
83 MediaConsumerPtr consumer_; 80 MediaConsumerPtr consumer_;
84 StatusCallback status_callback_; 81 StatusCallback status_callback_;
85 82
86 mutable base::Lock lock_; 83 mutable base::Lock lock_;
87 // THE FIELDS BELOW SHOULD ONLY BE ACCESSED WITH lock_ TAKEN. 84 // THE FIELDS BELOW SHOULD ONLY BE ACCESSED WITH lock_ TAKEN.
88 MediaState state_= MediaState::UNPREPARED; 85 MediaState state_ = MediaState::UNPREPARED;
89 bool end_of_stream_= false; 86 bool end_of_stream_ = false;
90 DemandCallback demand_callback_; 87 DemandCallback demand_callback_;
91 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 88 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
92 int64_t first_pts_since_flush_ = Packet::kUnknownPts; 89 int64_t first_pts_since_flush_ = Packet::kUnknownPts;
93 // TODO(dalesat): Base this logic on presentation time or duration. 90 // TODO(dalesat): Base this logic on presentation time or duration.
94 uint32_t max_pushes_outstanding_ = 0; 91 uint32_t max_pushes_outstanding_ = 0;
95 uint32_t current_pushes_outstanding_ = 0; 92 uint32_t current_pushes_outstanding_ = 0;
96 // THE FIELDS ABOVE SHOULD ONLY BE ACCESSED WITH lock_ TAKEN. 93 // THE FIELDS ABOVE SHOULD ONLY BE ACCESSED WITH lock_ TAKEN.
97 }; 94 };
98 95
99 } // namespace media 96 } // namespace media
100 } // namespace mojo 97 } // namespace mojo
101 98
102 #endif // SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_ 99 #endif // SERVICES_MEDIA_FRAMEWORK_MOJO_PUSH_PRODUCER_BASE_H_
OLDNEW
« no previous file with comments | « services/media/framework_mojo/mojo_formatting.cc ('k') | services/media/framework_mojo/mojo_producer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698