Export symbols needed by the Chromium component build (part 1).
This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
to mark WebRTC symbols as visible from a shared library, this doesn't
mean these symbols are part of the public API (please continue to refer
to [1] for info about what is considered public WebRTC API).
[1] - https://webrtc.googlesource.com/src/+/HEAD/native-api.md
Bug: webrtc:9419
Change-Id: I802abd32874d42d3aa5ecd3c8022e7cf5e043d99
Reviewed-on: https://webrtc-review.googlesource.com/c/103505
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24969}
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index 84b8906..42184c1 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -119,6 +119,7 @@
"../../rtc_base:safe_minmax",
"../../rtc_base:sanitizer",
"../../rtc_base/system:arch",
+ "../../rtc_base/system:rtc_export",
"../../system_wrappers:cpu_features_api",
"../../system_wrappers:field_trial",
"../../system_wrappers:metrics",
@@ -166,6 +167,7 @@
"include/audio_processing_statistics.h",
]
deps = [
+ "../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/types:optional",
]
}
diff --git a/modules/audio_processing/aec_dump/BUILD.gn b/modules/audio_processing/aec_dump/BUILD.gn
index e5fee3e..5b55526 100644
--- a/modules/audio_processing/aec_dump/BUILD.gn
+++ b/modules/audio_processing/aec_dump/BUILD.gn
@@ -17,6 +17,7 @@
deps = [
"../",
"../../../rtc_base:rtc_base_approved",
+ "../../../rtc_base/system:rtc_export",
]
}
diff --git a/modules/audio_processing/aec_dump/aec_dump_factory.h b/modules/audio_processing/aec_dump/aec_dump_factory.h
index e3f00f6..1e55d59 100644
--- a/modules/audio_processing/aec_dump/aec_dump_factory.h
+++ b/modules/audio_processing/aec_dump/aec_dump_factory.h
@@ -16,6 +16,7 @@
#include "modules/audio_processing/include/aec_dump.h"
#include "rtc_base/platform_file.h"
+#include "rtc_base/system/rtc_export.h"
namespace rtc {
class TaskQueue;
@@ -23,7 +24,7 @@
namespace webrtc {
-class AecDumpFactory {
+class RTC_EXPORT AecDumpFactory {
public:
// The |worker_queue| may not be null and must outlive the created
// AecDump instance. |max_log_size_bytes == -1| means the log size
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 9d0c65e..868a66f 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -34,6 +34,7 @@
#include "rtc_base/platform_file.h"
#include "rtc_base/refcount.h"
#include "rtc_base/scoped_ref_ptr.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -554,7 +555,7 @@
float minimum_ = 0.0f; // Long-term minimum.
};
- struct AudioProcessingStatistics {
+ struct RTC_EXPORT AudioProcessingStatistics {
AudioProcessingStatistics();
AudioProcessingStatistics(const AudioProcessingStatistics& other);
~AudioProcessingStatistics();
@@ -653,7 +654,7 @@
static const int kChunkSizeMs = 10;
};
-class AudioProcessingBuilder {
+class RTC_EXPORT AudioProcessingBuilder {
public:
AudioProcessingBuilder();
~AudioProcessingBuilder();
diff --git a/modules/audio_processing/include/audio_processing_statistics.h b/modules/audio_processing/include/audio_processing_statistics.h
index 237d23c..2318bad 100644
--- a/modules/audio_processing/include/audio_processing_statistics.h
+++ b/modules/audio_processing/include/audio_processing_statistics.h
@@ -12,11 +12,12 @@
#define MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_STATISTICS_H_
#include "absl/types/optional.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// This version of the stats uses Optionals, it will replace the regular
// AudioProcessingStatistics struct.
-struct AudioProcessingStats {
+struct RTC_EXPORT AudioProcessingStats {
AudioProcessingStats();
AudioProcessingStats(const AudioProcessingStats& other);
~AudioProcessingStats();
diff --git a/modules/audio_processing/include/config.h b/modules/audio_processing/include/config.h
index 398aab6..e77d3fd 100644
--- a/modules/audio_processing/include/config.h
+++ b/modules/audio_processing/include/config.h
@@ -14,6 +14,7 @@
#include <map>
#include "rtc_base/constructormagic.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -57,7 +58,7 @@
// config.Set<Algo1_CostFunction>(new SqrCost());
//
// Note: This class is thread-compatible (like STL containers).
-class Config {
+class RTC_EXPORT Config {
public:
// Returns the option if set or a default constructed one.
// Callers that access options too often are encouraged to cache the result.
diff --git a/modules/audio_processing/typing_detection.h b/modules/audio_processing/typing_detection.h
index 70fd903..d8fb359 100644
--- a/modules/audio_processing/typing_detection.h
+++ b/modules/audio_processing/typing_detection.h
@@ -11,9 +11,11 @@
#ifndef MODULES_AUDIO_PROCESSING_TYPING_DETECTION_H_
#define MODULES_AUDIO_PROCESSING_TYPING_DETECTION_H_
+#include "rtc_base/system/rtc_export.h"
+
namespace webrtc {
-class TypingDetection {
+class RTC_EXPORT TypingDetection {
public:
TypingDetection();
virtual ~TypingDetection();