Index: content/renderer/media/media_stream_video_source.h |
diff --git a/content/renderer/media/media_stream_video_source.h b/content/renderer/media/media_stream_video_source.h |
index 4164ffbdf05cbb90c4813bca33fb60549ab11e12..1b9bad51d79f6ba32cd08cd401cabe8d4fa7e3e0 100644 |
--- a/content/renderer/media/media_stream_video_source.h |
+++ b/content/renderer/media/media_stream_video_source.h |
@@ -25,6 +25,7 @@ class VideoFrame; |
namespace content { |
class MediaStreamDependencyFactory; |
+class MediaStreamVideoTrack; |
class WebRtcVideoCapturerAdapter; |
// MediaStreamVideoSource is an interface used for sending video frames to a |
@@ -49,11 +50,15 @@ class CONTENT_EXPORT MediaStreamVideoSource |
explicit MediaStreamVideoSource(MediaStreamDependencyFactory* factory); |
virtual ~MediaStreamVideoSource(); |
+ // Returns the MediaStreamVideoSource object owned by |source|. |
+ static MediaStreamVideoSource* GetVideoSource( |
+ const blink::WebMediaStreamSource& source); |
+ |
// Puts |track| in the registered tracks list. |
- virtual void AddTrack(const blink::WebMediaStreamTrack& track, |
- const blink::WebMediaConstraints& constraints, |
- const ConstraintsCallback& callback) OVERRIDE; |
- virtual void RemoveTrack(const blink::WebMediaStreamTrack& track) OVERRIDE; |
+ void AddTrack(MediaStreamVideoTrack* track, |
+ const blink::WebMediaConstraints& constraints, |
+ const ConstraintsCallback& callback); |
+ void RemoveTrack(MediaStreamVideoTrack* track); |
// TODO(ronghuawu): Remove webrtc::VideoSourceInterface from the public |
// interface of this class. |
@@ -158,6 +163,9 @@ class CONTENT_EXPORT MediaStreamVideoSource |
media::VideoCaptureFormats supported_formats_; |
+ // Tracks that currently are receiving video frames. |
+ std::vector<MediaStreamVideoTrack*> tracks_; |
+ |
// TODO(perkj): The below classes use webrtc/libjingle types. The goal is to |
// get rid of them as far as possible. |
MediaStreamDependencyFactory* factory_; |