| 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 25 matching lines...) Expand all Loading... |
| 36 class EncodedImageCallback; | 36 class EncodedImageCallback; |
| 37 class I420FrameCallback; | 37 class I420FrameCallback; |
| 38 class IncomingVideoStream; | 38 class IncomingVideoStream; |
| 39 class PacedSender; | 39 class PacedSender; |
| 40 class PacketRouter; | 40 class PacketRouter; |
| 41 class PayloadRouter; | 41 class PayloadRouter; |
| 42 class ProcessThread; | 42 class ProcessThread; |
| 43 class ReceiveStatisticsProxy; | 43 class ReceiveStatisticsProxy; |
| 44 class RtcpRttStats; | 44 class RtcpRttStats; |
| 45 class ViERTPObserver; | 45 class ViERTPObserver; |
| 46 class VideoCodingModule; | |
| 47 class VideoRenderCallback; | 46 class VideoRenderCallback; |
| 48 class VoEVideoSync; | 47 class VoEVideoSync; |
| 49 | 48 |
| 49 namespace vcm { |
| 50 class VideoReceiver; |
| 51 } // namespace vcm |
| 52 |
| 50 enum StreamType { | 53 enum StreamType { |
| 51 kViEStreamTypeNormal = 0, // Normal media stream | 54 kViEStreamTypeNormal = 0, // Normal media stream |
| 52 kViEStreamTypeRtx = 1 // Retransmission media stream | 55 kViEStreamTypeRtx = 1 // Retransmission media stream |
| 53 }; | 56 }; |
| 54 | 57 |
| 55 class ViEChannel : public VCMFrameTypeCallback, | 58 class ViEChannel : public VCMFrameTypeCallback, |
| 56 public VCMReceiveCallback, | 59 public VCMReceiveCallback, |
| 57 public VCMReceiveStatisticsCallback, | 60 public VCMReceiveStatisticsCallback, |
| 58 public VCMDecoderTimingCallback, | 61 public VCMDecoderTimingCallback, |
| 59 public VCMPacketRequestCallback, | 62 public VCMPacketRequestCallback, |
| 60 public RtpFeedback { | 63 public RtpFeedback { |
| 61 public: | 64 public: |
| 62 friend class ChannelStatsObserver; | 65 friend class ChannelStatsObserver; |
| 63 | 66 |
| 64 ViEChannel(Transport* transport, | 67 ViEChannel(Transport* transport, |
| 65 ProcessThread* module_process_thread, | 68 ProcessThread* module_process_thread, |
| 66 VideoCodingModule* vcm, | 69 vcm::VideoReceiver* video_receiver, |
| 67 RemoteBitrateEstimator* remote_bitrate_estimator, | 70 RemoteBitrateEstimator* remote_bitrate_estimator, |
| 68 RtcpRttStats* rtt_stats, | 71 RtcpRttStats* rtt_stats, |
| 69 PacedSender* paced_sender, | 72 PacedSender* paced_sender, |
| 70 PacketRouter* packet_router); | 73 PacketRouter* packet_router); |
| 71 ~ViEChannel(); | 74 ~ViEChannel(); |
| 72 | 75 |
| 73 int32_t Init(); | 76 int32_t Init(); |
| 74 | 77 |
| 75 void SetProtectionMode(bool enable_nack, | 78 void SetProtectionMode(bool enable_nack, |
| 76 bool enable_fec, | 79 bool enable_fec, |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 | 192 |
| 190 private: | 193 private: |
| 191 } rtcp_packet_type_counter_observer_; | 194 } rtcp_packet_type_counter_observer_; |
| 192 | 195 |
| 193 | 196 |
| 194 ProcessThread* const module_process_thread_; | 197 ProcessThread* const module_process_thread_; |
| 195 | 198 |
| 196 // Used for all registered callbacks except rendering. | 199 // Used for all registered callbacks except rendering. |
| 197 rtc::CriticalSection crit_; | 200 rtc::CriticalSection crit_; |
| 198 | 201 |
| 199 VideoCodingModule* const vcm_; | 202 vcm::VideoReceiver* const video_receiver_; |
| 200 ViEReceiver vie_receiver_; | 203 ViEReceiver vie_receiver_; |
| 201 | 204 |
| 202 // Helper to report call statistics. | 205 // Helper to report call statistics. |
| 203 std::unique_ptr<ChannelStatsObserver> stats_observer_; | 206 std::unique_ptr<ChannelStatsObserver> stats_observer_; |
| 204 | 207 |
| 205 // Not owned. | 208 // Not owned. |
| 206 ReceiveStatisticsProxy* receive_stats_callback_ GUARDED_BY(crit_); | 209 ReceiveStatisticsProxy* receive_stats_callback_ GUARDED_BY(crit_); |
| 207 FrameCounts receive_frame_counts_ GUARDED_BY(crit_); | 210 FrameCounts receive_frame_counts_ GUARDED_BY(crit_); |
| 208 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_); | 211 IncomingVideoStream* incoming_video_stream_ GUARDED_BY(crit_); |
| 209 RtcpRttStats* const rtt_stats_; | 212 RtcpRttStats* const rtt_stats_; |
| 210 PacedSender* const paced_sender_; | 213 PacedSender* const paced_sender_; |
| 211 PacketRouter* const packet_router_; | 214 PacketRouter* const packet_router_; |
| 212 | 215 |
| 213 int max_nack_reordering_threshold_; | 216 int max_nack_reordering_threshold_; |
| 214 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_); | 217 I420FrameCallback* pre_render_callback_ GUARDED_BY(crit_); |
| 215 | 218 |
| 216 int64_t last_rtt_ms_ GUARDED_BY(crit_); | 219 int64_t last_rtt_ms_ GUARDED_BY(crit_); |
| 217 | 220 |
| 218 // RtpRtcp module, declared last as it use other members on construction. | 221 // RtpRtcp module, declared last as it use other members on construction. |
| 219 const std::unique_ptr<RtpRtcp> rtp_rtcp_; | 222 const std::unique_ptr<RtpRtcp> rtp_rtcp_; |
| 220 }; | 223 }; |
| 221 | 224 |
| 222 } // namespace webrtc | 225 } // namespace webrtc |
| 223 | 226 |
| 224 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_ | 227 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_ |
| OLD | NEW |