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

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: 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 c1fdc78e8e526a977448cd2195ad55c3cd9883f0..03845681888f37db793a81da91c5ff2f5ffd4431 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -61,6 +61,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 +976,28 @@ void RendererBlinkPlatformImpl::createHTMLVideoElementCapturer(
#endif
}
+void RendererBlinkPlatformImpl::createHTMLAudioElementCapturer(
+ WebMediaStream* web_media_stream,
+ WebMediaPlayer* web_media_player) {
+#if defined(ENABLE_WEBRTC)
miu 2016/05/13 23:40:35 Consider omitting the "#if defined(ENABLE_WEBRTC)"
mcasas 2016/05/14 02:23:47 It should be like that indeed, but by extension (a
miu 2016/05/17 21:00:41 This may have been true in the past, but not anymo
mcasas 2016/05/18 00:00:10 Acknowledged.
+ DCHECK(web_media_stream);
+ DCHECK(web_media_player);
+ // These are the MediaStream parameters, hardcoded and pervasive
+ // TODO(mcasas): fetch them from some place and/or ignore these.
+ const int kInputNumChannels = 1;
miu 2016/05/13 23:40:35 Actually, this is the *output* format (from Extern
mcasas 2016/05/14 02:23:47 Yeah, |output| from the Source but |input| from th
miu 2016/05/17 21:00:41 Oh! I don't know why I didn't notice this before:
mcasas 2016/05/18 00:00:10 Brilliant! SO -oh- Done!
+ const int kInputSamplingRate = 48000;
+ const int kBufferDurationMs = 10;
+
+ AddAudioTrackToMediaStream(
miu 2016/05/13 23:40:35 Nice! :)
mcasas 2016/05/14 02:23:47 Acknowledged.
+ HtmlAudioElementCapturerSource::CreateFromWebMediaPlayerImpl(
+ web_media_player),
+ kInputSamplingRate, media::GuessChannelLayout(kInputNumChannels),
+ kBufferDurationMs * kInputSamplingRate /
+ base::Time::kMillisecondsPerSecond,
+ false /* is_remote */, false /* is_readonly */, web_media_stream);
+#endif
+}
+
//------------------------------------------------------------------------------
WebImageCaptureFrameGrabber*

Powered by Google App Engine
This is Rietveld 408576698