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

Side by Side Diff: webrtc/video/vie_encoder.h

Issue 1913073002: Extract common simulcast logic from VP8 wrapper and simulcast adapter (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Bug fix Created 4 years, 7 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 19 matching lines...) Expand all
30 namespace webrtc { 30 namespace webrtc {
31 31
32 class Config; 32 class Config;
33 class EncodedImageCallback; 33 class EncodedImageCallback;
34 class OveruseFrameDetector; 34 class OveruseFrameDetector;
35 class PacedSender; 35 class PacedSender;
36 class PayloadRouter; 36 class PayloadRouter;
37 class ProcessThread; 37 class ProcessThread;
38 class QMVideoSettingsCallback; 38 class QMVideoSettingsCallback;
39 class SendStatisticsProxy; 39 class SendStatisticsProxy;
40 class SimulcastState;
40 class ViEBitrateObserver; 41 class ViEBitrateObserver;
41 class ViEEffectFilter; 42 class ViEEffectFilter;
42 class VideoCodingModule; 43 class VideoCodingModule;
43 class VideoEncoder; 44 class VideoEncoder;
44 45
45 class ViEEncoder : public VideoEncoderRateObserver, 46 class ViEEncoder : public VideoEncoderRateObserver,
46 public EncodedImageCallback, 47 public EncodedImageCallback,
47 public VCMPacketizationCallback, 48 public VCMPacketizationCallback,
48 public VCMSendStatisticsCallback { 49 public VCMSendStatisticsCallback {
49 public: 50 public:
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 OveruseFrameDetector* const overuse_detector_; 139 OveruseFrameDetector* const overuse_detector_;
139 PacedSender* const pacer_; 140 PacedSender* const pacer_;
140 PayloadRouter* const send_payload_router_; 141 PayloadRouter* const send_payload_router_;
141 EncodedImageCallback* const post_encode_callback_; 142 EncodedImageCallback* const post_encode_callback_;
142 143
143 // The time we last received an input frame or encoded frame. This is used to 144 // The time we last received an input frame or encoded frame. This is used to
144 // track when video is stopped long enough that we also want to stop sending 145 // track when video is stopped long enough that we also want to stop sending
145 // padding. 146 // padding.
146 int64_t time_of_last_frame_activity_ms_ GUARDED_BY(data_cs_); 147 int64_t time_of_last_frame_activity_ms_ GUARDED_BY(data_cs_);
147 VideoCodec encoder_config_ GUARDED_BY(data_cs_); 148 VideoCodec encoder_config_ GUARDED_BY(data_cs_);
149 std::unique_ptr<SimulcastState> simulcast_rates_ GUARDED_BY(data_cs_);
pbos-webrtc 2016/04/29 21:23:27 stack alloc please
148 int min_transmit_bitrate_bps_ GUARDED_BY(data_cs_); 150 int min_transmit_bitrate_bps_ GUARDED_BY(data_cs_);
149 uint32_t last_observed_bitrate_bps_ GUARDED_BY(data_cs_); 151 uint32_t last_observed_bitrate_bps_ GUARDED_BY(data_cs_);
150 bool network_is_transmitting_ GUARDED_BY(data_cs_); 152 bool network_is_transmitting_ GUARDED_BY(data_cs_);
151 bool encoder_paused_ GUARDED_BY(data_cs_); 153 bool encoder_paused_ GUARDED_BY(data_cs_);
152 bool encoder_paused_and_dropped_frame_ GUARDED_BY(data_cs_); 154 bool encoder_paused_and_dropped_frame_ GUARDED_BY(data_cs_);
153 std::vector<int64_t> time_last_intra_request_ms_ GUARDED_BY(data_cs_); 155 std::vector<int64_t> time_last_intra_request_ms_ GUARDED_BY(data_cs_);
154 156
155 ProcessThread* module_process_thread_; 157 ProcessThread* module_process_thread_;
156 158
157 bool has_received_sli_ GUARDED_BY(data_cs_); 159 bool has_received_sli_ GUARDED_BY(data_cs_);
158 uint8_t picture_id_sli_ GUARDED_BY(data_cs_); 160 uint8_t picture_id_sli_ GUARDED_BY(data_cs_);
159 bool has_received_rpsi_ GUARDED_BY(data_cs_); 161 bool has_received_rpsi_ GUARDED_BY(data_cs_);
160 uint64_t picture_id_rpsi_ GUARDED_BY(data_cs_); 162 uint64_t picture_id_rpsi_ GUARDED_BY(data_cs_);
161 163
162 bool video_suspended_ GUARDED_BY(data_cs_); 164 bool video_suspended_ GUARDED_BY(data_cs_);
163 165
164 std::unique_ptr<IvfFileWriter> file_writers_[kMaxLayers] GUARDED_BY(data_cs_); 166 std::unique_ptr<IvfFileWriter> file_writers_[kMaxLayers] GUARDED_BY(data_cs_);
165 }; 167 };
166 168
167 } // namespace webrtc 169 } // namespace webrtc
168 170
169 #endif // WEBRTC_VIDEO_VIE_ENCODER_H_ 171 #endif // WEBRTC_VIDEO_VIE_ENCODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698