Rolling libjingle revison r163.

Review URL: https://chromiumcodereview.appspot.com/10833061

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149013 0039d316-1c4b-4281-b951-d872f2087c98
parent 295ae852
......@@ -46,7 +46,7 @@ vars = {
"nacl_toolchain_revision": "9170",
"pnacl_toolchain_revision": "9213",
"libjingle_revision": "161",
"libjingle_revision": "163",
"libphonenumber_revision": "456",
"libvpx_revision": "147803",
"lss_revision": "11",
......
......@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/string_number_conversions.h"
#include "base/utf_string_conversions.h"
#include "content/renderer/media/media_stream_impl.h"
#include "content/renderer/media/media_stream_extra_data.h"
......@@ -141,8 +142,14 @@ void MediaStreamCenter::didCreateMediaStream(
WebKit::WebString MediaStreamCenter::constructSDP(
const WebKit::WebICECandidateDescriptor& candidate) {
int m_line_index = -1;
if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) {
LOG(ERROR) << "Invalid candidate label: " << UTF16ToUTF8(candidate.label());
return WebKit::WebString();
}
scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
webrtc::CreateIceCandidate(UTF16ToUTF8(candidate.label()),
m_line_index,
UTF16ToUTF8(candidate.candidateLine())));
std::string sdp;
if (!native_candidate->ToString(&sdp))
......@@ -159,8 +166,15 @@ WebKit::WebString MediaStreamCenter::constructSDP(
for (size_t i = 0; i < description.numberOfAddedCandidates(); ++i) {
WebKit::WebICECandidateDescriptor candidate = description.candidate(i);
int m_line_index = -1;
if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) {
LOG(ERROR) << "Invalid candidate label: "
<< UTF16ToUTF8(candidate.label());
continue;
}
scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
webrtc::CreateIceCandidate(UTF16ToUTF8(candidate.label()),
m_line_index,
UTF16ToUTF8(candidate.candidateLine())));
native_desc->AddCandidate(native_candidate.get());
}
......
......@@ -145,7 +145,8 @@ MediaStreamDependencyFactory::CreateSessionDescription(const std::string& sdp) {
}
webrtc::IceCandidateInterface* MediaStreamDependencyFactory::CreateIceCandidate(
const std::string& label,
const std::string& sdp_mid,
int sdp_mline_index,
const std::string& sdp) {
return webrtc::CreateIceCandidate(label, sdp);
return webrtc::CreateIceCandidate(sdp_mid, sdp_mline_index, sdp);
}
......@@ -76,7 +76,8 @@ class CONTENT_EXPORT MediaStreamDependencyFactory {
virtual webrtc::SessionDescriptionInterface* CreateSessionDescription(
const std::string& sdp);
virtual webrtc::IceCandidateInterface* CreateIceCandidate(
const std::string& label,
const std::string& sdp_mid,
int sdp_mline_index,
const std::string& sdp);
private:
......
......@@ -190,9 +190,9 @@ class MockSessionDescription : public SessionDescriptionInterface {
NOTIMPLEMENTED();
return "";
}
virtual SdpType type() const OVERRIDE {
virtual std::string type() const OVERRIDE {
NOTIMPLEMENTED();
return kOffer;
return "";
}
virtual bool AddCandidate(const IceCandidateInterface* candidate) OVERRIDE {
NOTIMPLEMENTED();
......@@ -219,13 +219,19 @@ class MockSessionDescription : public SessionDescriptionInterface {
class MockIceCandidate : public IceCandidateInterface {
public:
MockIceCandidate(const std::string& label, const std::string& sdp)
: label_(label),
MockIceCandidate(const std::string& sdp_mid,
int sdp_mline_index,
const std::string& sdp)
: sdp_mid_(sdp_mid),
sdp_mline_index_(sdp_mline_index),
sdp_(sdp) {
}
virtual ~MockIceCandidate() {}
virtual std::string label() const OVERRIDE {
return label_;
virtual std::string sdp_mid() const OVERRIDE {
return sdp_mid_;
}
virtual int sdp_mline_index() const OVERRIDE {
return sdp_mline_index_;
}
virtual const cricket::Candidate& candidate() const OVERRIDE {
// This function should never be called. It will intentionally crash. The
......@@ -240,7 +246,8 @@ class MockIceCandidate : public IceCandidateInterface {
}
private:
std::string label_;
std::string sdp_mid_;
int sdp_mline_index_;
std::string sdp_;
};
......@@ -314,7 +321,8 @@ MockMediaStreamDependencyFactory::CreateSessionDescription(
webrtc::IceCandidateInterface*
MockMediaStreamDependencyFactory::CreateIceCandidate(
const std::string& label,
const std::string& sdp_mid,
int sdp_mline_index,
const std::string& sdp) {
return new webrtc::MockIceCandidate(label, sdp);
return new webrtc::MockIceCandidate(sdp_mid, sdp_mline_index, sdp);
}
......@@ -101,7 +101,8 @@ class MockMediaStreamDependencyFactory : public MediaStreamDependencyFactory {
virtual webrtc::SessionDescriptionInterface* CreateSessionDescription(
const std::string& sdp) OVERRIDE;
virtual webrtc::IceCandidateInterface* CreateIceCandidate(
const std::string& label,
const std::string& sdp_mid,
int sdp_mline_index,
const std::string& sdp) OVERRIDE;
private:
......
......@@ -164,7 +164,8 @@ bool MockPeerConnectionImpl::SetRemoteDescription(
bool MockPeerConnectionImpl::ProcessIceMessage(
const webrtc::IceCandidateInterface* ice_candidate) {
ice_label_ = ice_candidate->label();
sdp_mid_ = ice_candidate->sdp_mid();
sdp_mline_index_ = ice_candidate->sdp_mline_index();
return ice_candidate->ToString(&ice_sdp_);
}
......
......@@ -87,7 +87,8 @@ class MockPeerConnectionImpl : public PeerConnectionInterface {
Action action() const { return action_; }
const std::string& description_sdp() const { return description_sdp_; }
IceOptions ice_options() const { return ice_options_; }
const std::string& ice_label() const { return ice_label_; }
const std::string& sdp_mid() const { return sdp_mid_; }
int sdp_mline_index() const { return sdp_mline_index_; }
const std::string& ice_sdp() const { return ice_sdp_; }
static const char kDummyOffer[];
......@@ -111,7 +112,8 @@ class MockPeerConnectionImpl : public PeerConnectionInterface {
Action action_;
std::string description_sdp_;
IceOptions ice_options_;
std::string ice_label_;
std::string sdp_mid_;
int sdp_mline_index_;
std::string ice_sdp_;
ReadyState ready_state_;
......
......@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/logging.h"
#include "base/string_number_conversions.h"
#include "base/stringprintf.h"
#include "base/utf_string_conversions.h"
#include "content/renderer/media/media_stream_dependency_factory.h"
#include "content/renderer/media/media_stream_impl.h"
......@@ -153,9 +154,18 @@ bool PeerConnectionHandlerJsep::startIce(const WebKit::WebICEOptions& options) {
bool PeerConnectionHandlerJsep::processIceMessage(
const WebKit::WebICECandidateDescriptor& candidate) {
int m_line_index = -1;
if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) {
LOG(ERROR) << "Invalid candidate label: "
<< UTF16ToUTF8(candidate.label());
return false;
}
// TODO(ronghuawu): Use sdp_mid when its available, for now its empty string.
const std::string sdp_mid = "";
scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
dependency_factory_->CreateIceCandidate(
UTF16ToUTF8(candidate.label()),
sdp_mid,
m_line_index,
UTF16ToUTF8(candidate.candidateLine())));
if (!native_candidate.get()) {
LOG(ERROR) << "Could not create native ICE candidate";
......@@ -279,7 +289,7 @@ void PeerConnectionHandlerJsep::OnIceCandidate(
const webrtc::IceCandidateInterface* candidate) {
WebKit::WebICECandidateDescriptor web_candidate;
std::string label = candidate->label();
std::string label = StringPrintf("%d", candidate->sdp_mline_index());
std::string sdp;
if (!candidate->ToString(&sdp)) {
LOG(ERROR) << "Could not get SDP string";
......@@ -310,12 +320,20 @@ PeerConnectionHandlerJsep::CreateNativeSessionDescription(
LOG(ERROR) << "Failed to create native session description";
return NULL;
}
// TODO(ronghuawu): Apply sdp_mid when its available, now its empty string.
const std::string sdp_mid = "";
for (size_t i = 0; i < description.numberOfAddedCandidates(); ++i) {
WebKit::WebICECandidateDescriptor candidate = description.candidate(i);
int m_line_index = -1;
if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) {
LOG(ERROR) << "Invalid candidate label: "
<< UTF16ToUTF8(candidate.label());
continue;
}
scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
dependency_factory_->CreateIceCandidate(
UTF16ToUTF8(candidate.label()),
sdp_mid,
m_line_index,
UTF16ToUTF8(candidate.candidateLine())));
if (!native_desc->AddCandidate(native_candidate.get()))
LOG(ERROR) << "Failed to add candidate to native session description";
......
......@@ -210,11 +210,12 @@ TEST_F(PeerConnectionHandlerJsepTest, Basic) {
// Process ICE message.
WebKit::WebICECandidateDescriptor candidate;
WebKit::WebString label = "test label";
WebKit::WebString label = "0";
sdp = "test sdp";
candidate.initialize(label, sdp);
EXPECT_TRUE(pc_handler_->processIceMessage(candidate));
EXPECT_EQ(UTF16ToUTF8(label), mock_peer_connection_->ice_label());
EXPECT_EQ(0, mock_peer_connection_->sdp_mline_index());
EXPECT_TRUE(mock_peer_connection_->sdp_mid().empty());
EXPECT_EQ(UTF16ToUTF8(sdp), mock_peer_connection_->ice_sdp());
// Add stream.
......@@ -260,11 +261,13 @@ TEST_F(PeerConnectionHandlerJsepTest, Basic) {
mock_client_->ready_state());
// On ICE candidate.
std::string candidate_label = "test label";
std::string candidate_label = "0";
std::string candidate_sdp = "test sdp";
int sdp_mline_index = 0;
scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
mock_dependency_factory_->CreateIceCandidate(candidate_label,
candidate_sdp));
sdp_mline_index,
candidate_sdp));
pc_handler_->OnIceCandidate(native_candidate.get());
EXPECT_EQ(candidate_label, mock_client_->candidate_label());
EXPECT_EQ(candidate_sdp, mock_client_->candidate_sdp());
......
......@@ -14,7 +14,7 @@
#include "media/base/video_frame.h"
#include "media/base/video_util.h"
#include "third_party/libjingle/source/talk/base/timeutils.h"
#include "third_party/libjingle/source/talk/session/phone/videoframe.h"
#include "third_party/libjingle/source/talk/media/base/videoframe.h"
using media::CopyUPlane;
using media::CopyVPlane;
......
......@@ -16,7 +16,7 @@
#include "media/base/mock_filters.h"
#include "media/base/video_frame.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/libjingle/source/talk/session/phone/videoframe.h"
#include "third_party/libjingle/source/talk/media/base/videoframe.h"
using ::testing::_;
using ::testing::AnyNumber;
......
......@@ -2,7 +2,7 @@ Name: Libjingle library. Used for p2p voice and video communication.
Short Name: libjingle
URL: http://code.google.com/p/libjingle/
Version: unknown
Revision: 159
Revision: 163
License: BSD
License File: source/COPYING
Security Critical: yes
......
......@@ -543,77 +543,78 @@
'source/talk/app/webrtc/webrtcsdp.h',
'source/talk/app/webrtc/webrtcsession.cc',
'source/talk/app/webrtc/webrtcsession.h',
'source/talk/session/phone/audiomonitor.cc',
'source/talk/session/phone/audiomonitor.h',
'source/talk/session/phone/call.cc',
'source/talk/session/phone/call.h',
'source/talk/session/phone/channel.cc',
'source/talk/session/phone/channel.h',
'source/talk/session/phone/channelmanager.cc',
'source/talk/session/phone/channelmanager.h',
'source/talk/session/phone/codec.cc',
'source/talk/session/phone/codec.h',
'source/talk/session/phone/constants.cc',
'source/talk/session/phone/constants.h',
'source/talk/session/phone/cryptoparams.h',
'source/talk/session/phone/currentspeakermonitor.cc',
'source/talk/session/phone/currentspeakermonitor.h',
'source/talk/session/phone/dataengine.cc',
'source/talk/session/phone/dataengine.h',
'source/talk/session/phone/devicemanager.cc',
'source/talk/session/phone/devicemanager.h',
'source/talk/session/phone/dummydevicemanager.cc',
'source/talk/session/phone/dummydevicemanager.h',
'source/talk/session/phone/filemediaengine.cc',
'source/talk/session/phone/filemediaengine.h',
'source/talk/session/phone/filevideocapturer.cc',
'source/talk/session/phone/filevideocapturer.h',
'source/talk/session/phone/mediachannel.h',
'source/talk/session/phone/mediaengine.cc',
'source/talk/session/phone/mediaengine.h',
'source/talk/session/phone/mediamessages.cc',
'source/talk/session/phone/mediamessages.h',
'source/talk/session/phone/mediamonitor.cc',
'source/talk/session/phone/mediamonitor.h',
'source/talk/session/phone/mediasession.cc',
'source/talk/session/phone/mediasession.h',
'source/talk/session/phone/mediasessionclient.cc',
'source/talk/session/phone/mediasessionclient.h',
'source/talk/session/phone/mediasink.h',
'source/talk/session/phone/rtcpmuxfilter.cc',
'source/talk/session/phone/rtcpmuxfilter.h',
'source/talk/session/phone/rtpdump.cc',
'source/talk/session/phone/rtpdump.h',
'source/talk/session/phone/rtputils.cc',
'source/talk/session/phone/rtputils.h',
'source/talk/session/phone/soundclip.cc',
'source/talk/session/phone/soundclip.h',
'source/talk/session/phone/srtpfilter.cc',
'source/talk/session/phone/srtpfilter.h',
'source/talk/session/phone/ssrcmuxfilter.cc',
'source/talk/session/phone/ssrcmuxfilter.h',
'source/talk/session/phone/streamparams.cc',
'source/talk/session/phone/typingmonitor.h',
'source/talk/session/phone/typingmonitor.cc',
'source/talk/session/phone/videocapturer.cc',
'source/talk/session/phone/videocapturer.h',
'source/talk/session/phone/videocommon.cc',
'source/talk/session/phone/videocommon.h',
'source/talk/session/phone/videoframe.cc',
'source/talk/session/phone/videoframe.h',
'source/talk/session/phone/voicechannel.h',
'source/talk/session/phone/webrtccommon.h',
'source/talk/session/phone/webrtcpassthroughrender.cc',
'source/talk/session/phone/webrtcvideocapturer.cc',
'source/talk/session/phone/webrtcvideocapturer.h',
'source/talk/session/phone/webrtcvideoengine.cc',
'source/talk/session/phone/webrtcvideoengine.h',
'source/talk/session/phone/webrtcvideoframe.cc',
'source/talk/session/phone/webrtcvideoframe.h',
'source/talk/session/phone/webrtcvie.h',
'source/talk/session/phone/webrtcvoe.h',
'source/talk/session/phone/webrtcvoiceengine.cc',
'source/talk/session/phone/webrtcvoiceengine.h',
'source/talk/media/base/codec.cc',
'source/talk/media/base/codec.h',
'source/talk/media/base/constants.cc',
'source/talk/media/base/constants.h',
'source/talk/media/base/cryptoparams.h',
'source/talk/media/base/dataengine.cc',
'source/talk/media/base/dataengine.h',
'source/talk/media/base/filemediaengine.cc',
'source/talk/media/base/filemediaengine.h',
'source/talk/media/base/mediachannel.h',
'source/talk/media/base/mediaengine.cc',
'source/talk/media/base/mediaengine.h',
'source/talk/media/base/rtpdump.cc',
'source/talk/media/base/rtpdump.h',
'source/talk/media/base/rtputils.cc',
'source/talk/media/base/rtputils.h',
'source/talk/media/base/streamparams.cc',
'source/talk/media/base/streamparams.h',
'source/talk/media/base/videocapturer.cc',
'source/talk/media/base/videocapturer.h',
'source/talk/media/base/videocommon.cc',
'source/talk/media/base/videocommon.h',
'source/talk/media/base/videoframe.cc',
'source/talk/media/base/videoframe.h',
'source/talk/media/devices/devicemanager.cc',
'source/talk/media/devices/devicemanager.h',
'source/talk/media/devices/dummydevicemanager.cc',
'source/talk/media/devices/dummydevicemanager.h',
'source/talk/media/devices/filevideocapturer.cc',
'source/talk/media/devices/filevideocapturer.h',
'source/talk/media/webrtc/webrtcpassthroughrender.cc',
'source/talk/media/webrtc/webrtcvideocapturer.cc',
'source/talk/media/webrtc/webrtcvideocapturer.h',
'source/talk/media/webrtc/webrtcvideoengine.cc',
'source/talk/media/webrtc/webrtcvideoengine.h',
'source/talk/media/webrtc/webrtcvideoframe.cc',
'source/talk/media/webrtc/webrtcvideoframe.h',
'source/talk/media/webrtc/webrtcvie.h',
'source/talk/media/webrtc/webrtcvoe.h',
'source/talk/media/webrtc/webrtcvoiceengine.cc',
'source/talk/media/webrtc/webrtcvoiceengine.h',
'source/talk/media/webrtc/webrtccommon.h',
'source/talk/session/media/audiomonitor.cc',
'source/talk/session/media/audiomonitor.h',
'source/talk/session/media/call.cc',
'source/talk/session/media/call.h',
'source/talk/session/media/channel.cc',
'source/talk/session/media/channel.h',
'source/talk/session/media/channelmanager.cc',
'source/talk/session/media/channelmanager.h',
'source/talk/session/media/currentspeakermonitor.cc',
'source/talk/session/media/currentspeakermonitor.h',
'source/talk/session/media/mediamessages.cc',
'source/talk/session/media/mediamessages.h',
'source/talk/session/media/mediamonitor.cc',
'source/talk/session/media/mediamonitor.h',
'source/talk/session/media/mediasession.cc',
'source/talk/session/media/mediasession.h',
'source/talk/session/media/mediasessionclient.cc',
'source/talk/session/media/mediasessionclient.h',
'source/talk/session/media/mediasink.h',
'source/talk/session/media/rtcpmuxfilter.cc',
'source/talk/session/media/rtcpmuxfilter.h',
'source/talk/session/media/soundclip.cc',
'source/talk/session/media/soundclip.h',
'source/talk/session/media/srtpfilter.cc',
'source/talk/session/media/srtpfilter.h',
'source/talk/session/media/ssrcmuxfilter.cc',
'source/talk/session/media/ssrcmuxfilter.h',
'source/talk/session/media/typingmonitor.h',
'source/talk/session/media/typingmonitor.cc',
'source/talk/session/media/voicechannel.h',
],
'conditions': [
['OS!="android"', {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment