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

Side by Side Diff: media/cast/sender/frame_sender.h

Issue 1905763002: Convert //media/cast from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 // This is the base class for an object that send frames to a receiver. 5 // This is the base class for an object that send frames to a receiver.
6 // TODO(hclam): Refactor such that there is no separate AudioSender vs. 6 // TODO(hclam): Refactor such that there is no separate AudioSender vs.
7 // VideoSender, and the functionality of both is rolled into this class. 7 // VideoSender, and the functionality of both is rolled into this class.
8 8
9 #ifndef MEDIA_CAST_SENDER_FRAME_SENDER_H_ 9 #ifndef MEDIA_CAST_SENDER_FRAME_SENDER_H_
10 #define MEDIA_CAST_SENDER_FRAME_SENDER_H_ 10 #define MEDIA_CAST_SENDER_FRAME_SENDER_H_
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 // Calling this function is only valid if the receiver supports the 44 // Calling this function is only valid if the receiver supports the
45 // "extra_playout_delay", rtp extension. 45 // "extra_playout_delay", rtp extension.
46 void SetTargetPlayoutDelay(base::TimeDelta new_target_playout_delay); 46 void SetTargetPlayoutDelay(base::TimeDelta new_target_playout_delay);
47 47
48 base::TimeDelta GetTargetPlayoutDelay() const { 48 base::TimeDelta GetTargetPlayoutDelay() const {
49 return target_playout_delay_; 49 return target_playout_delay_;
50 } 50 }
51 51
52 // Called by the encoder with the next EncodeFrame to send. 52 // Called by the encoder with the next EncodeFrame to send.
53 void SendEncodedFrame(int requested_bitrate_before_encode, 53 void SendEncodedFrame(int requested_bitrate_before_encode,
54 scoped_ptr<SenderEncodedFrame> encoded_frame); 54 std::unique_ptr<SenderEncodedFrame> encoded_frame);
55 55
56 protected: 56 protected:
57 // Returns the number of frames in the encoder's backlog. 57 // Returns the number of frames in the encoder's backlog.
58 virtual int GetNumberOfFramesInEncoder() const = 0; 58 virtual int GetNumberOfFramesInEncoder() const = 0;
59 59
60 // Returns the duration of the data in the encoder's backlog plus the duration 60 // Returns the duration of the data in the encoder's backlog plus the duration
61 // of sent, unacknowledged frames. 61 // of sent, unacknowledged frames.
62 virtual base::TimeDelta GetInFlightMediaDuration() const = 0; 62 virtual base::TimeDelta GetInFlightMediaDuration() const = 0;
63 63
64 protected: 64 protected:
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 uint32_t latest_acked_frame_id_; 157 uint32_t latest_acked_frame_id_;
158 158
159 // Counts the number of duplicate ACK that are being received. When this 159 // Counts the number of duplicate ACK that are being received. When this
160 // number reaches a threshold, the sender will take this as a sign that the 160 // number reaches a threshold, the sender will take this as a sign that the
161 // receiver hasn't yet received the first packet of the next frame. In this 161 // receiver hasn't yet received the first packet of the next frame. In this
162 // case, VideoSender will trigger a re-send of the next frame. 162 // case, VideoSender will trigger a re-send of the next frame.
163 int duplicate_ack_counter_; 163 int duplicate_ack_counter_;
164 164
165 // This object controls how we change the bitrate to make sure the 165 // This object controls how we change the bitrate to make sure the
166 // buffer doesn't overflow. 166 // buffer doesn't overflow.
167 scoped_ptr<CongestionControl> congestion_control_; 167 std::unique_ptr<CongestionControl> congestion_control_;
168 168
169 // The most recently measured round trip time. 169 // The most recently measured round trip time.
170 base::TimeDelta current_round_trip_time_; 170 base::TimeDelta current_round_trip_time_;
171 171
172 // This flag is set true when a Pli message is received. It is cleared once 172 // This flag is set true when a Pli message is received. It is cleared once
173 // the FrameSender scheduled an encoded key frame to be sent. 173 // the FrameSender scheduled an encoded key frame to be sent.
174 bool picture_lost_at_receiver_; 174 bool picture_lost_at_receiver_;
175 175
176 private: 176 private:
177 // Returns the maximum media duration currently allowed in-flight. This 177 // Returns the maximum media duration currently allowed in-flight. This
(...skipping 14 matching lines...) Expand all
192 // NOTE: Weak pointers must be invalidated before all other member variables. 192 // NOTE: Weak pointers must be invalidated before all other member variables.
193 base::WeakPtrFactory<FrameSender> weak_factory_; 193 base::WeakPtrFactory<FrameSender> weak_factory_;
194 194
195 DISALLOW_COPY_AND_ASSIGN(FrameSender); 195 DISALLOW_COPY_AND_ASSIGN(FrameSender);
196 }; 196 };
197 197
198 } // namespace cast 198 } // namespace cast
199 } // namespace media 199 } // namespace media
200 200
201 #endif // MEDIA_CAST_SENDER_FRAME_SENDER_H_ 201 #endif // MEDIA_CAST_SENDER_FRAME_SENDER_H_
OLDNEW
« no previous file with comments | « media/cast/sender/fake_video_encode_accelerator_factory.h ('k') | media/cast/sender/frame_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698