Improvements for NetEqControllers
When creating a NetEqController it can be useful to have access to a
webrtc::Clock*. Also, NetEqControllers should have access to the
contents of the sync buffer when making decisions.
Bug: webrtc:11005
Change-Id: I7fdba75ce661b2ace52458620a8c1f3c990e5ac2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167208
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30368}
diff --git a/api/neteq/BUILD.gn b/api/neteq/BUILD.gn
index f1e5d1d..1ab02ec 100644
--- a/api/neteq/BUILD.gn
+++ b/api/neteq/BUILD.gn
@@ -55,6 +55,7 @@
":neteq_api",
":tick_timer",
"../../rtc_base:rtc_base_approved",
+ "../../system_wrappers:system_wrappers",
"//third_party/abseil-cpp/absl/types:optional",
]
}
diff --git a/api/neteq/DEPS b/api/neteq/DEPS
index 14dd963..6c1c602 100644
--- a/api/neteq/DEPS
+++ b/api/neteq/DEPS
@@ -1,11 +1,14 @@
specific_include_rules = {
- "neteq_factory\.h": [
- "+system_wrappers/include/clock.h",
- ],
"custom_neteq_factory\.h": [
"+system_wrappers/include/clock.h",
],
"default_neteq_factory\.h": [
"+system_wrappers/include/clock.h",
],
+ "neteq_controller\.h": [
+ "+system_wrappers/include/clock.h",
+ ],
+ "neteq_factory\.h": [
+ "+system_wrappers/include/clock.h",
+ ],
}
diff --git a/api/neteq/OWNERS b/api/neteq/OWNERS
new file mode 100644
index 0000000..2a16031
--- /dev/null
+++ b/api/neteq/OWNERS
@@ -0,0 +1,2 @@
+ivoc@webrtc.org
+hlundin@webrtc.org
diff --git a/api/neteq/neteq_controller.h b/api/neteq/neteq_controller.h
index dfd697b..1d47eac 100644
--- a/api/neteq/neteq_controller.h
+++ b/api/neteq/neteq_controller.h
@@ -20,6 +20,7 @@
#include "absl/types/optional.h"
#include "api/neteq/neteq.h"
#include "api/neteq/tick_timer.h"
+#include "system_wrappers/include/clock.h"
namespace webrtc {
@@ -67,6 +68,7 @@
int max_packets_in_buffer;
int base_min_delay_ms;
TickTimer* tick_timer;
+ webrtc::Clock* clock = nullptr;
};
struct PacketInfo {
@@ -92,6 +94,7 @@
bool play_dtmf;
size_t generated_noise_samples;
PacketBufferInfo packet_buffer_info;
+ size_t sync_buffer_samples;
};
virtual ~NetEqController() = default;