Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(759)

Unified Diff: webrtc/modules/audio_coding/main/acm2/initial_delay_manager.h

Issue 1481493004: audio_coding: remove "main" directory (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/main/acm2/initial_delay_manager.h
diff --git a/webrtc/modules/audio_coding/main/acm2/initial_delay_manager.h b/webrtc/modules/audio_coding/main/acm2/initial_delay_manager.h
deleted file mode 100644
index 6b50dd07f83c202baa8bbe6207c709ac9d844784..0000000000000000000000000000000000000000
--- a/webrtc/modules/audio_coding/main/acm2/initial_delay_manager.h
+++ /dev/null
@@ -1,120 +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_MAIN_ACM2_INITIAL_DELAY_MANAGER_H_
-#define WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_INITIAL_DELAY_MANAGER_H_
-
-#include "webrtc/base/scoped_ptr.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_MAIN_ACM2_INITIAL_DELAY_MANAGER_H_

Powered by Google App Engine
This is Rietveld 408576698