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/media_stream_interface.h b/api/media_stream_interface.h
index 1249b85..ccacb4c 100644
--- a/api/media_stream_interface.h
+++ b/api/media_stream_interface.h
@@ -30,6 +30,7 @@
#include "api/video/video_source_interface.h"
#include "modules/audio_processing/include/audio_processing_statistics.h"
#include "rtc_base/ref_count.h"
+#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -52,8 +53,8 @@
// Base class for sources. A MediaStreamTrack has an underlying source that
// provides media. A source can be shared by multiple tracks.
-class MediaSourceInterface : public rtc::RefCountInterface,
- public NotifierInterface {
+class RTC_EXPORT MediaSourceInterface : public rtc::RefCountInterface,
+ public NotifierInterface {
public:
enum SourceState { kInitializing, kLive, kEnded, kMuted };
@@ -74,8 +75,8 @@
// C++ version of MediaStreamTrack.
// See: https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack
-class MediaStreamTrackInterface : public rtc::RefCountInterface,
- public NotifierInterface {
+class RTC_EXPORT MediaStreamTrackInterface : public rtc::RefCountInterface,
+ public NotifierInterface {
public:
enum TrackState {
kLive,
@@ -190,7 +191,7 @@
// AudioSourceInterface is a reference counted source used for AudioTracks.
// The same source can be used by multiple AudioTracks.
-class AudioSourceInterface : public MediaSourceInterface {
+class RTC_EXPORT AudioSourceInterface : public MediaSourceInterface {
public:
class AudioObserver {
public: