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

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

Issue 155853002: Chrome MediaStream VideoTrack implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed whitespaces... Created 6 years, 9 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
« no previous file with comments | « content/renderer/media/media_stream_impl.h ('k') | content/renderer/media/media_stream_source.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/media_stream_impl.cc
diff --git a/content/renderer/media/media_stream_impl.cc b/content/renderer/media/media_stream_impl.cc
index 6d9e148e83059b6f986767eaf94b3b42c8764903..ddf6ff2f9adb7baf63a84a4a36db3b58e38ba9b0 100644
--- a/content/renderer/media/media_stream_impl.cc
+++ b/content/renderer/media/media_stream_impl.cc
@@ -478,10 +478,9 @@ void MediaStreamImpl::CreateVideoTracks(
constraints,
request->frame,
&webkit_source);
- (*webkit_tracks)[i].initialize(webkit_source);
- (*webkit_tracks)[i].setExtraData(new MediaStreamVideoTrack(
- dependency_factory_));
- request->StartTrack((*webkit_tracks)[i], constraints);
+ (*webkit_tracks)[i] =
+ request->CreateAndStartVideoTrack(webkit_source, constraints,
+ dependency_factory_);
}
}
@@ -522,7 +521,7 @@ void MediaStreamImpl::CreateAudioTracks(
request->frame,
&webkit_source);
(*webkit_tracks)[i].initialize(webkit_source);
- request->StartTrack((*webkit_tracks)[i], constraints);
+ request->StartAudioTrack((*webkit_tracks)[i], constraints);
}
}
@@ -834,11 +833,12 @@ MediaStreamImpl::UserMediaRequestInfo::~UserMediaRequestInfo() {
DVLOG(1) << "~UserMediaRequestInfo";
}
-void MediaStreamImpl::UserMediaRequestInfo::StartTrack(
+void MediaStreamImpl::UserMediaRequestInfo::StartAudioTrack(
const blink::WebMediaStreamTrack& track,
const blink::WebMediaConstraints& constraints) {
- MediaStreamSource* native_source =
- static_cast <MediaStreamSource*>(track.source().extraData());
+ DCHECK(track.source().type() == blink::WebMediaStreamSource::TypeAudio);
+ MediaStreamAudioSource* native_source =
+ static_cast <MediaStreamAudioSource*>(track.source().extraData());
DCHECK(native_source);
sources_.push_back(track.source());
@@ -849,6 +849,24 @@ void MediaStreamImpl::UserMediaRequestInfo::StartTrack(
AsWeakPtr()));
}
+blink::WebMediaStreamTrack
+MediaStreamImpl::UserMediaRequestInfo::CreateAndStartVideoTrack(
+ const blink::WebMediaStreamSource& source,
+ const blink::WebMediaConstraints& constraints,
+ MediaStreamDependencyFactory* factory) {
+ DCHECK(source.type() == blink::WebMediaStreamSource::TypeVideo);
+ MediaStreamVideoSource* native_source =
+ MediaStreamVideoSource::GetVideoSource(source);
+ DCHECK(native_source);
+ sources_.push_back(source);
+ sources_waiting_for_callback_.push_back(native_source);
+ return MediaStreamVideoTrack::CreateVideoTrack(
+ native_source, constraints, base::Bind(
+ &MediaStreamImpl::UserMediaRequestInfo::OnTrackStarted,
+ AsWeakPtr()),
+ true, factory);
+}
+
void MediaStreamImpl::UserMediaRequestInfo::CallbackOnTracksStarted(
const ResourcesReady& callback) {
DCHECK(ready_callback_.is_null());
« no previous file with comments | « content/renderer/media/media_stream_impl.h ('k') | content/renderer/media/media_stream_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698