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}
This commit is contained in:
Mirko Bonadei
2018-10-03 16:44:10 +02:00
committed by Commit Bot
parent 4a72ba99a7
commit 9e24dcff16
34 changed files with 84 additions and 39 deletions

View File

@ -39,6 +39,9 @@ rtc_source_set("aec3_config") {
"echo_canceller3_config.cc",
"echo_canceller3_config.h",
]
deps = [
"../../rtc_base/system:rtc_export",
]
}
rtc_source_set("aec3_factory") {
@ -54,6 +57,7 @@ rtc_source_set("aec3_factory") {
":echo_control",
"../../modules/audio_processing/aec3",
"../../rtc_base:rtc_base_approved",
"../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
]
}

View File

@ -13,10 +13,12 @@
#include <stddef.h> // size_t
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// Configuration struct for EchoCanceller3
struct EchoCanceller3Config {
struct RTC_EXPORT EchoCanceller3Config {
EchoCanceller3Config();
EchoCanceller3Config(const EchoCanceller3Config& e);
struct Delay {

View File

@ -15,10 +15,11 @@
#include "api/audio/echo_canceller3_config.h"
#include "api/audio/echo_control.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
class EchoCanceller3Factory : public EchoControlFactory {
class RTC_EXPORT EchoCanceller3Factory : public EchoControlFactory {
public:
// Factory producing EchoCanceller3 instances with the default configuration.
EchoCanceller3Factory();

View File

@ -25,6 +25,7 @@ rtc_static_library("audio_encoder_L16") {
"../../../modules/audio_coding:pcm16b",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -25,7 +26,7 @@ namespace webrtc {
// CreateAudioEncoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioEncoderL16 {
struct RTC_EXPORT AudioEncoderL16 {
struct Config {
bool IsOk() const {
return (sample_rate_hz == 8000 || sample_rate_hz == 16000 ||

View File

@ -25,6 +25,7 @@ rtc_static_library("audio_encoder_g711") {
"../../../modules/audio_coding:g711",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -25,7 +26,7 @@ namespace webrtc {
// CreateAudioEncoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioEncoderG711 {
struct RTC_EXPORT AudioEncoderG711 {
struct Config {
enum class Type { kPcmU, kPcmA };
bool IsOk() const {

View File

@ -33,6 +33,7 @@ rtc_static_library("audio_encoder_g722") {
"../../../modules/audio_coding:g722",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/g722/audio_encoder_g722_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -26,7 +27,7 @@ namespace webrtc {
// CreateAudioEncoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioEncoderG722 {
struct RTC_EXPORT AudioEncoderG722 {
using Config = AudioEncoderG722Config;
static absl::optional<AudioEncoderG722Config> SdpToConfig(
const SdpAudioFormat& audio_format);

View File

@ -131,6 +131,7 @@ rtc_static_library("audio_decoder_isac_float") {
"../../..:webrtc_common",
"../../../modules/audio_coding:isac",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -25,7 +26,7 @@ namespace webrtc {
// parameter to CreateAudioDecoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioDecoderIsacFloat {
struct RTC_EXPORT AudioDecoderIsacFloat {
struct Config {
bool IsOk() const {
return sample_rate_hz == 16000 || sample_rate_hz == 32000;

View File

@ -44,6 +44,7 @@ rtc_source_set("audio_encoder_opus") {
"..:audio_codecs_api",
"../../../modules/audio_coding:webrtc_opus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/types:optional",
]
}
@ -60,6 +61,7 @@ rtc_static_library("audio_decoder_opus") {
"../../..:webrtc_common",
"../../../modules/audio_coding:webrtc_opus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -25,7 +26,7 @@ namespace webrtc {
// CreateAudioDecoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioDecoderOpus {
struct RTC_EXPORT AudioDecoderOpus {
struct Config {
int num_channels;
};

View File

@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -26,7 +27,7 @@ namespace webrtc {
// CreateAudioEncoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioEncoderOpus {
struct RTC_EXPORT AudioEncoderOpus {
using Config = AudioEncoderOpusConfig;
static absl::optional<AudioEncoderOpusConfig> SdpToConfig(
const SdpAudioFormat& audio_format);

View File

@ -136,6 +136,7 @@ rtc_static_library("rtc_media_base") {
"../modules/audio_processing:audio_processing_statistics",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base/system:rtc_export",
"../rtc_base/third_party/sigslot",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -12,6 +12,7 @@
#define MEDIA_BASE_RTPUTILS_H_
#include "rtc_base/byteorder.h"
#include "rtc_base/system/rtc_export.h"
namespace rtc {
struct PacketTimeUpdateParams;
@ -68,7 +69,7 @@ bool IsValidRtpRtcpPacketSize(bool rtcp, size_t size);
const char* RtpRtcpStringLiteral(bool rtcp);
// Verifies that a packet has a valid RTP header.
bool ValidateRtpHeader(const uint8_t* rtp,
bool RTC_EXPORT ValidateRtpHeader(const uint8_t* rtp,
size_t length,
size_t* header_length);
@ -80,7 +81,8 @@ bool UpdateRtpAbsSendTimeExtension(uint8_t* rtp,
// Applies specified |options| to the packet. It updates the absolute send time
// extension header if it is present present then updates HMAC.
bool ApplyPacketOptions(uint8_t* data,
bool RTC_EXPORT
ApplyPacketOptions(uint8_t* data,
size_t length,
const rtc::PacketTimeUpdateParams& packet_time_params,
uint64_t time_us);

View File

@ -14,13 +14,15 @@
#include <cstddef>
#include <cstdint>
#include "rtc_base/system/rtc_export.h"
namespace cricket {
struct PacketOptions;
// Finds data location within a TURN Channel Message or TURN Send Indication
// message.
bool UnwrapTurnPacket(const uint8_t* packet,
bool RTC_EXPORT UnwrapTurnPacket(const uint8_t* packet,
size_t packet_size,
size_t* content_position,
size_t* content_size);

View File

@ -119,6 +119,7 @@ rtc_static_library("audio_processing") {
"../../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 @@ rtc_source_set("audio_processing_statistics") {
"include/audio_processing_statistics.h",
]
deps = [
"../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/types:optional",
]
}

View File

@ -17,6 +17,7 @@ rtc_source_set("aec_dump") {
deps = [
"../",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
]
}

View File

@ -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 @@ class TaskQueue;
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

View File

@ -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 @@ class AudioProcessing : public rtc::RefCountInterface {
float minimum_ = 0.0f; // Long-term minimum.
};
struct AudioProcessingStatistics {
struct RTC_EXPORT AudioProcessingStatistics {
AudioProcessingStatistics();
AudioProcessingStatistics(const AudioProcessingStatistics& other);
~AudioProcessingStatistics();
@ -653,7 +654,7 @@ class AudioProcessing : public rtc::RefCountInterface {
static const int kChunkSizeMs = 10;
};
class AudioProcessingBuilder {
class RTC_EXPORT AudioProcessingBuilder {
public:
AudioProcessingBuilder();
~AudioProcessingBuilder();

View File

@ -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();

View File

@ -14,6 +14,7 @@
#include <map>
#include "rtc_base/constructormagic.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -57,7 +58,7 @@ enum class ConfigOptionID {
// 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.

View File

@ -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();

View File

@ -30,6 +30,7 @@ rtc_static_library("primitives") {
deps = [
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
]
@ -376,6 +377,7 @@ rtc_static_library("desktop_capture_generic") {
"../../rtc_base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
"../../rtc_base/synchronization:rw_lock_wrapper",
"../../rtc_base/system:arch",
"../../rtc_base/system:rtc_export",
"../../system_wrappers",
"../../system_wrappers:cpu_features_api",
"../../system_wrappers:metrics",

View File

@ -12,6 +12,7 @@
#define MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
#include "modules/desktop_capture/desktop_frame.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -20,8 +21,8 @@ namespace webrtc {
// |frame| should not be nullptr. |rect| is in |frame| coordinate, i.e.
// |frame|->top_left() does not impact the area of |rect|.
// Returns nullptr frame if |rect| is not contained by the bounds of |frame|.
std::unique_ptr<DesktopFrame> CreateCroppedDesktopFrame(
std::unique_ptr<DesktopFrame> frame,
std::unique_ptr<DesktopFrame> RTC_EXPORT
CreateCroppedDesktopFrame(std::unique_ptr<DesktopFrame> frame,
const DesktopRect& rect);
} // namespace webrtc

View File

@ -15,13 +15,14 @@
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capturer.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// WindowCapturer implementation that uses a screen capturer to capture the
// whole screen and crops the video frame to the window area when the captured
// window is on top.
class CroppingWindowCapturer : public DesktopCapturer,
class RTC_EXPORT CroppingWindowCapturer : public DesktopCapturer,
public DesktopCapturer::Callback {
public:
static std::unique_ptr<DesktopCapturer> CreateCapturer(

View File

@ -17,12 +17,14 @@
#include "modules/desktop_capture/desktop_capturer.h"
#include "modules/desktop_capture/mouse_cursor_monitor.h"
#include "rtc_base/constructormagic.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// A wrapper for DesktopCapturer that also captures mouse using specified
// MouseCursorMonitor and renders it on the generated streams.
class DesktopAndCursorComposer : public DesktopCapturer,
class RTC_EXPORT DesktopAndCursorComposer
: public DesktopCapturer,
public DesktopCapturer::Callback,
public MouseCursorMonitor::Callback {
public:

View File

@ -12,6 +12,7 @@
#include "rtc_base/constructormagic.h"
#include "rtc_base/scoped_ref_ptr.h"
#include "rtc_base/system/rtc_export.h"
#if defined(USE_X11)
#include "modules/desktop_capture/x11/shared_x_display.h"
@ -26,7 +27,7 @@ namespace webrtc {
// An object that stores initialization parameters for screen and window
// capturers.
class DesktopCaptureOptions {
class RTC_EXPORT DesktopCaptureOptions {
public:
// Returns instance of DesktopCaptureOptions with default parameters. On Linux
// also initializes X window connection. x_display() will be set to null if

View File

@ -22,6 +22,7 @@
#include "modules/desktop_capture/desktop_capture_types.h"
#include "modules/desktop_capture/desktop_frame.h"
#include "modules/desktop_capture/shared_memory.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -29,7 +30,7 @@ class DesktopCaptureOptions;
class DesktopFrame;
// Abstract interface for screen and window capturers.
class DesktopCapturer {
class RTC_EXPORT DesktopCapturer {
public:
enum class Result {
// The frame was captured successfully.

View File

@ -18,13 +18,14 @@
#include "modules/desktop_capture/desktop_region.h"
#include "modules/desktop_capture/shared_memory.h"
#include "rtc_base/constructormagic.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
const int kStandardDPI = 96;
// DesktopFrame represents a video frame captured from the screen.
class DesktopFrame {
class RTC_EXPORT DesktopFrame {
public:
// DesktopFrame objects always hold RGBA data.
static const int kBytesPerPixel = 4;
@ -135,7 +136,7 @@ class DesktopFrame {
};
// A DesktopFrame that stores data in the heap.
class BasicDesktopFrame : public DesktopFrame {
class RTC_EXPORT BasicDesktopFrame : public DesktopFrame {
public:
explicit BasicDesktopFrame(DesktopSize size);

View File

@ -17,6 +17,7 @@
#include "modules/desktop_capture/desktop_capturer.h"
#include "modules/desktop_capture/desktop_frame_generator.h"
#include "modules/desktop_capture/shared_memory.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -31,7 +32,7 @@ namespace webrtc {
// Double buffering is guaranteed by the FrameGenerator. FrameGenerator
// implements in desktop_frame_generator.h guarantee double buffering, they
// creates a new instance of DesktopFrame each time.
class FakeDesktopCapturer : public DesktopCapturer {
class RTC_EXPORT FakeDesktopCapturer : public DesktopCapturer {
public:
FakeDesktopCapturer();
~FakeDesktopCapturer() override;

View File

@ -529,6 +529,7 @@ rtc_source_set("rtc_task_queue_api") {
deps = [
":macromagic",
":ptr_util",
"system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
]
}

View File

@ -18,6 +18,7 @@
#include "absl/memory/memory.h"
#include "rtc_base/constructormagic.h"
#include "rtc_base/scoped_ref_ptr.h"
#include "rtc_base/system/rtc_export.h"
#include "rtc_base/thread_annotations.h"
namespace rtc {
@ -150,7 +151,7 @@ static std::unique_ptr<QueuedTask> NewClosure(Closure&& closure,
// TaskQueue itself has been deleted or it may happen synchronously while the
// TaskQueue instance is being deleted. This may vary from one OS to the next
// so assumptions about lifetimes of pending tasks should not be made.
class RTC_LOCKABLE TaskQueue {
class RTC_LOCKABLE RTC_EXPORT TaskQueue {
public:
// TaskQueue priority levels. On some platforms these will map to thread
// priorities, on others such as Mac and iOS, GCD queue priorities.