Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: content/renderer/media/media_stream_video_track.cc

Issue 201583003: Implement a source for remote video tracks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_video_track.cc
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc
index 3cf98cd044b1cd10dd010e1906ee24de3592b589..8d4b83d6b43ff3f9d51a8860c7413b64baf8f230 100644
--- a/content/renderer/media/media_stream_video_track.cc
+++ b/content/renderer/media/media_stream_video_track.cc
@@ -5,7 +5,6 @@
#include "content/renderer/media/media_stream_video_track.h"
#include "content/renderer/media/media_stream_dependency_factory.h"
-#include "content/renderer/media/webrtc/webrtc_video_sink_adapter.h"
namespace content {
@@ -42,18 +41,12 @@ MediaStreamVideoTrack::MediaStreamVideoTrack(
enabled_(enabled),
source_(source),
factory_(factory) {
- // TODO(perkj): source can be NULL if this is actually a remote video track.
- // Remove as soon as we only have one implementation of video tracks.
- if (source)
- source->AddTrack(this, constraints, callback);
+ source->AddTrack(this, constraints, callback);
}
MediaStreamVideoTrack::~MediaStreamVideoTrack() {
DCHECK(sinks_.empty());
- // TODO(perkj): source can be NULL if this is actually a remote video track.
- // Remove as soon as we only have one implementation of video tracks.
- if (source_)
- source_->RemoveTrack(this);
+ source_->RemoveTrack(this);
}
void MediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink) {
@@ -116,43 +109,4 @@ void MediaStreamVideoTrack::OnReadyStateChanged(
}
}
-// Wrapper which allows to use std::find_if() when adding and removing
-// sinks to/from |sinks_|.
-struct SinkWrapper {
- explicit SinkWrapper(MediaStreamVideoSink* sink) : sink_(sink) {}
- bool operator()(
- const WebRtcVideoSinkAdapter* owner) {
- return owner->sink() == sink_;
- }
- MediaStreamVideoSink* sink_;
-};
-
-WebRtcMediaStreamVideoTrack::WebRtcMediaStreamVideoTrack(
- webrtc::VideoTrackInterface* track)
- : MediaStreamVideoTrack(NULL,
- blink::WebMediaConstraints(),
- MediaStreamVideoSource::ConstraintsCallback(),
- track->enabled(),
- NULL) {
- track_ = track;
-}
-
-WebRtcMediaStreamVideoTrack::~WebRtcMediaStreamVideoTrack() {
-}
-
-void WebRtcMediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink) {
- DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK(std::find_if(sinks_.begin(), sinks_.end(),
- SinkWrapper(sink)) == sinks_.end());
- sinks_.push_back(new WebRtcVideoSinkAdapter(GetVideoAdapter(), sink));
-}
-
-void WebRtcMediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) {
- DCHECK(thread_checker_.CalledOnValidThread());
- ScopedVector<WebRtcVideoSinkAdapter>::iterator it =
- std::find_if(sinks_.begin(), sinks_.end(), SinkWrapper(sink));
- DCHECK(it != sinks_.end());
- sinks_.erase(it);
-}
-
} // namespace content
« no previous file with comments | « content/renderer/media/media_stream_video_track.h ('k') | content/renderer/media/mock_media_stream_dependency_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698