Export symbols needed by the Chromium component build (part 8).

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: Ib2c29054b2ae008f5291bd3b762a504b18534326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130513
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27410}
diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn
index 672246d..21cdca2 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -143,6 +143,7 @@
     "../../rtc_base:checks",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base/system:fallthrough",
+    "../../rtc_base/system:rtc_export",
     "../../system_wrappers:field_trial",
     "../video:encoded_image",
     "../video:video_bitrate_allocation",
diff --git a/api/video_codecs/sdp_video_format.h b/api/video_codecs/sdp_video_format.h
index edb7819..da1ff0b 100644
--- a/api/video_codecs/sdp_video_format.h
+++ b/api/video_codecs/sdp_video_format.h
@@ -32,8 +32,10 @@
 
   ~SdpVideoFormat();
 
-  friend bool operator==(const SdpVideoFormat& a, const SdpVideoFormat& b);
-  friend bool operator!=(const SdpVideoFormat& a, const SdpVideoFormat& b) {
+  friend RTC_EXPORT bool operator==(const SdpVideoFormat& a,
+                                    const SdpVideoFormat& b);
+  friend RTC_EXPORT bool operator!=(const SdpVideoFormat& a,
+                                    const SdpVideoFormat& b) {
     return !(a == b);
   }
 
diff --git a/api/video_codecs/video_decoder_factory.h b/api/video_codecs/video_decoder_factory.h
index a221689..e4d83c2 100644
--- a/api/video_codecs/video_decoder_factory.h
+++ b/api/video_codecs/video_decoder_factory.h
@@ -15,6 +15,8 @@
 #include <string>
 #include <vector>
 
+#include "rtc_base/system/rtc_export.h"
+
 namespace webrtc {
 
 class VideoDecoder;
@@ -22,7 +24,7 @@
 
 // A factory that creates VideoDecoders.
 // NOTE: This class is still under development and may change without notice.
-class VideoDecoderFactory {
+class RTC_EXPORT VideoDecoderFactory {
  public:
   // Returns a list of supported video formats in order of preference, to use
   // for signaling etc.
diff --git a/api/video_codecs/video_decoder_software_fallback_wrapper.h b/api/video_codecs/video_decoder_software_fallback_wrapper.h
index 0608715..3f44e02 100644
--- a/api/video_codecs/video_decoder_software_fallback_wrapper.h
+++ b/api/video_codecs/video_decoder_software_fallback_wrapper.h
@@ -14,13 +14,15 @@
 #include <memory>
 
 #include "api/video_codecs/video_decoder.h"
+#include "rtc_base/system/rtc_export.h"
 
 namespace webrtc {
 
 // Used to wrap external VideoDecoders to provide a fallback option on
 // software decoding when a hardware decoder fails to decode a stream due to
 // hardware restrictions, such as max resolution.
-std::unique_ptr<VideoDecoder> CreateVideoDecoderSoftwareFallbackWrapper(
+RTC_EXPORT std::unique_ptr<VideoDecoder>
+CreateVideoDecoderSoftwareFallbackWrapper(
     std::unique_ptr<VideoDecoder> sw_fallback_decoder,
     std::unique_ptr<VideoDecoder> hw_decoder);
 
diff --git a/api/video_codecs/video_encoder_software_fallback_wrapper.h b/api/video_codecs/video_encoder_software_fallback_wrapper.h
index 0f46ad4..fa93ab8 100644
--- a/api/video_codecs/video_encoder_software_fallback_wrapper.h
+++ b/api/video_codecs/video_encoder_software_fallback_wrapper.h
@@ -14,13 +14,15 @@
 #include <memory>
 
 #include "api/video_codecs/video_encoder.h"
+#include "rtc_base/system/rtc_export.h"
 
 namespace webrtc {
 
 // Used to wrap external VideoEncoders to provide a fallback option on
 // software encoding when a hardware encoder fails to encode a stream due to
 // hardware restrictions, such as max resolution.
-std::unique_ptr<VideoEncoder> CreateVideoEncoderSoftwareFallbackWrapper(
+RTC_EXPORT std::unique_ptr<VideoEncoder>
+CreateVideoEncoderSoftwareFallbackWrapper(
     std::unique_ptr<VideoEncoder> sw_fallback_encoder,
     std::unique_ptr<VideoEncoder> hw_encoder);