| 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);
|
| };
|
|
|
|
|