Resolve circular dependency in rtc_media_base.
This one was pretty straightforward fortunately.
Bug: webrtc:6828
Change-Id: Ie7b5e71f1298c409dbca2c74eaa09c0986e41d8f
Reviewed-on: https://webrtc-review.googlesource.com/25821
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20914}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 4ff272f..f59cbb6 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -52,13 +52,6 @@
}
rtc_static_library("rtc_media_base") {
- # TODO(kjellander): Remove (bugs.webrtc.org/6828)
- # Enabling GN check triggers cyclic dependency error:
- # :rtc_media_base ->
- # ../pc:rtc_pc_base ->
- # :rtc_data ->
- # :rtc_media_base
- check_includes = false
defines = []
libs = []
deps = []
@@ -119,9 +112,18 @@
deps += [
"..:webrtc_common",
"../api:libjingle_peerconnection_api",
+ "../api:optional",
+ "../api:video_frame_api",
+ "../api:video_frame_api_i420",
+ "../api/audio_codecs:audio_codecs_api",
+ "../api/video_codecs:video_codecs_api",
+ "../call:call_interfaces",
+ "../call:video_stream_api",
+ "../modules/audio_processing:audio_processing_statistics",
"../p2p",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial_api",
]
public_deps += [ ":rtc_h264_profile_id" ]
diff --git a/media/base/fakemediaengine.h b/media/base/fakemediaengine.h
index f0fae7b..38458f2 100644
--- a/media/base/fakemediaengine.h
+++ b/media/base/fakemediaengine.h
@@ -382,7 +382,7 @@
return true;
}
- virtual bool GetActiveStreams(AudioInfo::StreamList* streams) { return true; }
+ virtual bool GetActiveStreams(StreamList* streams) { return true; }
virtual int GetOutputLevel() { return 0; }
virtual bool CanInsertDtmf() {
diff --git a/media/base/mediachannel.h b/media/base/mediachannel.h
index 7306ebf..4826b2d 100644
--- a/media/base/mediachannel.h
+++ b/media/base/mediachannel.h
@@ -14,6 +14,7 @@
#include <map>
#include <memory>
#include <string>
+#include <utility>
#include <vector>
#include "api/audio_codecs/audio_encoder.h"
@@ -28,6 +29,7 @@
#include "media/base/videosinkinterface.h"
#include "media/base/videosourceinterface.h"
#include "modules/audio_processing/include/audio_processing_statistics.h"
+#include "rtc_base/asyncpacketsocket.h"
#include "rtc_base/basictypes.h"
#include "rtc_base/buffer.h"
#include "rtc_base/copyonwritebuffer.h"
@@ -37,8 +39,7 @@
#include "rtc_base/sigslot.h"
#include "rtc_base/socket.h"
#include "rtc_base/window.h"
-// TODO(juberti): re-evaluate this include
-#include "pc/audiomonitor.h"
+
namespace rtc {
class RateLimiter;
@@ -1020,7 +1021,8 @@
const AudioOptions* options,
AudioSource* source) = 0;
// Gets current energy levels for all incoming streams.
- virtual bool GetActiveStreams(AudioInfo::StreamList* actives) = 0;
+ typedef std::vector<std::pair<uint32_t, int>> StreamList;
+ virtual bool GetActiveStreams(StreamList* actives) = 0;
// Get the current energy level of the stream sent to the speaker.
virtual int GetOutputLevel() = 0;
// Set speaker output volume of the specified ssrc.
diff --git a/media/base/mediaengine.cc b/media/base/mediaengine.cc
index 474ebf3..281ddbb 100644
--- a/media/base/mediaengine.cc
+++ b/media/base/mediaengine.cc
@@ -12,10 +12,6 @@
#if !defined(DISABLE_MEDIA_ENGINE_FACTORY)
-#if defined(HAVE_WEBRTC_VOICE) && defined(HAVE_WEBRTC_VIDEO)
-#include "media/engine/webrtcmediaengine.h"
-#endif // HAVE_WEBRTC_VOICE && HAVE_WEBRTC_VIDEO
-
namespace cricket {
MediaEngineFactory::MediaEngineCreateFunction
diff --git a/media/engine/webrtcvoiceengine.h b/media/engine/webrtcvoiceengine.h
index 456da52..8984299 100644
--- a/media/engine/webrtcvoiceengine.h
+++ b/media/engine/webrtcvoiceengine.h
@@ -192,7 +192,7 @@
bool RemoveSendStream(uint32_t ssrc) override;
bool AddRecvStream(const StreamParams& sp) override;
bool RemoveRecvStream(uint32_t ssrc) override;
- bool GetActiveStreams(AudioInfo::StreamList* actives) override;
+ bool GetActiveStreams(StreamList* actives) override;
int GetOutputLevel() override;
// SSRC=0 will apply the new volume to current and future unsignaled streams.
bool SetOutputVolume(uint32_t ssrc, double volume) override;
diff --git a/pc/jsepsessiondescription.cc b/pc/jsepsessiondescription.cc
index 3844f94..e6b6d32 100644
--- a/pc/jsepsessiondescription.cc
+++ b/pc/jsepsessiondescription.cc
@@ -14,6 +14,7 @@
#include "pc/mediasession.h"
#include "pc/webrtcsdp.h"
+#include "p2p/base/port.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/stringencode.h"
diff --git a/pc/jsepsessiondescription_unittest.cc b/pc/jsepsessiondescription_unittest.cc
index 8e3c10f..be24dcd 100644
--- a/pc/jsepsessiondescription_unittest.cc
+++ b/pc/jsepsessiondescription_unittest.cc
@@ -15,6 +15,7 @@
#include "api/jsepicecandidate.h"
#include "api/jsepsessiondescription.h"
#include "api/webrtcsdp.h"
+#include "p2p/base/port.h"
#include "p2p/base/p2pconstants.h"
#include "p2p/base/sessiondescription.h"
#include "pc/mediasession.h"
diff --git a/pc/webrtcsdp_unittest.cc b/pc/webrtcsdp_unittest.cc
index e532324..2c88c33 100644
--- a/pc/webrtcsdp_unittest.cc
+++ b/pc/webrtcsdp_unittest.cc
@@ -16,6 +16,7 @@
#include "api/jsepsessiondescription.h"
#include "media/base/mediaconstants.h"
#include "media/engine/webrtcvideoengine.h"
+#include "p2p/base/port.h"
#include "p2p/base/p2pconstants.h"
#include "pc/mediasession.h"
#include "rtc_base/checks.h"