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

Unified Diff: webrtc/modules/audio_coding/neteq/neteq_impl.h

Issue 1410073006: ACM: Move NACK functionality inside NetEq (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 2 months 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
« no previous file with comments | « webrtc/modules/audio_coding/neteq/neteq.gypi ('k') | webrtc/modules/audio_coding/neteq/neteq_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/audio_coding/neteq/neteq_impl.h
diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.h b/webrtc/modules/audio_coding/neteq/neteq_impl.h
index bb93b32cc9bd80a38e0ab584113977170794fcaa..4f253bda031e6a6948997dce6ebb538acd1db4c0 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_impl.h
+++ b/webrtc/modules/audio_coding/neteq/neteq_impl.h
@@ -39,6 +39,7 @@ class DtmfBuffer;
class DtmfToneGenerator;
class Expand;
class Merge;
+class Nack;
class Normal;
class PacketBuffer;
class PayloadSplitter;
@@ -187,9 +188,11 @@ class NetEqImpl : public webrtc::NetEq {
void PacketBufferStatistics(int* current_num_packets,
int* max_num_packets) const override;
- // Get sequence number and timestamp of the latest RTP.
- // This method is to facilitate NACK.
- int DecodedRtpInfo(int* sequence_number, uint32_t* timestamp) const override;
+ void EnableNack(size_t max_nack_list_size) override;
+
+ void DisableNack() override;
+
+ std::vector<uint16_t> GetNackList(int64_t round_trip_time_ms) const override;
// This accessor method is only intended for testing purposes.
const SyncBuffer* sync_buffer_for_test() const;
@@ -393,16 +396,8 @@ class NetEqImpl : public webrtc::NetEq {
const BackgroundNoiseMode background_noise_mode_ GUARDED_BY(crit_sect_);
NetEqPlayoutMode playout_mode_ GUARDED_BY(crit_sect_);
bool enable_fast_accelerate_ GUARDED_BY(crit_sect_);
-
- // These values are used by NACK module to estimate time-to-play of
- // a missing packet. Occasionally, NetEq might decide to decode more
- // than one packet. Therefore, these values store sequence number and
- // timestamp of the first packet pulled from the packet buffer. In
- // such cases, these values do not exactly represent the sequence number
- // or timestamp associated with a 10ms audio pulled from NetEq. NACK
- // module is designed to compensate for this.
- int decoded_packet_sequence_number_ GUARDED_BY(crit_sect_);
- uint32_t decoded_packet_timestamp_ GUARDED_BY(crit_sect_);
+ rtc::scoped_ptr<Nack> nack_ GUARDED_BY(crit_sect_);
+ bool nack_enabled_ GUARDED_BY(crit_sect_);
private:
RTC_DISALLOW_COPY_AND_ASSIGN(NetEqImpl);
« no previous file with comments | « webrtc/modules/audio_coding/neteq/neteq.gypi ('k') | webrtc/modules/audio_coding/neteq/neteq_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698