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

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

Issue 2495483002: Replace SequencedTaskChecker in RTPSenderVideo (Closed)
Patch Set: Add todo Created 4 years, 1 month 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
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 bool SendVideo(RtpVideoCodecTypes video_type, 48 bool SendVideo(RtpVideoCodecTypes video_type,
49 FrameType frame_type, 49 FrameType frame_type,
50 int8_t payload_type, 50 int8_t payload_type,
51 uint32_t capture_timestamp, 51 uint32_t capture_timestamp,
52 int64_t capture_time_ms, 52 int64_t capture_time_ms,
53 const uint8_t* payload_data, 53 const uint8_t* payload_data,
54 size_t payload_size, 54 size_t payload_size,
55 const RTPFragmentationHeader* fragmentation, 55 const RTPFragmentationHeader* fragmentation,
56 const RTPVideoHeader* video_header); 56 const RTPVideoHeader* video_header);
57 57
58 int32_t SendRTPIntraRequest();
59
60 void SetVideoCodecType(RtpVideoCodecTypes type); 58 void SetVideoCodecType(RtpVideoCodecTypes type);
61 59
62 // ULPFEC. 60 // ULPFEC.
63 void SetUlpfecConfig(int red_payload_type, int ulpfec_payload_type); 61 void SetUlpfecConfig(int red_payload_type, int ulpfec_payload_type);
64 void GetUlpfecConfig(int* red_payload_type, int* ulpfec_payload_type) const; 62 void GetUlpfecConfig(int* red_payload_type, int* ulpfec_payload_type) const;
65 63
66 void SetFecParameters(const FecProtectionParams& delta_params, 64 void SetFecParameters(const FecProtectionParams& delta_params,
67 const FecProtectionParams& key_params); 65 const FecProtectionParams& key_params);
68 66
69 uint32_t VideoBitrateSent() const; 67 uint32_t VideoBitrateSent() const;
(...skipping 16 matching lines...) Expand all
86 84
87 bool ulpfec_enabled() const EXCLUSIVE_LOCKS_REQUIRED(crit_) { 85 bool ulpfec_enabled() const EXCLUSIVE_LOCKS_REQUIRED(crit_) {
88 return ulpfec_payload_type_ >= 0; 86 return ulpfec_payload_type_ >= 0;
89 } 87 }
90 88
91 RTPSender* const rtp_sender_; 89 RTPSender* const rtp_sender_;
92 Clock* const clock_; 90 Clock* const clock_;
93 91
94 // Should never be held when calling out of this class. 92 // Should never be held when calling out of this class.
95 rtc::CriticalSection crit_; 93 rtc::CriticalSection crit_;
96 rtc::SequencedTaskChecker encoder_checker_;
97 94
98 RtpVideoCodecTypes video_type_; 95 RtpVideoCodecTypes video_type_;
99 int32_t retransmission_settings_ GUARDED_BY(crit_); 96 int32_t retransmission_settings_ GUARDED_BY(crit_);
100 VideoRotation last_rotation_ GUARDED_BY(encoder_checker_); 97 VideoRotation last_rotation_ GUARDED_BY(crit_);
101 98
102 // RED/ULPFEC. 99 // RED/ULPFEC.
103 int red_payload_type_ GUARDED_BY(crit_); 100 int red_payload_type_ GUARDED_BY(crit_);
104 int ulpfec_payload_type_ GUARDED_BY(crit_); 101 int ulpfec_payload_type_ GUARDED_BY(crit_);
105 FecProtectionParams delta_fec_params_ GUARDED_BY(crit_); 102 FecProtectionParams delta_fec_params_ GUARDED_BY(crit_);
106 FecProtectionParams key_fec_params_ GUARDED_BY(crit_); 103 FecProtectionParams key_fec_params_ GUARDED_BY(crit_);
107 UlpfecGenerator ulpfec_generator_ GUARDED_BY(crit_); 104 UlpfecGenerator ulpfec_generator_ GUARDED_BY(crit_);
108 105
109 rtc::CriticalSection stats_crit_; 106 rtc::CriticalSection stats_crit_;
110 // Bitrate used for FEC payload, RED headers, RTP headers for FEC packets 107 // Bitrate used for FEC payload, RED headers, RTP headers for FEC packets
111 // and any padding overhead. 108 // and any padding overhead.
112 RateStatistics fec_bitrate_ GUARDED_BY(stats_crit_); 109 RateStatistics fec_bitrate_ GUARDED_BY(stats_crit_);
113 // Bitrate used for video payload and RTP headers. 110 // Bitrate used for video payload and RTP headers.
114 RateStatistics video_bitrate_ GUARDED_BY(stats_crit_); 111 RateStatistics video_bitrate_ GUARDED_BY(stats_crit_);
115 OneTimeEvent first_frame_sent_; 112 OneTimeEvent first_frame_sent_;
116 }; 113 };
117 114
118 } // namespace webrtc 115 } // namespace webrtc
119 116
120 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_VIDEO_H_ 117 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_VIDEO_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698