| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/renderer/media/peer_connection_handler_base.h" |
| |
| #include "base/logging.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "content/renderer/media/media_stream_dependency_factory.h" |
| #include "content/renderer/media/media_stream_extra_data.h" |
| #include "third_party/WebKit/public/platform/WebMediaStream.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| #include "third_party/WebKit/public/platform/WebString.h" |
| |
| namespace content { |
| |
| PeerConnectionHandlerBase::PeerConnectionHandlerBase( |
| MediaStreamDependencyFactory* dependency_factory) |
| : dependency_factory_(dependency_factory), |
| message_loop_proxy_(base::MessageLoopProxy::current()) { |
| } |
| |
| PeerConnectionHandlerBase::~PeerConnectionHandlerBase() { |
| } |
| |
| bool PeerConnectionHandlerBase::AddStream( |
| const blink::WebMediaStream& stream, |
| const webrtc::MediaConstraintsInterface* constraints) { |
| webrtc::MediaStreamInterface* native_stream = |
| MediaStreamDependencyFactory::GetNativeMediaStream(stream); |
| if (!native_stream) |
| return false; |
| return native_peer_connection_->AddStream(native_stream, constraints); |
| } |
| |
| void PeerConnectionHandlerBase::RemoveStream( |
| const blink::WebMediaStream& stream) { |
| webrtc::MediaStreamInterface* native_stream = |
| MediaStreamDependencyFactory::GetNativeMediaStream(stream); |
| if (native_stream) |
| native_peer_connection_->RemoveStream(native_stream); |
| DCHECK(native_stream); |
| } |
| |
| } // namespace content |