If this gives you problems, delete the third_party/libjingle directory and sync again
Review URL: http://webrtc-codereview.appspot.com/22023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@57 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/DEPS b/DEPS
index d575019..d874da2 100644
--- a/DEPS
+++ b/DEPS
@@ -67,7 +67,7 @@
   },

   {

     "pattern": ".",

-    "action": ["svn", "export", Var("webrtc_trunk") + "/third_party_mods/libjingle@29", "third_party/libjingle", "--force"],

+    "action": ["svn", "export", Var("webrtc_trunk") + "/third_party_mods/libjingle", "third_party/libjingle", "--force"],

   },

   {

     "pattern": ".",

diff --git a/peerconnection/samples/client/conductor.cc b/peerconnection/samples/client/conductor.cc
index 698ba48..e0c029f 100644
--- a/peerconnection/samples/client/conductor.cc
+++ b/peerconnection/samples/client/conductor.cc
@@ -12,6 +12,7 @@
 
 #include "peerconnection/samples/client/defaults.h"
 #include "talk/base/logging.h"
+#include "talk/session/phone/videorendererfactory.h"
 
 Conductor::Conductor(PeerConnectionClient* client, MainWnd* main_wnd)
   : handshake_(NONE),
@@ -70,6 +71,8 @@
 
 void Conductor::DeletePeerConnection() {
   peer_connection_.reset();
+  local_renderer_.reset();
+  remote_renderer_.reset();
   handshake_ = NONE;
 }
 
@@ -79,8 +82,14 @@
     main_wnd_->SwitchToStreamingUI();
 
     if (peer_connection_->SetVideoCapture("")) {
-      peer_connection_->SetVideoRenderer(-1, main_wnd_->handle(), 0,
-                                         0.7f, 0.7f, 0.95f, 0.95f);
+      if (!local_renderer_.get()) {
+        // The window will be resized according to the stream properties
+        // when streaming starts.
+        local_renderer_.reset(
+            cricket::VideoRendererFactory::CreateGuiVideoRenderer(100, 100));
+      }
+      if (local_renderer_.get())
+        peer_connection_->SetLocalVideoRenderer(local_renderer_.get());
     } else {
       ASSERT(false);
     }
@@ -130,8 +139,13 @@
     video_channel_ = channel_id;
     waiting_for_video_ = false;
     LOG(INFO) << "Setting video renderer for channel: " << channel_id;
-    bool ok = peer_connection_->SetVideoRenderer(channel_id,
-        main_wnd_->handle(), 1, 0.0f, 0.0f, 1.0f, 1.0f);
+    if (!remote_renderer_.get()) {
+      // The window size will be automatically corrected.
+      remote_renderer_.reset(
+          cricket::VideoRendererFactory::CreateGuiVideoRenderer(100, 100));
+    }
+    bool ok = peer_connection_->SetVideoRenderer(stream_id,
+                                                 remote_renderer_.get());
     ASSERT(ok);
   } else {
     ASSERT(audio_channel_ == -1);
diff --git a/peerconnection/samples/client/conductor.h b/peerconnection/samples/client/conductor.h
index ce968d7..3b9d471 100644
--- a/peerconnection/samples/client/conductor.h
+++ b/peerconnection/samples/client/conductor.h
@@ -19,6 +19,9 @@
 #include "talk/app/peerconnection.h"
 #include "talk/base/scoped_ptr.h"
 
+namespace cricket {
+class VideoRenderer;
+}  // namespace cricket
 
 class Conductor
   : public webrtc::PeerConnectionObserver,
@@ -112,6 +115,8 @@
   MainWnd* main_wnd_;
   int video_channel_;
   int audio_channel_;
+  talk_base::scoped_ptr<cricket::VideoRenderer> local_renderer_;
+  talk_base::scoped_ptr<cricket::VideoRenderer> remote_renderer_;
 };
 
 #endif  // PEERCONNECTION_SAMPLES_CLIENT_CONDUCTOR_H_