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 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
419 bool InputMute() const; | 419 bool InputMute() const; |
420 bool OnRtpPacketWithHeader(const uint8_t* received_packet, | 420 bool OnRtpPacketWithHeader(const uint8_t* received_packet, |
421 size_t length, | 421 size_t length, |
422 RTPHeader *header); | 422 RTPHeader *header); |
423 bool OnRecoveredPacket(const uint8_t* packet, size_t packet_length); | 423 bool OnRecoveredPacket(const uint8_t* packet, size_t packet_length); |
424 | 424 |
425 bool ReceivePacket(const uint8_t* packet, | 425 bool ReceivePacket(const uint8_t* packet, |
426 size_t packet_length, | 426 size_t packet_length, |
427 const RTPHeader& header, | 427 const RTPHeader& header, |
428 bool in_order); | 428 bool in_order); |
429 bool HandleRtxPacket(const uint8_t* packet, | |
430 size_t packet_length, | |
431 const RTPHeader& header); | |
432 bool IsPacketInOrder(const RTPHeader& header) const; | 429 bool IsPacketInOrder(const RTPHeader& header) const; |
433 bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const; | 430 bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const; |
434 int ResendPackets(const uint16_t* sequence_numbers, int length); | 431 int ResendPackets(const uint16_t* sequence_numbers, int length); |
435 int32_t MixOrReplaceAudioWithFile(AudioFrame* audio_frame); | 432 int32_t MixOrReplaceAudioWithFile(AudioFrame* audio_frame); |
436 int32_t MixAudioWithFile(AudioFrame& audioFrame, int mixingFrequency); | 433 int32_t MixAudioWithFile(AudioFrame& audioFrame, int mixingFrequency); |
437 void UpdatePlayoutTimestamp(bool rtcp); | 434 void UpdatePlayoutTimestamp(bool rtcp); |
438 void RegisterReceiveCodecsToRTPModule(); | 435 void RegisterReceiveCodecsToRTPModule(); |
439 | 436 |
440 int SetSendRtpHeaderExtension(bool enable, | 437 int SetSendRtpHeaderExtension(bool enable, |
441 RTPExtensionType type, | 438 RTPExtensionType type, |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
488 | 485 |
489 RemoteNtpTimeEstimator ntp_estimator_ GUARDED_BY(ts_stats_lock_); | 486 RemoteNtpTimeEstimator ntp_estimator_ GUARDED_BY(ts_stats_lock_); |
490 | 487 |
491 // Timestamp of the audio pulled from NetEq. | 488 // Timestamp of the audio pulled from NetEq. |
492 rtc::Optional<uint32_t> jitter_buffer_playout_timestamp_; | 489 rtc::Optional<uint32_t> jitter_buffer_playout_timestamp_; |
493 | 490 |
494 rtc::CriticalSection video_sync_lock_; | 491 rtc::CriticalSection video_sync_lock_; |
495 uint32_t playout_timestamp_rtp_ GUARDED_BY(video_sync_lock_); | 492 uint32_t playout_timestamp_rtp_ GUARDED_BY(video_sync_lock_); |
496 uint32_t playout_delay_ms_ GUARDED_BY(video_sync_lock_); | 493 uint32_t playout_delay_ms_ GUARDED_BY(video_sync_lock_); |
497 uint16_t send_sequence_number_; | 494 uint16_t send_sequence_number_; |
498 uint8_t restored_packet_[kVoiceEngineMaxIpPacketSizeBytes]; | |
499 | 495 |
500 rtc::CriticalSection ts_stats_lock_; | 496 rtc::CriticalSection ts_stats_lock_; |
501 | 497 |
502 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; | 498 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; |
503 // The rtp timestamp of the first played out audio frame. | 499 // The rtp timestamp of the first played out audio frame. |
504 int64_t capture_start_rtp_time_stamp_; | 500 int64_t capture_start_rtp_time_stamp_; |
505 // The capture ntp time (in local timebase) of the first played out audio | 501 // The capture ntp time (in local timebase) of the first played out audio |
506 // frame. | 502 // frame. |
507 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); | 503 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); |
508 | 504 |
(...skipping 13 matching lines...) Expand all Loading... | |
522 bool _mixFileWithMicrophone; | 518 bool _mixFileWithMicrophone; |
523 // VoeRTP_RTCP | 519 // VoeRTP_RTCP |
524 // TODO(henrika): can today be accessed on the main thread and on the | 520 // TODO(henrika): can today be accessed on the main thread and on the |
525 // task queue; hence potential race. | 521 // task queue; hence potential race. |
526 bool _includeAudioLevelIndication; | 522 bool _includeAudioLevelIndication; |
527 size_t transport_overhead_per_packet_ GUARDED_BY(overhead_per_packet_lock_); | 523 size_t transport_overhead_per_packet_ GUARDED_BY(overhead_per_packet_lock_); |
528 size_t rtp_overhead_per_packet_ GUARDED_BY(overhead_per_packet_lock_); | 524 size_t rtp_overhead_per_packet_ GUARDED_BY(overhead_per_packet_lock_); |
529 rtc::CriticalSection overhead_per_packet_lock_; | 525 rtc::CriticalSection overhead_per_packet_lock_; |
530 // VoENetwork | 526 // VoENetwork |
531 AudioFrame::SpeechType _outputSpeechType; | 527 AudioFrame::SpeechType _outputSpeechType; |
532 // DTX. | |
minyue-webrtc
2017/08/31 13:24:05
I think this comment should have been RTX :)
nisse-webrtc
2017/08/31 13:39:07
That's my guess too :-)
| |
533 bool restored_packet_in_use_; | |
534 // RtcpBandwidthObserver | 528 // RtcpBandwidthObserver |
535 std::unique_ptr<VoERtcpObserver> rtcp_observer_; | 529 std::unique_ptr<VoERtcpObserver> rtcp_observer_; |
536 // An associated send channel. | 530 // An associated send channel. |
537 rtc::CriticalSection assoc_send_channel_lock_; | 531 rtc::CriticalSection assoc_send_channel_lock_; |
538 ChannelOwner associate_send_channel_ GUARDED_BY(assoc_send_channel_lock_); | 532 ChannelOwner associate_send_channel_ GUARDED_BY(assoc_send_channel_lock_); |
539 | 533 |
540 bool pacing_enabled_; | 534 bool pacing_enabled_; |
541 PacketRouter* packet_router_ = nullptr; | 535 PacketRouter* packet_router_ = nullptr; |
542 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; | 536 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; |
543 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; | 537 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; |
(...skipping 13 matching lines...) Expand all Loading... | |
557 | 551 |
558 bool encoder_queue_is_active_ GUARDED_BY(encoder_queue_lock_) = false; | 552 bool encoder_queue_is_active_ GUARDED_BY(encoder_queue_lock_) = false; |
559 | 553 |
560 rtc::TaskQueue* encoder_queue_ = nullptr; | 554 rtc::TaskQueue* encoder_queue_ = nullptr; |
561 }; | 555 }; |
562 | 556 |
563 } // namespace voe | 557 } // namespace voe |
564 } // namespace webrtc | 558 } // namespace webrtc |
565 | 559 |
566 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ | 560 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ |
OLD | NEW |