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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |