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

Side by Side Diff: webrtc/video_engine/vie_channel.h

Issue 1226143013: Merge methods for configuring NACK/FEC/hybrid. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 5 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
« no previous file with comments | « webrtc/video/video_send_stream.cc ('k') | webrtc/video_engine/vie_channel.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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 bool buffered_rendering, 129 bool buffered_rendering,
130 int32_t render_delay); 130 int32_t render_delay);
131 int32_t DeRegisterExternalDecoder(const uint8_t pl_type); 131 int32_t DeRegisterExternalDecoder(const uint8_t pl_type);
132 int32_t ReceiveCodecStatistics(uint32_t* num_key_frames, 132 int32_t ReceiveCodecStatistics(uint32_t* num_key_frames,
133 uint32_t* num_delta_frames); 133 uint32_t* num_delta_frames);
134 uint32_t DiscardedPackets() const; 134 uint32_t DiscardedPackets() const;
135 135
136 // Returns the estimated delay in milliseconds. 136 // Returns the estimated delay in milliseconds.
137 int ReceiveDelay() const; 137 int ReceiveDelay() const;
138 138
139 // If enabled, a key frame request will be sent as soon as there are lost
140 // packets. If |only_key_frames| are set, requests are only sent for loss in
141 // key frames.
142 int32_t SetSignalPacketLossStatus(bool enable, bool only_key_frames);
143
144 void SetRTCPMode(const RTCPMethod rtcp_mode); 139 void SetRTCPMode(const RTCPMethod rtcp_mode);
145 int32_t SetNACKStatus(const bool enable); 140 void SetProtectionMode(bool enable_nack,
146 int32_t SetFECStatus(const bool enable, 141 bool enable_fec,
147 const unsigned char payload_typeRED, 142 int payload_type_red,
148 const unsigned char payload_typeFEC); 143 int payload_type_fec);
149 int32_t SetHybridNACKFECStatus(const bool enable,
150 const unsigned char payload_typeRED,
151 const unsigned char payload_typeFEC);
152 bool IsSendingFecEnabled(); 144 bool IsSendingFecEnabled();
153 int SetSenderBufferingMode(int target_delay_ms); 145 int SetSenderBufferingMode(int target_delay_ms);
154 int SetReceiverBufferingMode(int target_delay_ms); 146 int SetReceiverBufferingMode(int target_delay_ms);
155 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method); 147 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method);
156 void EnableRemb(bool enable); 148 void EnableRemb(bool enable);
157 int SetSendTimestampOffsetStatus(bool enable, int id); 149 int SetSendTimestampOffsetStatus(bool enable, int id);
158 int SetReceiveTimestampOffsetStatus(bool enable, int id); 150 int SetReceiveTimestampOffsetStatus(bool enable, int id);
159 int SetSendAbsoluteSendTimeStatus(bool enable, int id); 151 int SetSendAbsoluteSendTimeStatus(bool enable, int id);
160 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id); 152 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id);
161 int SetSendVideoRotationStatus(bool enable, int id); 153 int SetSendVideoRotationStatus(bool enable, int id);
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 PacedSender* paced_sender, 339 PacedSender* paced_sender,
348 BitrateStatisticsObserver* send_bitrate_observer, 340 BitrateStatisticsObserver* send_bitrate_observer,
349 FrameCountObserver* send_frame_count_observer, 341 FrameCountObserver* send_frame_count_observer,
350 SendSideDelayObserver* send_side_delay_observer, 342 SendSideDelayObserver* send_side_delay_observer,
351 size_t num_modules); 343 size_t num_modules);
352 344
353 // Assumed to be protected. 345 // Assumed to be protected.
354 void StartDecodeThread(); 346 void StartDecodeThread();
355 void StopDecodeThread(); 347 void StopDecodeThread();
356 348
357 int32_t ProcessNACKRequest(const bool enable); 349 void ProcessNACKRequest(const bool enable);
358 int32_t ProcessFECRequest(const bool enable,
359 const unsigned char payload_typeRED,
360 const unsigned char payload_typeFEC);
361 // Compute NACK list parameters for the buffering mode. 350 // Compute NACK list parameters for the buffering mode.
362 int GetRequiredNackListSize(int target_delay_ms); 351 int GetRequiredNackListSize(int target_delay_ms);
363 void SetRtxSendStatus(bool enable); 352 void SetRtxSendStatus(bool enable);
364 353
365 void UpdateHistograms(); 354 void UpdateHistograms();
366 355
367 // ViEChannel exposes methods that allow to modify observers and callbacks 356 // ViEChannel exposes methods that allow to modify observers and callbacks
368 // to be modified. Such an API-style is cumbersome to implement and maintain 357 // to be modified. Such an API-style is cumbersome to implement and maintain
369 // at all the levels when comparing to only setting them at construction. As 358 // at all the levels when comparing to only setting them at construction. As
370 // so this class instantiates its children with a wrapper that can be modified 359 // so this class instantiates its children with a wrapper that can be modified
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_; 488 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_;
500 489
501 // RtpRtcp modules, declared last as they use other members on construction. 490 // RtpRtcp modules, declared last as they use other members on construction.
502 const std::vector<RtpRtcp*> rtp_rtcp_modules_; 491 const std::vector<RtpRtcp*> rtp_rtcp_modules_;
503 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); 492 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_);
504 }; 493 };
505 494
506 } // namespace webrtc 495 } // namespace webrtc
507 496
508 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ 497 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_
OLDNEW
« no previous file with comments | « webrtc/video/video_send_stream.cc ('k') | webrtc/video_engine/vie_channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698