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

Side by Side Diff: webrtc/modules/video_coding/video_coding_impl.h

Issue 1972083002: Move logic for calculating needed bitrate overhead used by NACK and FEC to VideoSender. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Addressed Åsas comments. Created 4 years, 6 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 void RegisterExternalEncoder(VideoEncoder* externalEncoder, 72 void RegisterExternalEncoder(VideoEncoder* externalEncoder,
73 uint8_t payloadType, 73 uint8_t payloadType,
74 bool internalSource); 74 bool internalSource);
75 75
76 int Bitrate(unsigned int* bitrate) const; 76 int Bitrate(unsigned int* bitrate) const;
77 int FrameRate(unsigned int* framerate) const; 77 int FrameRate(unsigned int* framerate) const;
78 78
79 int32_t SetChannelParameters(uint32_t target_bitrate, // bits/s. 79 int32_t SetChannelParameters(uint32_t target_bitrate, // bits/s.
80 uint8_t lossRate, 80 uint8_t lossRate,
81 int64_t rtt); 81 int64_t rtt);
82 82 // Deprecated:
83 // TODO(perkj): Remove once no projects use it.
83 int32_t RegisterProtectionCallback(VCMProtectionCallback* protection); 84 int32_t RegisterProtectionCallback(VCMProtectionCallback* protection);
84 void SetVideoProtection(VCMVideoProtection videoProtection);
85 85
86 int32_t AddVideoFrame(const VideoFrame& videoFrame, 86 int32_t AddVideoFrame(const VideoFrame& videoFrame,
87 const CodecSpecificInfo* codecSpecificInfo); 87 const CodecSpecificInfo* codecSpecificInfo);
88 88
89 int32_t IntraFrameRequest(size_t stream_index); 89 int32_t IntraFrameRequest(size_t stream_index);
90 int32_t EnableFrameDropper(bool enable); 90 int32_t EnableFrameDropper(bool enable);
91 91
92 void SuspendBelowMinBitrate(); 92 void SuspendBelowMinBitrate();
93 bool VideoSuspended() const; 93 bool VideoSuspended() const;
94 94
(...skipping 12 matching lines...) Expand all
107 VCMEncodedFrameCallback _encodedFrameCallback GUARDED_BY(encoder_crit_); 107 VCMEncodedFrameCallback _encodedFrameCallback GUARDED_BY(encoder_crit_);
108 VCMSendStatisticsCallback* const send_stats_callback_; 108 VCMSendStatisticsCallback* const send_stats_callback_;
109 VCMCodecDataBase _codecDataBase GUARDED_BY(encoder_crit_); 109 VCMCodecDataBase _codecDataBase GUARDED_BY(encoder_crit_);
110 bool frame_dropper_enabled_ GUARDED_BY(encoder_crit_); 110 bool frame_dropper_enabled_ GUARDED_BY(encoder_crit_);
111 VCMProcessTimer _sendStatsTimer; 111 VCMProcessTimer _sendStatsTimer;
112 112
113 // Must be accessed on the construction thread of VideoSender. 113 // Must be accessed on the construction thread of VideoSender.
114 VideoCodec current_codec_; 114 VideoCodec current_codec_;
115 rtc::ThreadChecker main_thread_; 115 rtc::ThreadChecker main_thread_;
116 116
117 VCMProtectionCallback* protection_callback_;
118 117
119 rtc::CriticalSection params_crit_; 118 rtc::CriticalSection params_crit_;
120 EncoderParameters encoder_params_ GUARDED_BY(params_crit_); 119 EncoderParameters encoder_params_ GUARDED_BY(params_crit_);
121 bool encoder_has_internal_source_ GUARDED_BY(params_crit_); 120 bool encoder_has_internal_source_ GUARDED_BY(params_crit_);
122 std::string encoder_name_ GUARDED_BY(params_crit_); 121 std::string encoder_name_ GUARDED_BY(params_crit_);
123 std::vector<FrameType> next_frame_types_ GUARDED_BY(params_crit_); 122 std::vector<FrameType> next_frame_types_ GUARDED_BY(params_crit_);
124 }; 123 };
125 124
126 class VideoReceiver : public Module { 125 class VideoReceiver : public Module {
127 public: 126 public:
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 VCMProcessTimer _receiveStatsTimer; 207 VCMProcessTimer _receiveStatsTimer;
209 VCMProcessTimer _retransmissionTimer; 208 VCMProcessTimer _retransmissionTimer;
210 VCMProcessTimer _keyRequestTimer; 209 VCMProcessTimer _keyRequestTimer;
211 QpParser qp_parser_; 210 QpParser qp_parser_;
212 ThreadUnsafeOneTimeEvent first_frame_received_; 211 ThreadUnsafeOneTimeEvent first_frame_received_;
213 }; 212 };
214 213
215 } // namespace vcm 214 } // namespace vcm
216 } // namespace webrtc 215 } // namespace webrtc
217 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ 216 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/video_coding.gypi ('k') | webrtc/modules/video_coding/video_coding_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698