DescriptionReland: MediaCaptureFromElement: add support for audio captureStream().
The original CL got reverted due to flaky failures in
LayoutTests on bots, due to independent (racy)
initialization of the WebAudioSourceProviderImpl
and HTMLAudioElementCapturerSource. This extra
patch decouples both by making TeeFilter
independently initializable.
Original description --------------------------------------------------
MediaCaptureFromElement: add support for audio captureStream().
This CL extends support for capturing the audio part of
a <video> or <audio> tags ( "capture" here means creating
a MediaStream out of the HTMLElement)
It introduces an HtmlAudioCapturerSource is-a AudioCapturerSource
wrapped into an ExternalMediaStreamAudioSource to produce data
towards the audio track.
HtmlAudioCapturerSource also plugs into the
WebMediaPlayer's WebAudioSourceProviderImpl to get
a copy of the audio being rendered.
Unit tests are added, and the existing LayouTests
revamped (and split into several files for clarity).
BUG=569976, 575492
TEST= run chromium with
--enable-blink-features=MediaCaptureFromVideo
against e.g.
https://rawgit.com/Miguelao/demos/master/videoelementcapture.html
---------------------------------------------------------------------
TBR=haraken@chromium.org, avi@chromium.org, esprehn@chromium.org, miu@chromium.org
(reviewers whose reviewed code hasn't changed from the original
https://codereview.chromium.org/1599533003/)
Committed: https://crrev.com/6d69edab7acf4582c14ba7799dfda168395f26a2
Cr-Commit-Position: refs/heads/master@{#396200}
Patch Set 1 : https://codereview.chromium.org/1599533003/ #Patch Set 2 : WASPImpl can be initialized after HTMLAudioElementCapturerSource #
Total comments: 6
Patch Set 3 : dalecurtis@ comments #Messages
Total messages: 18 (8 generated)
|