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_