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

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

Issue 1247293002: Add support for transport wide sequence numbers (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Moved SendTimeHistory, comment Created 5 years, 4 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 friend class ViEChannelProtectionCallback; 97 friend class ViEChannelProtectionCallback;
98 98
99 ViEChannel(int32_t channel_id, 99 ViEChannel(int32_t channel_id,
100 int32_t engine_id, 100 int32_t engine_id,
101 uint32_t number_of_cores, 101 uint32_t number_of_cores,
102 const Config& config, 102 const Config& config,
103 Transport* transport, 103 Transport* transport,
104 ProcessThread* module_process_thread, 104 ProcessThread* module_process_thread,
105 RtcpIntraFrameObserver* intra_frame_observer, 105 RtcpIntraFrameObserver* intra_frame_observer,
106 RtcpBandwidthObserver* bandwidth_observer, 106 RtcpBandwidthObserver* bandwidth_observer,
107 SendTimeObserver* send_time_observer,
107 RemoteBitrateEstimator* remote_bitrate_estimator, 108 RemoteBitrateEstimator* remote_bitrate_estimator,
108 RtcpRttStats* rtt_stats, 109 RtcpRttStats* rtt_stats,
109 PacedSender* paced_sender, 110 PacedSender* paced_sender,
110 PacketRouter* packet_router, 111 PacketRouter* packet_router,
111 size_t max_rtp_streams, 112 size_t max_rtp_streams,
112 bool sender, 113 bool sender,
113 bool disable_default_encoder); 114 bool disable_default_encoder);
114 ~ViEChannel(); 115 ~ViEChannel();
115 116
116 int32_t Init(); 117 int32_t Init();
(...skipping 28 matching lines...) Expand all
145 int SetSenderBufferingMode(int target_delay_ms); 146 int SetSenderBufferingMode(int target_delay_ms);
146 int SetReceiverBufferingMode(int target_delay_ms); 147 int SetReceiverBufferingMode(int target_delay_ms);
147 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method); 148 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method);
148 void EnableRemb(bool enable); 149 void EnableRemb(bool enable);
149 int SetSendTimestampOffsetStatus(bool enable, int id); 150 int SetSendTimestampOffsetStatus(bool enable, int id);
150 int SetReceiveTimestampOffsetStatus(bool enable, int id); 151 int SetReceiveTimestampOffsetStatus(bool enable, int id);
151 int SetSendAbsoluteSendTimeStatus(bool enable, int id); 152 int SetSendAbsoluteSendTimeStatus(bool enable, int id);
152 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id); 153 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id);
153 int SetSendVideoRotationStatus(bool enable, int id); 154 int SetSendVideoRotationStatus(bool enable, int id);
154 int SetReceiveVideoRotationStatus(bool enable, int id); 155 int SetReceiveVideoRotationStatus(bool enable, int id);
156 int SetSendTransportSequenceNumber(bool enable, int id);
157 int SetReceiveTransportSequenceNumber(bool enable, int id);
155 void SetRtcpXrRrtrStatus(bool enable); 158 void SetRtcpXrRrtrStatus(bool enable);
156 void SetTransmissionSmoothingStatus(bool enable); 159 void SetTransmissionSmoothingStatus(bool enable);
157 void EnableTMMBR(bool enable); 160 void EnableTMMBR(bool enable);
158 161
159 // Sets SSRC for outgoing stream. 162 // Sets SSRC for outgoing stream.
160 int32_t SetSSRC(const uint32_t SSRC, 163 int32_t SetSSRC(const uint32_t SSRC,
161 const StreamType usage, 164 const StreamType usage,
162 const unsigned char simulcast_idx); 165 const unsigned char simulcast_idx);
163 166
164 // Gets SSRC for outgoing stream number |idx|. 167 // Gets SSRC for outgoing stream number |idx|.
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 uint32_t* sent_fec_rate_bps); 329 uint32_t* sent_fec_rate_bps);
327 330
328 private: 331 private:
329 static std::vector<RtpRtcp*> CreateRtpRtcpModules( 332 static std::vector<RtpRtcp*> CreateRtpRtcpModules(
330 int32_t id, 333 int32_t id,
331 bool receiver_only, 334 bool receiver_only,
332 ReceiveStatistics* receive_statistics, 335 ReceiveStatistics* receive_statistics,
333 Transport* outgoing_transport, 336 Transport* outgoing_transport,
334 RtcpIntraFrameObserver* intra_frame_callback, 337 RtcpIntraFrameObserver* intra_frame_callback,
335 RtcpBandwidthObserver* bandwidth_callback, 338 RtcpBandwidthObserver* bandwidth_callback,
339 SendTimeObserver* send_time_observer,
336 RtcpRttStats* rtt_stats, 340 RtcpRttStats* rtt_stats,
337 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer, 341 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer,
338 RemoteBitrateEstimator* remote_bitrate_estimator, 342 RemoteBitrateEstimator* remote_bitrate_estimator,
339 PacedSender* paced_sender, 343 PacedSender* paced_sender,
344 PacketRouter* packet_router,
340 BitrateStatisticsObserver* send_bitrate_observer, 345 BitrateStatisticsObserver* send_bitrate_observer,
341 FrameCountObserver* send_frame_count_observer, 346 FrameCountObserver* send_frame_count_observer,
342 SendSideDelayObserver* send_side_delay_observer, 347 SendSideDelayObserver* send_side_delay_observer,
343 size_t num_modules); 348 size_t num_modules);
344 349
345 // Assumed to be protected. 350 // Assumed to be protected.
346 void StartDecodeThread(); 351 void StartDecodeThread();
347 void StopDecodeThread(); 352 void StopDecodeThread();
348 353
349 void ProcessNACKRequest(const bool enable); 354 void ProcessNACKRequest(const bool enable);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 GUARDED_BY(crit_); 470 GUARDED_BY(crit_);
466 FrameCounts receive_frame_counts_ GUARDED_BY(crit_); 471 FrameCounts receive_frame_counts_ GUARDED_BY(crit_);
467 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_); 472 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_);
468 ViEDecoderObserver* codec_observer_ GUARDED_BY(crit_); 473 ViEDecoderObserver* codec_observer_ GUARDED_BY(crit_);
469 RtcpIntraFrameObserver* const intra_frame_observer_; 474 RtcpIntraFrameObserver* const intra_frame_observer_;
470 RtcpRttStats* const rtt_stats_; 475 RtcpRttStats* const rtt_stats_;
471 PacedSender* const paced_sender_; 476 PacedSender* const paced_sender_;
472 PacketRouter* const packet_router_; 477 PacketRouter* const packet_router_;
473 478
474 const rtc::scoped_ptr<RtcpBandwidthObserver> bandwidth_observer_; 479 const rtc::scoped_ptr<RtcpBandwidthObserver> bandwidth_observer_;
480 SendTimeObserver* const send_time_observer_;
475 481
476 bool decoder_reset_ GUARDED_BY(crit_); 482 bool decoder_reset_ GUARDED_BY(crit_);
477 // Current receive codec used for codec change callback. 483 // Current receive codec used for codec change callback.
478 VideoCodec receive_codec_ GUARDED_BY(crit_); 484 VideoCodec receive_codec_ GUARDED_BY(crit_);
479 rtc::scoped_ptr<ThreadWrapper> decode_thread_; 485 rtc::scoped_ptr<ThreadWrapper> decode_thread_;
480 486
481 // Used to skip default encoder in the new API. 487 // Used to skip default encoder in the new API.
482 const bool disable_default_encoder_; 488 const bool disable_default_encoder_;
483 489
484 int nack_history_size_sender_; 490 int nack_history_size_sender_;
485 int max_nack_reordering_threshold_; 491 int max_nack_reordering_threshold_;
486 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_); 492 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_);
487 493
488 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_; 494 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_;
489 495
490 // RtpRtcp modules, declared last as they use other members on construction. 496 // RtpRtcp modules, declared last as they use other members on construction.
491 const std::vector<RtpRtcp*> rtp_rtcp_modules_; 497 const std::vector<RtpRtcp*> rtp_rtcp_modules_;
492 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); 498 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_);
493 }; 499 };
494 500
495 } // namespace webrtc 501 } // namespace webrtc
496 502
497 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ 503 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698