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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_sender.h

Issue 1827953002: Make rtcp sender use max transfer unit. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.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 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 bool inc_sequence_number = true) = 0; 60 bool inc_sequence_number = true) = 0;
61 61
62 virtual size_t RTPHeaderLength() const = 0; 62 virtual size_t RTPHeaderLength() const = 0;
63 // Returns the next sequence number to use for a packet and allocates 63 // Returns the next sequence number to use for a packet and allocates
64 // 'packets_to_send' number of sequence numbers. It's important all allocated 64 // 'packets_to_send' number of sequence numbers. It's important all allocated
65 // sequence numbers are used in sequence to avoid perceived packet loss. 65 // sequence numbers are used in sequence to avoid perceived packet loss.
66 virtual uint16_t AllocateSequenceNumber(uint16_t packets_to_send) = 0; 66 virtual uint16_t AllocateSequenceNumber(uint16_t packets_to_send) = 0;
67 virtual uint16_t SequenceNumber() const = 0; 67 virtual uint16_t SequenceNumber() const = 0;
68 virtual size_t MaxPayloadLength() const = 0; 68 virtual size_t MaxPayloadLength() const = 0;
69 virtual size_t MaxDataPayloadLength() const = 0; 69 virtual size_t MaxDataPayloadLength() const = 0;
70 virtual uint16_t PacketOverHead() const = 0;
71 virtual uint16_t ActualSendBitrateKbit() const = 0; 70 virtual uint16_t ActualSendBitrateKbit() const = 0;
72 71
73 virtual int32_t SendToNetwork(uint8_t* data_buffer, 72 virtual int32_t SendToNetwork(uint8_t* data_buffer,
74 size_t payload_length, 73 size_t payload_length,
75 size_t rtp_header_length, 74 size_t rtp_header_length,
76 int64_t capture_time_ms, 75 int64_t capture_time_ms,
77 StorageType storage, 76 StorageType storage,
78 RtpPacketSender::Priority priority) = 0; 77 RtpPacketSender::Priority priority) = 0;
79 78
80 virtual bool UpdateVideoRotation(uint8_t* rtp_packet, 79 virtual bool UpdateVideoRotation(uint8_t* rtp_packet,
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 void SetStartTimestamp(uint32_t timestamp, bool force); 138 void SetStartTimestamp(uint32_t timestamp, bool force);
140 139
141 uint32_t GenerateNewSSRC(); 140 uint32_t GenerateNewSSRC();
142 void SetSSRC(uint32_t ssrc); 141 void SetSSRC(uint32_t ssrc);
143 142
144 uint16_t SequenceNumber() const override; 143 uint16_t SequenceNumber() const override;
145 void SetSequenceNumber(uint16_t seq); 144 void SetSequenceNumber(uint16_t seq);
146 145
147 void SetCsrcs(const std::vector<uint32_t>& csrcs); 146 void SetCsrcs(const std::vector<uint32_t>& csrcs);
148 147
149 int32_t SetMaxPayloadLength(size_t length, uint16_t packet_over_head); 148 void SetMaxPayloadLength(size_t max_payload_length);
150 149
151 int32_t SendOutgoingData(FrameType frame_type, 150 int32_t SendOutgoingData(FrameType frame_type,
152 int8_t payload_type, 151 int8_t payload_type,
153 uint32_t timestamp, 152 uint32_t timestamp,
154 int64_t capture_time_ms, 153 int64_t capture_time_ms,
155 const uint8_t* payload_data, 154 const uint8_t* payload_data,
156 size_t payload_size, 155 size_t payload_size,
157 const RTPFragmentationHeader* fragmentation, 156 const RTPFragmentationHeader* fragmentation,
158 const RTPVideoHeader* rtp_hdr = NULL); 157 const RTPVideoHeader* rtp_hdr = NULL);
159 158
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 int8_t payload_type, 239 int8_t payload_type,
241 bool marker_bit, 240 bool marker_bit,
242 uint32_t capture_timestamp, 241 uint32_t capture_timestamp,
243 int64_t capture_time_ms, 242 int64_t capture_time_ms,
244 const bool timestamp_provided = true, 243 const bool timestamp_provided = true,
245 const bool inc_sequence_number = true) override; 244 const bool inc_sequence_number = true) override;
246 245
247 size_t RTPHeaderLength() const override; 246 size_t RTPHeaderLength() const override;
248 uint16_t AllocateSequenceNumber(uint16_t packets_to_send) override; 247 uint16_t AllocateSequenceNumber(uint16_t packets_to_send) override;
249 size_t MaxPayloadLength() const override; 248 size_t MaxPayloadLength() const override;
250 uint16_t PacketOverHead() const override;
251 249
252 // Current timestamp. 250 // Current timestamp.
253 uint32_t Timestamp() const override; 251 uint32_t Timestamp() const override;
254 uint32_t SSRC() const override; 252 uint32_t SSRC() const override;
255 253
256 int32_t SendToNetwork(uint8_t* data_buffer, 254 int32_t SendToNetwork(uint8_t* data_buffer,
257 size_t payload_length, 255 size_t payload_length,
258 size_t rtp_header_length, 256 size_t rtp_header_length,
259 int64_t capture_time_ms, 257 int64_t capture_time_ms,
260 StorageType storage, 258 StorageType storage,
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 RtpPacketSender* const paced_sender_; 428 RtpPacketSender* const paced_sender_;
431 TransportSequenceNumberAllocator* const transport_sequence_number_allocator_; 429 TransportSequenceNumberAllocator* const transport_sequence_number_allocator_;
432 TransportFeedbackObserver* const transport_feedback_observer_; 430 TransportFeedbackObserver* const transport_feedback_observer_;
433 int64_t last_capture_time_ms_sent_; 431 int64_t last_capture_time_ms_sent_;
434 rtc::CriticalSection send_critsect_; 432 rtc::CriticalSection send_critsect_;
435 433
436 Transport *transport_; 434 Transport *transport_;
437 bool sending_media_ GUARDED_BY(send_critsect_); 435 bool sending_media_ GUARDED_BY(send_critsect_);
438 436
439 size_t max_payload_length_; 437 size_t max_payload_length_;
440 uint16_t packet_over_head_;
441 438
442 int8_t payload_type_ GUARDED_BY(send_critsect_); 439 int8_t payload_type_ GUARDED_BY(send_critsect_);
443 std::map<int8_t, RtpUtility::Payload*> payload_type_map_; 440 std::map<int8_t, RtpUtility::Payload*> payload_type_map_;
444 441
445 RtpHeaderExtensionMap rtp_header_extension_map_; 442 RtpHeaderExtensionMap rtp_header_extension_map_;
446 int32_t transmission_time_offset_; 443 int32_t transmission_time_offset_;
447 uint32_t absolute_send_time_; 444 uint32_t absolute_send_time_;
448 VideoRotation rotation_; 445 VideoRotation rotation_;
449 CVOMode cvo_mode_; 446 CVOMode cvo_mode_;
450 uint16_t transport_sequence_number_; 447 uint16_t transport_sequence_number_;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 // that the target bitrate is still valid. 491 // that the target bitrate is still valid.
495 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_; 492 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_;
496 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_); 493 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_);
497 494
498 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender); 495 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender);
499 }; 496 };
500 497
501 } // namespace webrtc 498 } // namespace webrtc
502 499
503 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_ 500 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698