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..9357aed345af198bf597a76089e25e9bda0c1197 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" |
#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); |
+ |
+ media_stream_source->ConnectToTrack(web_media_stream_track); |
+ web_media_stream->addTrack(web_media_stream_track); |
+} |
+ |
//------------------------------------------------------------------------------ |
WebImageCaptureFrameGrabber* |