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

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

Issue 2740163002: Don't allocate any RTPSender object for a receive only RtpRtcp module (Closed)
Patch Set: Allow ModuleRtpRtcpImpl::SetSendingStatus(true) on a receive-only module. Created 3 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 /* 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
11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_
12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_
13 13
14 #include <memory>
14 #include <set> 15 #include <set>
15 #include <utility> 16 #include <utility>
16 #include <vector> 17 #include <vector>
17 18
18 #include "webrtc/base/criticalsection.h" 19 #include "webrtc/base/criticalsection.h"
19 #include "webrtc/base/gtest_prod_util.h" 20 #include "webrtc/base/gtest_prod_util.h"
20 #include "webrtc/base/optional.h" 21 #include "webrtc/base/optional.h"
21 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" 22 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
22 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 23 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
23 #include "webrtc/modules/rtp_rtcp/source/packet_loss_stats.h" 24 #include "webrtc/modules/rtp_rtcp/source/packet_loss_stats.h"
(...skipping 26 matching lines...) Expand all
50 51
51 int32_t RegisterSendPayload(const CodecInst& voice_codec) override; 52 int32_t RegisterSendPayload(const CodecInst& voice_codec) override;
52 53
53 int32_t RegisterSendPayload(const VideoCodec& video_codec) override; 54 int32_t RegisterSendPayload(const VideoCodec& video_codec) override;
54 55
55 void RegisterVideoSendPayload(int payload_type, 56 void RegisterVideoSendPayload(int payload_type,
56 const char* payload_name) override; 57 const char* payload_name) override;
57 58
58 int32_t DeRegisterSendPayload(int8_t payload_type) override; 59 int32_t DeRegisterSendPayload(int8_t payload_type) override;
59 60
60 int8_t SendPayloadType() const;
danilchap 2017/03/10 15:48:12 may be delete this method in another, tiny CL.
nisse-webrtc 2017/03/13 08:20:10 I can do that, to reduce the risk of downstream br
61
62 // Register RTP header extension. 61 // Register RTP header extension.
63 int32_t RegisterSendRtpHeaderExtension(RTPExtensionType type, 62 int32_t RegisterSendRtpHeaderExtension(RTPExtensionType type,
64 uint8_t id) override; 63 uint8_t id) override;
65 64
66 int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) override; 65 int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) override;
67 66
68 bool HasBweExtensions() const override; 67 bool HasBweExtensions() const override;
69 68
70 // Get start timestamp. 69 // Get start timestamp.
71 uint32_t StartTimestamp() const override; 70 uint32_t StartTimestamp() const override;
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 const std::vector<uint16_t>& nack_sequence_numbers) override; 306 const std::vector<uint16_t>& nack_sequence_numbers) override;
308 void OnReceivedRtcpReportBlocks( 307 void OnReceivedRtcpReportBlocks(
309 const ReportBlockList& report_blocks) override; 308 const ReportBlockList& report_blocks) override;
310 void OnRequestSendReport() override; 309 void OnRequestSendReport() override;
311 310
312 void SetVideoBitrateAllocation(const BitrateAllocation& bitrate) override; 311 void SetVideoBitrateAllocation(const BitrateAllocation& bitrate) override;
313 312
314 protected: 313 protected:
315 bool UpdateRTCPReceiveInformationTimers(); 314 bool UpdateRTCPReceiveInformationTimers();
316 315
317 RTPSender rtp_sender_; 316 std::unique_ptr<RTPSender> rtp_sender_;
318 317
319 RTCPSender rtcp_sender_; 318 RTCPSender rtcp_sender_;
320 RTCPReceiver rtcp_receiver_; 319 RTCPReceiver rtcp_receiver_;
321 320
322 Clock* clock_; 321 Clock* clock_;
323 322
324 private: 323 private:
325 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, Rtt); 324 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, Rtt);
326 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, RttForReceiverOnly); 325 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, RttForReceiverOnly);
327 int64_t RtcpReportInterval(); 326 int64_t RtcpReportInterval();
(...skipping 25 matching lines...) Expand all
353 PacketLossStats receive_loss_stats_; 352 PacketLossStats receive_loss_stats_;
354 353
355 // The processed RTT from RtcpRttStats. 354 // The processed RTT from RtcpRttStats.
356 rtc::CriticalSection critical_section_rtt_; 355 rtc::CriticalSection critical_section_rtt_;
357 int64_t rtt_ms_; 356 int64_t rtt_ms_;
358 }; 357 };
359 358
360 } // namespace webrtc 359 } // namespace webrtc
361 360
362 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ 361 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698