Revert of Remove AudioTrackRenderer (patchset #3 id:40001 of https://codereview.webrtc.org/1399553003/ )

Reason for revert:
Breaks Chrome since its build files were not updated prior to file removal.

Original issue's description:
> - Remove AudioTrackRenderer.
> - Remove AddChannel/RemoveChannel from AudioRenderer interface.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/1c0bb386b67835feb5934f503dddfe0912bce3ac
> Cr-Commit-Position: refs/heads/master@{#10226}

TBR=tommi@webrtc.org,solenberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1393343003

Cr-Commit-Position: refs/heads/master@{#10228}
diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc
index ff41383..2853ca4 100644
--- a/talk/app/webrtc/webrtcsession_unittest.cc
+++ b/talk/app/webrtc/webrtcsession_unittest.cc
@@ -330,16 +330,26 @@
 
 class FakeAudioRenderer : public cricket::AudioRenderer {
  public:
-  FakeAudioRenderer() : sink_(NULL) {}
+  FakeAudioRenderer() : channel_id_(-1), sink_(NULL) {}
   virtual ~FakeAudioRenderer() {
     if (sink_)
       sink_->OnClose();
   }
 
+  void AddChannel(int channel_id) override {
+    ASSERT(channel_id_ == -1);
+    channel_id_ = channel_id;
+  }
+  void RemoveChannel(int channel_id) override {
+    ASSERT(channel_id == channel_id_);
+    channel_id_ = -1;
+  }
   void SetSink(Sink* sink) override { sink_ = sink; }
 
+  int channel_id() const { return channel_id_; }
   cricket::AudioRenderer::Sink* sink() const { return sink_; }
  private:
+  int channel_id_;
   cricket::AudioRenderer::Sink* sink_;
 };
 
@@ -3107,10 +3117,12 @@
   EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol));
   EXPECT_EQ(0, left_vol);
   EXPECT_EQ(0, right_vol);
+  EXPECT_EQ(0, renderer->channel_id());
   session_->SetAudioPlayout(receive_ssrc, true, NULL);
   EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol));
   EXPECT_EQ(1, left_vol);
   EXPECT_EQ(1, right_vol);
+  EXPECT_EQ(-1, renderer->channel_id());
 }
 
 TEST_F(WebRtcSessionTest, SetAudioSend) {
@@ -3130,6 +3142,7 @@
   session_->SetAudioSend(send_ssrc, false, options, renderer.get());
   EXPECT_TRUE(channel->IsStreamMuted(send_ssrc));
   EXPECT_FALSE(channel->options().echo_cancellation.IsSet());
+  EXPECT_EQ(0, renderer->channel_id());
   EXPECT_TRUE(renderer->sink() != NULL);
 
   // This will trigger SetSink(NULL) to the |renderer|.
@@ -3138,6 +3151,7 @@
   bool value;
   EXPECT_TRUE(channel->options().echo_cancellation.Get(&value));
   EXPECT_TRUE(value);
+  EXPECT_EQ(-1, renderer->channel_id());
   EXPECT_TRUE(renderer->sink() == NULL);
 }