diff --git a/webrtc/modules/audio_processing/BUILD.gn b/webrtc/modules/audio_processing/BUILD.gn index dca33885ff..0a8c5fc5a8 100644 --- a/webrtc/modules/audio_processing/BUILD.gn +++ b/webrtc/modules/audio_processing/BUILD.gn @@ -51,6 +51,7 @@ source_set("audio_processing") { "agc/utility.h", "audio_buffer.cc", "audio_buffer.h", + "audio_processing.cc", "audio_processing_impl.cc", "audio_processing_impl.h", "beamformer/array_util.cc", diff --git a/webrtc/modules/audio_processing/audio_processing.cc b/webrtc/modules/audio_processing/audio_processing.cc new file mode 100644 index 0000000000..37d4a4bc92 --- /dev/null +++ b/webrtc/modules/audio_processing/audio_processing.cc @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2016 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. + */ + +#include "webrtc/modules/audio_processing/include/audio_processing.h" + +namespace webrtc { + +Beamforming::Beamforming() + : enabled(false), + array_geometry(), + target_direction( + SphericalPointf(static_cast(M_PI) / 2.f, 0.f, 1.f)) {} +Beamforming::Beamforming(bool enabled, const std::vector& array_geometry) + : Beamforming(enabled, + array_geometry, + SphericalPointf(static_cast(M_PI) / 2.f, 0.f, 1.f)) {} + +Beamforming::Beamforming(bool enabled, + const std::vector& array_geometry, + SphericalPointf target_direction) + : enabled(enabled), + array_geometry(array_geometry), + target_direction(target_direction) {} + +Beamforming::~Beamforming() {} + +int AudioProcessing::StartDebugRecordingForPlatformFile( + rtc::PlatformFile handle) { + return -1; +} + +} // namespace webrtc diff --git a/webrtc/modules/audio_processing/audio_processing.gypi b/webrtc/modules/audio_processing/audio_processing.gypi index 0a2f4135b4..3cfc727020 100644 --- a/webrtc/modules/audio_processing/audio_processing.gypi +++ b/webrtc/modules/audio_processing/audio_processing.gypi @@ -62,6 +62,7 @@ 'agc/utility.h', 'audio_buffer.cc', 'audio_buffer.h', + 'audio_processing.cc', 'audio_processing_impl.cc', 'audio_processing_impl.h', 'beamformer/array_util.cc', diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h index 06bfc9ba7f..09e5d5be1c 100644 --- a/webrtc/modules/audio_processing/include/audio_processing.h +++ b/webrtc/modules/audio_processing/include/audio_processing.h @@ -145,22 +145,13 @@ struct ExperimentalNs { // Use to enable beamforming. Must be provided through the constructor. It will // have no impact if used with AudioProcessing::SetExtraOptions(). struct Beamforming { - Beamforming() - : enabled(false), - array_geometry(), - target_direction( - SphericalPointf(static_cast(M_PI) / 2.f, 0.f, 1.f)) {} - Beamforming(bool enabled, const std::vector& array_geometry) - : Beamforming(enabled, - array_geometry, - SphericalPointf(static_cast(M_PI) / 2.f, 0.f, 1.f)) { - } + Beamforming(); + Beamforming(bool enabled, const std::vector& array_geometry); Beamforming(bool enabled, const std::vector& array_geometry, - SphericalPointf target_direction) - : enabled(enabled), - array_geometry(array_geometry), - target_direction(target_direction) {} + SphericalPointf target_direction); + ~Beamforming(); + static const ConfigOptionID identifier = ConfigOptionID::kBeamforming; const bool enabled; const std::vector array_geometry; @@ -450,9 +441,7 @@ class AudioProcessing { // Same as above but uses an existing PlatformFile handle. Takes ownership // of |handle| and closes it at StopDebugRecording(). // TODO(xians): Make this interface pure virtual. - virtual int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle) { - return -1; - } + virtual int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle); // Stops recording debugging information, and closes the file. Recording // cannot be resumed in the same file (without overwriting it).