Index: content/renderer/media/aec_dump_message_filter.h |
diff --git a/content/renderer/media/aec_dump_message_filter.h b/content/renderer/media/aec_dump_message_filter.h |
index 9cfaf4f1af5887254255a8e255744cbdbfa8ecbd..4bb39cf1eea9a3d856d096db7724882b385c6af9 100644 |
--- a/content/renderer/media/aec_dump_message_filter.h |
+++ b/content/renderer/media/aec_dump_message_filter.h |
@@ -21,6 +21,7 @@ namespace content { |
// MessageFilter that handles AEC dump messages and forwards them to an |
// observer. |
+// TODO(hlundin): Rename class to reflect expanded use; http://crbug.com/709919. |
class CONTENT_EXPORT AecDumpMessageFilter : public IPC::MessageFilter { |
public: |
class AecDumpDelegate { |
@@ -28,6 +29,7 @@ class CONTENT_EXPORT AecDumpMessageFilter : public IPC::MessageFilter { |
virtual void OnAecDumpFile( |
const IPC::PlatformFileForTransit& file_handle) = 0; |
virtual void OnDisableAecDump() = 0; |
+ virtual void OnAec3Enable(bool enable) = 0; |
virtual void OnIpcClosing() = 0; |
}; |
@@ -73,12 +75,14 @@ class CONTENT_EXPORT AecDumpMessageFilter : public IPC::MessageFilter { |
// Accessed on |io_task_runner_|. |
void OnEnableAecDump(int id, IPC::PlatformFileForTransit file_handle); |
void OnDisableAecDump(); |
+ void OnEnableAec3(int id, bool enable); |
// Accessed on |main_task_runner_|. |
void DoEnableAecDump(int id, IPC::PlatformFileForTransit file_handle); |
void DoDisableAecDump(); |
void DoChannelClosingOnDelegates(); |
int GetIdForDelegate(AecDumpMessageFilter::AecDumpDelegate* delegate); |
+ void DoEnableAec3(int id, bool enable); |
// Accessed on |io_task_runner_|. |
IPC::Sender* sender_; |
@@ -101,6 +105,12 @@ class CONTENT_EXPORT AecDumpMessageFilter : public IPC::MessageFilter { |
// The singleton instance for this filter. |
static AecDumpMessageFilter* g_filter; |
+ // When this variable is not set, the use of AEC3 is governed by the Finch |
+ // experiment and/or WebRTC's own default. When set to true/false, Finch and |
+ // WebRTC defaults will be overridden, and AEC3/AEC2 (respectively) will be |
+ // used. |
+ base::Optional<bool> override_aec3_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AecDumpMessageFilter); |
}; |