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;
