* Update the session layer to p4 37930

* Update the peerconnection_client in sync with updates on the libjingle side.
Review URL: http://webrtc-codereview.appspot.com/29008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@34 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
ronghuawu@google.com
2011-06-01 18:50:40 +00:00
parent c16e32d346
commit e6988b9de5
16 changed files with 451 additions and 1700 deletions

View File

@@ -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 @@ bool Conductor::InitializePeerConnection() {
void Conductor::DeletePeerConnection() {
peer_connection_.reset();
local_renderer_.reset();
remote_renderer_.reset();
handshake_ = NONE;
}
@@ -79,8 +82,14 @@ void Conductor::StartCaptureDevice() {
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 @@ void Conductor::OnAddStream(const std::string& stream_id, int channel_id,
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);

View File

@@ -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 @@ class Conductor
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_