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

Side by Side Diff: media/cast/net/pacing/paced_sender.h

Issue 655713003: Standardize usage of virtual/override/final in media/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 MEDIA_CAST_NET_PACING_PACED_SENDER_H_ 5 #ifndef MEDIA_CAST_NET_PACING_PACED_SENDER_H_
6 #define MEDIA_CAST_NET_PACING_PACED_SENDER_H_ 6 #define MEDIA_CAST_NET_PACING_PACED_SENDER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 // The |external_transport| should only be used by the Cast receiver and for 82 // The |external_transport| should only be used by the Cast receiver and for
83 // testing. 83 // testing.
84 PacedSender( 84 PacedSender(
85 size_t target_burst_size, // Should normally be kTargetBurstSize. 85 size_t target_burst_size, // Should normally be kTargetBurstSize.
86 size_t max_burst_size, // Should normally be kMaxBurstSize. 86 size_t max_burst_size, // Should normally be kMaxBurstSize.
87 base::TickClock* clock, 87 base::TickClock* clock,
88 LoggingImpl* logging, 88 LoggingImpl* logging,
89 PacketSender* external_transport, 89 PacketSender* external_transport,
90 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner); 90 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner);
91 91
92 virtual ~PacedSender(); 92 ~PacedSender() override;
93 93
94 // These must be called before non-RTCP packets are sent. 94 // These must be called before non-RTCP packets are sent.
95 void RegisterAudioSsrc(uint32 audio_ssrc); 95 void RegisterAudioSsrc(uint32 audio_ssrc);
96 void RegisterVideoSsrc(uint32 video_ssrc); 96 void RegisterVideoSsrc(uint32 video_ssrc);
97 97
98 // Register SSRC that has a higher priority for sending. Multiple SSRCs can 98 // Register SSRC that has a higher priority for sending. Multiple SSRCs can
99 // be registered. 99 // be registered.
100 // Note that it is not expected to register many SSRCs with this method. 100 // Note that it is not expected to register many SSRCs with this method.
101 // Because IsHigherPriority() is determined in linear time. 101 // Because IsHigherPriority() is determined in linear time.
102 void RegisterPrioritySsrc(uint32 ssrc); 102 void RegisterPrioritySsrc(uint32 ssrc);
103 103
104 // Returns the total number of bytes sent to the socket when the specified 104 // Returns the total number of bytes sent to the socket when the specified
105 // packet was just sent. 105 // packet was just sent.
106 // Returns 0 if the packet cannot be found or not yet sent. 106 // Returns 0 if the packet cannot be found or not yet sent.
107 int64 GetLastByteSentForPacket(const PacketKey& packet_key); 107 int64 GetLastByteSentForPacket(const PacketKey& packet_key);
108 108
109 // Returns the total number of bytes sent to the socket when the last payload 109 // Returns the total number of bytes sent to the socket when the last payload
110 // identified by SSRC is just sent. 110 // identified by SSRC is just sent.
111 int64 GetLastByteSentForSsrc(uint32 ssrc); 111 int64 GetLastByteSentForSsrc(uint32 ssrc);
112 112
113 // PacedPacketSender implementation. 113 // PacedPacketSender implementation.
114 virtual bool SendPackets(const SendPacketVector& packets) override; 114 bool SendPackets(const SendPacketVector& packets) override;
115 virtual bool ResendPackets(const SendPacketVector& packets, 115 bool ResendPackets(const SendPacketVector& packets,
116 const DedupInfo& dedup_info) override; 116 const DedupInfo& dedup_info) override;
117 virtual bool SendRtcpPacket(uint32 ssrc, PacketRef packet) override; 117 bool SendRtcpPacket(uint32 ssrc, PacketRef packet) override;
118 virtual void CancelSendingPacket(const PacketKey& packet_key) override; 118 void CancelSendingPacket(const PacketKey& packet_key) override;
119 119
120 private: 120 private:
121 // Actually sends the packets to the transport. 121 // Actually sends the packets to the transport.
122 void SendStoredPackets(); 122 void SendStoredPackets();
123 void LogPacketEvent(const Packet& packet, CastLoggingEvent event); 123 void LogPacketEvent(const Packet& packet, CastLoggingEvent event);
124 124
125 // Returns true if retransmission for packet indexed by |packet_key| is 125 // Returns true if retransmission for packet indexed by |packet_key| is
126 // accepted. |dedup_info| contains information to help deduplicate 126 // accepted. |dedup_info| contains information to help deduplicate
127 // retransmission. |now| is the current time to save on fetching it from the 127 // retransmission. |now| is the current time to save on fetching it from the
128 // clock multiple times. 128 // clock multiple times.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 // NOTE: Weak pointers must be invalidated before all other member variables. 210 // NOTE: Weak pointers must be invalidated before all other member variables.
211 base::WeakPtrFactory<PacedSender> weak_factory_; 211 base::WeakPtrFactory<PacedSender> weak_factory_;
212 212
213 DISALLOW_COPY_AND_ASSIGN(PacedSender); 213 DISALLOW_COPY_AND_ASSIGN(PacedSender);
214 }; 214 };
215 215
216 } // namespace cast 216 } // namespace cast
217 } // namespace media 217 } // namespace media
218 218
219 #endif // MEDIA_CAST_NET_PACING_PACED_SENDER_H_ 219 #endif // MEDIA_CAST_NET_PACING_PACED_SENDER_H_
OLDNEW
« no previous file with comments | « media/cast/net/cast_transport_sender_impl_unittest.cc ('k') | media/cast/net/pacing/paced_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698