Index: webrtc/modules/audio_coding/acm2/initial_delay_manager.h |
diff --git a/webrtc/modules/audio_coding/acm2/initial_delay_manager.h b/webrtc/modules/audio_coding/acm2/initial_delay_manager.h |
deleted file mode 100644 |
index a73141adc6ebaaa0b0b2b353d26a147ab610942f..0000000000000000000000000000000000000000 |
--- a/webrtc/modules/audio_coding/acm2/initial_delay_manager.h |
+++ /dev/null |
@@ -1,119 +0,0 @@ |
-/* |
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#ifndef WEBRTC_MODULES_AUDIO_CODING_ACM2_INITIAL_DELAY_MANAGER_H_ |
-#define WEBRTC_MODULES_AUDIO_CODING_ACM2_INITIAL_DELAY_MANAGER_H_ |
- |
-#include "webrtc/modules/include/module_common_types.h" |
- |
-namespace webrtc { |
- |
-namespace acm2 { |
- |
-class InitialDelayManager { |
- public: |
- enum PacketType { |
- kUndefinedPacket, kCngPacket, kAvtPacket, kAudioPacket, kSyncPacket }; |
- |
- // Specifies a stream of sync-packets. |
- struct SyncStream { |
- SyncStream() |
- : num_sync_packets(0), |
- receive_timestamp(0), |
- timestamp_step(0) { |
- memset(&rtp_info, 0, sizeof(rtp_info)); |
- } |
- |
- int num_sync_packets; |
- |
- // RTP header of the first sync-packet in the sequence. |
- WebRtcRTPHeader rtp_info; |
- |
- // Received timestamp of the first sync-packet in the sequence. |
- uint32_t receive_timestamp; |
- |
- // Samples per packet. |
- uint32_t timestamp_step; |
- }; |
- |
- InitialDelayManager(int initial_delay_ms, int late_packet_threshold); |
- |
- // Update with the last received RTP header, |header|, and received timestamp, |
- // |received_timestamp|. |type| indicates the packet type. If codec is changed |
- // since the last time |new_codec| should be true. |sample_rate_hz| is the |
- // decoder's sampling rate in Hz. |header| has a field to store sampling rate |
- // but we are not sure if that is properly set at the send side, and |header| |
- // is declared constant in the caller of this function |
- // (AcmReceiver::InsertPacket()). |sync_stream| contains information required |
- // to generate a stream of sync packets. |
- void UpdateLastReceivedPacket(const WebRtcRTPHeader& header, |
- uint32_t receive_timestamp, |
- PacketType type, |
- bool new_codec, |
- int sample_rate_hz, |
- SyncStream* sync_stream); |
- |
- // Based on the last received timestamp and given the current timestamp, |
- // sequence of late (or perhaps missing) packets is computed. |
- void LatePackets(uint32_t timestamp_now, SyncStream* sync_stream); |
- |
- // Get playout timestamp. |
- // Returns true if the timestamp is valid (when buffering), otherwise false. |
- bool GetPlayoutTimestamp(uint32_t* playout_timestamp); |
- |
- // True if buffered audio is less than the given initial delay (specified at |
- // the constructor). Buffering might be disabled by the client of this class. |
- bool buffering() { return buffering_; } |
- |
- // Disable buffering in the class. |
- void DisableBuffering(); |
- |
- // True if any packet received for buffering. |
- bool PacketBuffered() { return last_packet_type_ != kUndefinedPacket; } |
- |
- private: |
- static const uint8_t kInvalidPayloadType = 0xFF; |
- |
- // Update playout timestamps. While buffering, this is about |
- // |initial_delay_ms| millisecond behind the latest received timestamp. |
- void UpdatePlayoutTimestamp(const RTPHeader& current_header, |
- int sample_rate_hz); |
- |
- // Record an RTP headr and related parameter |
- void RecordLastPacket(const WebRtcRTPHeader& rtp_info, |
- uint32_t receive_timestamp, |
- PacketType type); |
- |
- PacketType last_packet_type_; |
- WebRtcRTPHeader last_packet_rtp_info_; |
- uint32_t last_receive_timestamp_; |
- uint32_t timestamp_step_; |
- uint8_t audio_payload_type_; |
- const int initial_delay_ms_; |
- int buffered_audio_ms_; |
- bool buffering_; |
- |
- // During the initial phase where packets are being accumulated and silence |
- // is played out, |playout_ts| is a timestamp which is equal to |
- // |initial_delay_ms_| milliseconds earlier than the most recently received |
- // RTP timestamp. |
- uint32_t playout_timestamp_; |
- |
- // If the number of late packets exceed this value (computed based on current |
- // timestamp and last received timestamp), sequence of sync-packets is |
- // specified. |
- const int late_packet_threshold_; |
-}; |
- |
-} // namespace acm2 |
- |
-} // namespace webrtc |
- |
-#endif // WEBRTC_MODULES_AUDIO_CODING_ACM2_INITIAL_DELAY_MANAGER_H_ |