Revert "Remove nogncheck and add proper dependencies."

This reverts commit eefd5439e7dfa0921d0bfcf7d59fbde40d428d39.

Reason for revert: Breaks everything, but somehow passed the trybots??

Original change's description:
> Remove nogncheck and add proper dependencies.
> 
> Bug: webrtc:8733
> Change-Id: I30224de3f9541c0c2652475c78c8889c10ec2121
> Reviewed-on: https://webrtc-review.googlesource.com/39005
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21599}

TBR=phoglund@webrtc.org,hta@webrtc.org

Change-Id: I1c987a82cd284bb4bb6bbedf661ddbab62d5290b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8733
Reviewed-on: https://webrtc-review.googlesource.com/39300
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21600}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 321a342..7db227e 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -191,10 +191,8 @@
     "../call:call_interfaces",
     "../common_video:common_video",
     "../logging:rtc_event_log_api",
-    "../media:rtc_audio_video",
     "../media:rtc_data",
     "../media:rtc_media_base",
-    "../modules/audio_device",
     "../p2p:rtc_p2p",
     "../rtc_base:checks",
     "../rtc_base:rtc_base",
diff --git a/pc/channel.cc b/pc/channel.cc
index d9d3f18..5c91c0b 100644
--- a/pc/channel.cc
+++ b/pc/channel.cc
@@ -26,6 +26,9 @@
 #include "rtc_base/networkroute.h"
 #include "rtc_base/ptr_util.h"
 #include "rtc_base/trace_event.h"
+// Adding 'nogncheck' to disable the gn include headers check to support modular
+// WebRTC build targets.
+#include "media/engine/webrtcvoiceengine.h"  // nogncheck
 #include "p2p/base/packettransportinternal.h"
 #include "pc/channelmanager.h"
 #include "pc/rtpmediautils.h"
diff --git a/pc/peerconnectionfactory.cc b/pc/peerconnectionfactory.cc
index 13fdd9b..d9fcce2 100644
--- a/pc/peerconnectionfactory.cc
+++ b/pc/peerconnectionfactory.cc
@@ -25,10 +25,14 @@
 #include "rtc_base/bind.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/ptr_util.h"
-#include "media/engine/webrtcmediaengine.h"
-#include "media/engine/webrtcvideodecoderfactory.h"
-#include "media/engine/webrtcvideoencoderfactory.h"
-#include "modules/audio_device/include/audio_device.h"
+// Adding 'nogncheck' to disable the gn include headers check to support modular
+// WebRTC build targets.
+// TODO(zhihuang): This wouldn't be necessary if the interface and
+// implementation of the media engine were in separate build targets.
+#include "media/engine/webrtcmediaengine.h"             // nogncheck
+#include "media/engine/webrtcvideodecoderfactory.h"     // nogncheck
+#include "media/engine/webrtcvideoencoderfactory.h"     // nogncheck
+#include "modules/audio_device/include/audio_device.h"  // nogncheck
 #include "p2p/base/basicpacketsocketfactory.h"
 #include "p2p/client/basicportallocator.h"
 #include "pc/audiotrack.h"
diff --git a/pc/rtpsender.h b/pc/rtpsender.h
index 13bc95d..eb09d0b 100644
--- a/pc/rtpsender.h
+++ b/pc/rtpsender.h
@@ -23,7 +23,9 @@
 #include "api/rtpsenderinterface.h"
 #include "rtc_base/basictypes.h"
 #include "rtc_base/criticalsection.h"
-#include "media/base/audiosource.h"
+// Adding 'nogncheck' to disable the gn include headers check to support modular
+// WebRTC build targets.
+#include "media/base/audiosource.h"  // nogncheck
 #include "pc/channel.h"
 #include "pc/dtmfsender.h"
 #include "pc/statscollector.h"