| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "content/renderer/media/media_stream.h" | 5 #include "content/renderer/media/media_stream.h" | 
| 6 | 6 | 
| 7 #include "base/logging.h" | 7 #include "base/logging.h" | 
| 8 #include "content/renderer/media/media_stream_dependency_factory.h" | 8 #include "content/renderer/media/media_stream_dependency_factory.h" | 
| 9 #include "third_party/WebKit/public/platform/WebString.h" | 9 #include "third_party/WebKit/public/platform/WebString.h" | 
| 10 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" | 10 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" | 
| 11 | 11 | 
| 12 namespace content { | 12 namespace content { | 
| 13 | 13 | 
| 14 // static | 14 // static | 
| 15 MediaStream* MediaStream::GetMediaStream( | 15 MediaStream* MediaStream::GetMediaStream( | 
| 16     const blink::WebMediaStream& stream) { | 16     const blink::WebMediaStream& stream) { | 
| 17   return static_cast<MediaStream*>(stream.extraData()); | 17   return static_cast<MediaStream*>(stream.extraData()); | 
| 18 } | 18 } | 
| 19 | 19 | 
| 20 // static | 20 // static | 
| 21 webrtc::MediaStreamInterface* MediaStream::GetAdapter( | 21 webrtc::MediaStreamInterface* MediaStream::GetAdapter( | 
| 22      const blink::WebMediaStream& stream) { | 22      const blink::WebMediaStream& stream) { | 
| 23   MediaStream* native_stream = GetMediaStream(stream); | 23   MediaStream* native_stream = GetMediaStream(stream); | 
| 24   DCHECK(native_stream); | 24   DCHECK(native_stream); | 
| 25   return native_stream->GetWebRtcAdapter(stream); | 25   return native_stream->GetWebRtcAdapter(stream); | 
| 26 } | 26 } | 
| 27 | 27 | 
| 28 MediaStream::MediaStream(MediaStreamDependencyFactory* factory, | 28 MediaStream::MediaStream(MediaStreamDependencyFactory* factory, | 
| 29                          StreamStopCallback stream_stop, |  | 
| 30                          const blink::WebMediaStream& stream) | 29                          const blink::WebMediaStream& stream) | 
| 31     : stream_stop_callback_(stream_stop), | 30     : stream_adapter_(NULL), | 
| 32       stream_adapter_(NULL), |  | 
| 33       is_local_(true), | 31       is_local_(true), | 
| 34       label_(stream.id().utf8()), | 32       label_(stream.id().utf8()), | 
| 35       factory_(factory) { | 33       factory_(factory) { | 
| 36   DCHECK(factory_); | 34   DCHECK(factory_); | 
| 37 } | 35 } | 
| 38 | 36 | 
| 39 MediaStream::MediaStream(webrtc::MediaStreamInterface* stream) | 37 MediaStream::MediaStream(webrtc::MediaStreamInterface* stream) | 
| 40     : stream_adapter_(stream), | 38     : stream_adapter_(stream), | 
| 41       is_local_(false), | 39       is_local_(false), | 
| 42       factory_(NULL) { | 40       factory_(NULL) { | 
| 43   DCHECK(stream); | 41   DCHECK(stream); | 
| 44 } | 42 } | 
| 45 | 43 | 
| 46 MediaStream::~MediaStream() { | 44 MediaStream::~MediaStream() { | 
| 47 } | 45 } | 
| 48 | 46 | 
| 49 void MediaStream::OnStreamStopped() { |  | 
| 50   if (!stream_stop_callback_.is_null()) |  | 
| 51     stream_stop_callback_.Run(label_); |  | 
| 52 } |  | 
| 53 |  | 
| 54 webrtc::MediaStreamInterface* MediaStream::GetWebRtcAdapter( | 47 webrtc::MediaStreamInterface* MediaStream::GetWebRtcAdapter( | 
| 55     const blink::WebMediaStream& stream) { | 48     const blink::WebMediaStream& stream) { | 
| 56   if (!stream_adapter_) { | 49   if (!stream_adapter_) { | 
| 57     DCHECK(is_local_); | 50     DCHECK(is_local_); | 
| 58     stream_adapter_ = factory_->CreateNativeLocalMediaStream(stream); | 51     stream_adapter_ = factory_->CreateNativeLocalMediaStream(stream); | 
| 59   } | 52   } | 
| 60   DCHECK(stream_adapter_); | 53   DCHECK(stream_adapter_); | 
| 61   return stream_adapter_.get(); | 54   return stream_adapter_.get(); | 
| 62 } | 55 } | 
| 63 | 56 | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 75 bool MediaStream::RemoveTrack(const blink::WebMediaStream& stream, | 68 bool MediaStream::RemoveTrack(const blink::WebMediaStream& stream, | 
| 76                               const blink::WebMediaStreamTrack& track) { | 69                               const blink::WebMediaStreamTrack& track) { | 
| 77   // If the libjingle representation of the stream has not been created, it | 70   // If the libjingle representation of the stream has not been created, it | 
| 78   // does not matter if the tracks are added or removed. | 71   // does not matter if the tracks are added or removed. | 
| 79   if (!stream_adapter_) | 72   if (!stream_adapter_) | 
| 80     return true; | 73     return true; | 
| 81   return factory_->RemoveNativeMediaStreamTrack(stream, track); | 74   return factory_->RemoveNativeMediaStreamTrack(stream, track); | 
| 82 } | 75 } | 
| 83 | 76 | 
| 84 }  // namespace content | 77 }  // namespace content | 
| OLD | NEW | 
|---|