From 831ce5f171bf779edc1c1804a46d51ccdfc409c1 Mon Sep 17 00:00:00 2001 From: Ken MacKay Date: Mon, 2 Dec 2019 10:26:34 -0800 Subject: [PATCH] Export more symbols to fix Chromecast component build When building certain Chromecast build flavors in component build mode, there are some link errors due to symbols not being exported. This CL fixes those issues. TBR: kwiberg@webrtc.org Bug: None Change-Id: I408f0a84b8ac4610cc6b5aa6ff58248ea82c9c66 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161148 Commit-Queue: Mirko Bonadei Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#29992} --- api/BUILD.gn | 1 + api/audio/echo_canceller3_config_json.h | 3 ++- api/audio_options.h | 3 ++- api/peer_connection_interface.h | 3 ++- media/BUILD.gn | 1 + media/engine/webrtc_media_engine_defaults.h | 3 ++- 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/api/BUILD.gn b/api/BUILD.gn index ab54a77f6a..48d377000f 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -486,6 +486,7 @@ rtc_library("audio_options_api") { deps = [ ":array_view", "../rtc_base:stringutils", + "../rtc_base/system:rtc_export", "//third_party/abseil-cpp/absl/types:optional", ] } diff --git a/api/audio/echo_canceller3_config_json.h b/api/audio/echo_canceller3_config_json.h index 8973650f85..ecee9541c7 100644 --- a/api/audio/echo_canceller3_config_json.h +++ b/api/audio/echo_canceller3_config_json.h @@ -37,7 +37,8 @@ Aec3ConfigFromJsonString(absl::string_view json_string); // Encodes an Aec3 config in JSON format. Fields corresponds to substruct names, // with the addition that the top-level node is named "aec3". -std::string Aec3ConfigToJsonString(const EchoCanceller3Config& config); +RTC_EXPORT std::string Aec3ConfigToJsonString( + const EchoCanceller3Config& config); } // namespace webrtc diff --git a/api/audio_options.h b/api/audio_options.h index aa2594c59d..b714998c6b 100644 --- a/api/audio_options.h +++ b/api/audio_options.h @@ -16,6 +16,7 @@ #include #include "absl/types/optional.h" +#include "rtc_base/system/rtc_export.h" namespace cricket { @@ -23,7 +24,7 @@ namespace cricket { // Used to be flags, but that makes it hard to selectively apply options. // We are moving all of the setting of options to structs like this, // but some things currently still use flags. -struct AudioOptions { +struct RTC_EXPORT AudioOptions { AudioOptions(); ~AudioOptions(); void SetAll(const AudioOptions& change); diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h index d118e52270..72e20b9200 100644 --- a/api/peer_connection_interface.h +++ b/api/peer_connection_interface.h @@ -1339,7 +1339,8 @@ struct RTC_EXPORT PeerConnectionFactoryDependencies final { // of networking classes, it should use the alternate // CreatePeerConnectionFactory method which accepts threads as input, and use // the CreatePeerConnection version that takes a PortAllocator as an argument. -class PeerConnectionFactoryInterface : public rtc::RefCountInterface { +class RTC_EXPORT PeerConnectionFactoryInterface + : public rtc::RefCountInterface { public: class Options { public: diff --git a/media/BUILD.gn b/media/BUILD.gn index 7d4056a78f..39deaa3052 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -370,6 +370,7 @@ rtc_library("rtc_media_engine_defaults") { "../api/video_codecs:builtin_video_encoder_factory", "../modules/audio_processing:api", "../rtc_base:checks", + "../rtc_base/system:rtc_export", ] } diff --git a/media/engine/webrtc_media_engine_defaults.h b/media/engine/webrtc_media_engine_defaults.h index c61d0696de..16b1d462e3 100644 --- a/media/engine/webrtc_media_engine_defaults.h +++ b/media/engine/webrtc_media_engine_defaults.h @@ -12,11 +12,12 @@ #define MEDIA_ENGINE_WEBRTC_MEDIA_ENGINE_DEFAULTS_H_ #include "media/engine/webrtc_media_engine.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { // Sets required but null dependencies with default factories. -void SetMediaEngineDefaults(cricket::MediaEngineDependencies* deps); +RTC_EXPORT void SetMediaEngineDefaults(cricket::MediaEngineDependencies* deps); } // namespace webrtc