OLD | NEW |
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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 friend class ChannelStatsObserver; | 96 friend class ChannelStatsObserver; |
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 Transport* transport, | 102 Transport* transport, |
103 ProcessThread* module_process_thread, | 103 ProcessThread* module_process_thread, |
104 RtcpIntraFrameObserver* intra_frame_observer, | 104 RtcpIntraFrameObserver* intra_frame_observer, |
105 RtcpBandwidthObserver* bandwidth_observer, | 105 RtcpBandwidthObserver* bandwidth_observer, |
| 106 SendTimeObserver* send_time_observer, |
106 RemoteBitrateEstimator* remote_bitrate_estimator, | 107 RemoteBitrateEstimator* remote_bitrate_estimator, |
107 RtcpRttStats* rtt_stats, | 108 RtcpRttStats* rtt_stats, |
108 PacedSender* paced_sender, | 109 PacedSender* paced_sender, |
109 PacketRouter* packet_router, | 110 PacketRouter* packet_router, |
110 size_t max_rtp_streams, | 111 size_t max_rtp_streams, |
111 bool sender); | 112 bool sender); |
112 ~ViEChannel(); | 113 ~ViEChannel(); |
113 | 114 |
114 int32_t Init(); | 115 int32_t Init(); |
115 | 116 |
(...skipping 27 matching lines...) Expand all Loading... |
143 int SetSenderBufferingMode(int target_delay_ms); | 144 int SetSenderBufferingMode(int target_delay_ms); |
144 int SetReceiverBufferingMode(int target_delay_ms); | 145 int SetReceiverBufferingMode(int target_delay_ms); |
145 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method); | 146 int32_t SetKeyFrameRequestMethod(const KeyFrameRequestMethod method); |
146 void EnableRemb(bool enable); | 147 void EnableRemb(bool enable); |
147 int SetSendTimestampOffsetStatus(bool enable, int id); | 148 int SetSendTimestampOffsetStatus(bool enable, int id); |
148 int SetReceiveTimestampOffsetStatus(bool enable, int id); | 149 int SetReceiveTimestampOffsetStatus(bool enable, int id); |
149 int SetSendAbsoluteSendTimeStatus(bool enable, int id); | 150 int SetSendAbsoluteSendTimeStatus(bool enable, int id); |
150 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id); | 151 int SetReceiveAbsoluteSendTimeStatus(bool enable, int id); |
151 int SetSendVideoRotationStatus(bool enable, int id); | 152 int SetSendVideoRotationStatus(bool enable, int id); |
152 int SetReceiveVideoRotationStatus(bool enable, int id); | 153 int SetReceiveVideoRotationStatus(bool enable, int id); |
| 154 int SetSendTransportSequenceNumber(bool enable, int id); |
| 155 int SetReceiveTransportSequenceNumber(bool enable, int id); |
153 void SetRtcpXrRrtrStatus(bool enable); | 156 void SetRtcpXrRrtrStatus(bool enable); |
154 void SetTransmissionSmoothingStatus(bool enable); | 157 void SetTransmissionSmoothingStatus(bool enable); |
155 void EnableTMMBR(bool enable); | 158 void EnableTMMBR(bool enable); |
156 | 159 |
157 // Sets SSRC for outgoing stream. | 160 // Sets SSRC for outgoing stream. |
158 int32_t SetSSRC(const uint32_t SSRC, | 161 int32_t SetSSRC(const uint32_t SSRC, |
159 const StreamType usage, | 162 const StreamType usage, |
160 const unsigned char simulcast_idx); | 163 const unsigned char simulcast_idx); |
161 | 164 |
162 // Gets SSRC for outgoing stream number |idx|. | 165 // Gets SSRC for outgoing stream number |idx|. |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 uint32_t* sent_fec_rate_bps); | 327 uint32_t* sent_fec_rate_bps); |
325 | 328 |
326 private: | 329 private: |
327 static std::vector<RtpRtcp*> CreateRtpRtcpModules( | 330 static std::vector<RtpRtcp*> CreateRtpRtcpModules( |
328 int32_t id, | 331 int32_t id, |
329 bool receiver_only, | 332 bool receiver_only, |
330 ReceiveStatistics* receive_statistics, | 333 ReceiveStatistics* receive_statistics, |
331 Transport* outgoing_transport, | 334 Transport* outgoing_transport, |
332 RtcpIntraFrameObserver* intra_frame_callback, | 335 RtcpIntraFrameObserver* intra_frame_callback, |
333 RtcpBandwidthObserver* bandwidth_callback, | 336 RtcpBandwidthObserver* bandwidth_callback, |
| 337 SendTimeObserver* send_time_observer, |
334 RtcpRttStats* rtt_stats, | 338 RtcpRttStats* rtt_stats, |
335 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer, | 339 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer, |
336 RemoteBitrateEstimator* remote_bitrate_estimator, | 340 RemoteBitrateEstimator* remote_bitrate_estimator, |
337 PacedSender* paced_sender, | 341 PacedSender* paced_sender, |
| 342 PacketRouter* packet_router, |
338 BitrateStatisticsObserver* send_bitrate_observer, | 343 BitrateStatisticsObserver* send_bitrate_observer, |
339 FrameCountObserver* send_frame_count_observer, | 344 FrameCountObserver* send_frame_count_observer, |
340 SendSideDelayObserver* send_side_delay_observer, | 345 SendSideDelayObserver* send_side_delay_observer, |
341 size_t num_modules); | 346 size_t num_modules); |
342 | 347 |
343 // Assumed to be protected. | 348 // Assumed to be protected. |
344 void StartDecodeThread(); | 349 void StartDecodeThread(); |
345 void StopDecodeThread(); | 350 void StopDecodeThread(); |
346 | 351 |
347 void ProcessNACKRequest(const bool enable); | 352 void ProcessNACKRequest(const bool enable); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 GUARDED_BY(crit_); | 468 GUARDED_BY(crit_); |
464 FrameCounts receive_frame_counts_ GUARDED_BY(crit_); | 469 FrameCounts receive_frame_counts_ GUARDED_BY(crit_); |
465 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_); | 470 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_); |
466 ViEDecoderObserver* codec_observer_ GUARDED_BY(crit_); | 471 ViEDecoderObserver* codec_observer_ GUARDED_BY(crit_); |
467 RtcpIntraFrameObserver* const intra_frame_observer_; | 472 RtcpIntraFrameObserver* const intra_frame_observer_; |
468 RtcpRttStats* const rtt_stats_; | 473 RtcpRttStats* const rtt_stats_; |
469 PacedSender* const paced_sender_; | 474 PacedSender* const paced_sender_; |
470 PacketRouter* const packet_router_; | 475 PacketRouter* const packet_router_; |
471 | 476 |
472 const rtc::scoped_ptr<RtcpBandwidthObserver> bandwidth_observer_; | 477 const rtc::scoped_ptr<RtcpBandwidthObserver> bandwidth_observer_; |
| 478 SendTimeObserver* const send_time_observer_; |
473 | 479 |
474 bool decoder_reset_ GUARDED_BY(crit_); | 480 bool decoder_reset_ GUARDED_BY(crit_); |
475 // Current receive codec used for codec change callback. | 481 // Current receive codec used for codec change callback. |
476 VideoCodec receive_codec_ GUARDED_BY(crit_); | 482 VideoCodec receive_codec_ GUARDED_BY(crit_); |
477 rtc::scoped_ptr<ThreadWrapper> decode_thread_; | 483 rtc::scoped_ptr<ThreadWrapper> decode_thread_; |
478 | 484 |
479 int nack_history_size_sender_; | 485 int nack_history_size_sender_; |
480 int max_nack_reordering_threshold_; | 486 int max_nack_reordering_threshold_; |
481 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_); | 487 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_); |
482 | 488 |
483 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_; | 489 const rtc::scoped_ptr<ReportBlockStats> report_block_stats_sender_; |
484 | 490 |
485 // RtpRtcp modules, declared last as they use other members on construction. | 491 // RtpRtcp modules, declared last as they use other members on construction. |
486 const std::vector<RtpRtcp*> rtp_rtcp_modules_; | 492 const std::vector<RtpRtcp*> rtp_rtcp_modules_; |
487 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); | 493 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); |
488 }; | 494 }; |
489 | 495 |
490 } // namespace webrtc | 496 } // namespace webrtc |
491 | 497 |
492 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ | 498 #endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_ |
OLD | NEW |