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

Unified Diff: content/renderer/renderer_blink_platform_impl.cc

Issue 1599533003: MediaCaptureFromElement: add support for audio captureStream(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed HTMLAudioElementCapturerSource from AudioCapturerSource to MediaStreamAudioSource Created 4 years, 7 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/renderer_blink_platform_impl.cc
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 94976ac52f2a57a92ceb311547d8540f04d3a0f1..7cbdeaaa8805b86e3614a3b3d7b4ce0bae6d0f18 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -8,6 +8,7 @@
#include "base/command_line.h"
#include "base/files/file_path.h"
+#include "base/guid.h"
miu 2016/05/19 22:44:30 Is this new #include still needed?
mcasas 2016/05/19 23:57:55 Yes, for l.988 const WebString track_id = WebStrin
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/logging.h"
@@ -61,6 +62,7 @@
#include "content/renderer/gamepad_shared_memory_reader.h"
#include "content/renderer/media/audio_decoder.h"
#include "content/renderer/media/canvas_capture_handler.h"
+#include "content/renderer/media/html_audio_element_capturer_source.h"
#include "content/renderer/media/html_video_element_capturer_source.h"
#include "content/renderer/media/image_capture_frame_grabber.h"
#include "content/renderer/media/media_recorder_handler.h"
@@ -975,6 +977,33 @@ void RendererBlinkPlatformImpl::createHTMLVideoElementCapturer(
#endif
}
+void RendererBlinkPlatformImpl::createHTMLAudioElementCapturer(
+ WebMediaStream* web_media_stream,
+ WebMediaPlayer* web_media_player) {
+ DCHECK(web_media_stream);
+ DCHECK(web_media_player);
+
+ blink::WebMediaStreamSource web_media_stream_source;
+ blink::WebMediaStreamTrack web_media_stream_track;
+ const WebString track_id = WebString::fromUTF8(base::GenerateGUID());
+
+ web_media_stream_source.initialize(track_id,
+ blink::WebMediaStreamSource::TypeAudio,
+ track_id,
+ false /* is_remote */);
+ web_media_stream_track.initialize(web_media_stream_source);
+
+ MediaStreamAudioSource* const media_stream_source =
+ HtmlAudioElementCapturerSource::CreateFromWebMediaPlayerImpl(
+ web_media_player);
+
+ // Takes ownership of|media_stream_source|.
+ web_media_stream_source.setExtraData(media_stream_source);
+
+ if (media_stream_source->ConnectToTrack(web_media_stream_track))
+ web_media_stream->addTrack(web_media_stream_track);
miu 2016/05/19 22:44:30 I'm not sure, but I think you *might* want to unco
mcasas 2016/05/19 23:57:55 Makes sense, done.
+}
+
//------------------------------------------------------------------------------
WebImageCaptureFrameGrabber*

Powered by Google App Engine
This is Rietveld 408576698