| Index: content/renderer/media/media_stream_center.cc
|
| diff --git a/content/renderer/media/media_stream_center.cc b/content/renderer/media/media_stream_center.cc
|
| index 172a1512003992bc6090756e05c3415d65d452f3..2e5a43bae65a9101017135a2a31f542678544b05 100644
|
| --- a/content/renderer/media/media_stream_center.cc
|
| +++ b/content/renderer/media/media_stream_center.cc
|
| @@ -4,10 +4,17 @@
|
|
|
| #include "content/renderer/media/media_stream_center.h"
|
|
|
| +#include <string>
|
| +
|
| +#include "base/logging.h"
|
| +#include "base/utf_string_conversions.h"
|
| +#include "third_party/libjingle/source/talk/app/webrtc/jsep.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebICECandidateDescriptor.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStreamCenterClient.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStreamSource.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStreamSourcesRequest.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSessionDescriptionDescriptor.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
|
|
|
| namespace content {
|
| @@ -41,4 +48,36 @@ void MediaStreamCenter::didConstructMediaStream(
|
| const WebKit::WebMediaStreamDescriptor& stream) {
|
| }
|
|
|
| +WebKit::WebString MediaStreamCenter::constructSDP(
|
| + const WebKit::WebICECandidateDescriptor& candidate) {
|
| + webrtc::IceCandidateInterface* native_candidate =
|
| + webrtc::CreateIceCandidate(UTF16ToUTF8(candidate.label()),
|
| + UTF16ToUTF8(candidate.candidateLine()));
|
| + std::string sdp;
|
| + if (!native_candidate->ToString(&sdp))
|
| + LOG(ERROR) << "Could not create SDP string";
|
| + return UTF8ToUTF16(sdp);
|
| +}
|
| +
|
| +WebKit::WebString MediaStreamCenter::constructSDP(
|
| + const WebKit::WebSessionDescriptionDescriptor& description) {
|
| + webrtc::SessionDescriptionInterface* native_desc =
|
| + webrtc::CreateSessionDescription(UTF16ToUTF8(description.initialSDP()));
|
| + if (!native_desc)
|
| + return WebKit::WebString();
|
| +
|
| + for (size_t i = 0; i < description.numberOfAddedCandidates(); ++i) {
|
| + WebKit::WebICECandidateDescriptor candidate = description.candidate(i);
|
| + webrtc::IceCandidateInterface* native_candidate =
|
| + webrtc::CreateIceCandidate(UTF16ToUTF8(candidate.label()),
|
| + UTF16ToUTF8(candidate.candidateLine()));
|
| + native_desc->AddCandidate(native_candidate);
|
| + }
|
| +
|
| + std::string sdp;
|
| + if (!native_desc->ToString(&sdp))
|
| + LOG(ERROR) << "Could not create SDP string";
|
| + return UTF8ToUTF16(sdp);
|
| +}
|
| +
|
| } // namespace content
|
|
|