Export symbols needed by the Chromium component build (part 6).
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: I67a4d016a11deca5ac5459826741dd2d3f7931d5
Reviewed-on: https://webrtc-review.googlesource.com/c/107400
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25298}
diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn
index 3e07298..129336b 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -59,6 +59,7 @@
":video_codecs_api",
"../../media:rtc_internal_video_codecs",
"../../rtc_base:ptr_util",
+ "../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
]
}
@@ -79,6 +80,7 @@
"../../media:rtc_internal_video_codecs",
"../../media:rtc_media_base",
"../../rtc_base:ptr_util",
+ "../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/memory",
]
}
diff --git a/api/video_codecs/builtin_video_decoder_factory.h b/api/video_codecs/builtin_video_decoder_factory.h
index 1f8e75c..d516077 100644
--- a/api/video_codecs/builtin_video_decoder_factory.h
+++ b/api/video_codecs/builtin_video_decoder_factory.h
@@ -14,11 +14,13 @@
#include <memory>
#include "api/video_codecs/video_decoder_factory.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// Creates a new factory that can create the built-in types of video decoders.
-std::unique_ptr<VideoDecoderFactory> CreateBuiltinVideoDecoderFactory();
+RTC_EXPORT std::unique_ptr<VideoDecoderFactory>
+CreateBuiltinVideoDecoderFactory();
} // namespace webrtc
diff --git a/api/video_codecs/builtin_video_encoder_factory.h b/api/video_codecs/builtin_video_encoder_factory.h
index 6a6618f..2c45372 100644
--- a/api/video_codecs/builtin_video_encoder_factory.h
+++ b/api/video_codecs/builtin_video_encoder_factory.h
@@ -14,12 +14,14 @@
#include <memory>
#include "api/video_codecs/video_encoder_factory.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
// Creates a new factory that can create the built-in types of video encoders.
// The factory has simulcast support for VP8.
-std::unique_ptr<VideoEncoderFactory> CreateBuiltinVideoEncoderFactory();
+RTC_EXPORT std::unique_ptr<VideoEncoderFactory>
+CreateBuiltinVideoEncoderFactory();
} // namespace webrtc
diff --git a/api/video_codecs/sdp_video_format.h b/api/video_codecs/sdp_video_format.h
index c25b857..edb7819 100644
--- a/api/video_codecs/sdp_video_format.h
+++ b/api/video_codecs/sdp_video_format.h
@@ -14,11 +14,13 @@
#include <map>
#include <string>
+#include "rtc_base/system/rtc_export.h"
+
namespace webrtc {
// SDP specification for a single video codec.
// NOTE: This class is still under development and may change without notice.
-struct SdpVideoFormat {
+struct RTC_EXPORT SdpVideoFormat {
using Parameters = std::map<std::string, std::string>;
explicit SdpVideoFormat(const std::string& name);
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index c5758a4..cbbb649 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -87,8 +87,8 @@
};
// Translates from name of codec to codec type and vice versa.
-const char* CodecTypeToPayloadString(VideoCodecType type);
-VideoCodecType PayloadStringToCodecType(const std::string& name);
+RTC_EXPORT const char* CodecTypeToPayloadString(VideoCodecType type);
+RTC_EXPORT VideoCodecType PayloadStringToCodecType(const std::string& name);
union VideoCodecUnion {
VideoCodecVP8 VP8;