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

Issue 8980008: Integrate HTMLMediaElement with Web Audio API's MediaElementAudioSourceNode (Closed)

Created:
9 years ago by Chris Rogers
Modified:
8 years, 11 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, ddorwin+watch_chromium.org, fischman+watch_chromium.org, acolwell+watch_chromium.org, jam, annacc+watch_chromium.org, dpranke-watch+content_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, brettw-cc_chromium.org, vrk (LEFT CHROMIUM), scherkus (not reviewing), ihf+watch_chromium.org
Visibility:
Public.

Description

Integrate HTMLMediaElement with Web Audio API's MediaElementAudioSourceNode RenderAudioSourceProvider implements WebKit::WebAudioSourceProvider using AudioRendererImpl BUG=none TEST=none (tested locally) Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=116643

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 65

Patch Set 3 : '' #

Total comments: 27

Patch Set 4 : '' #

Total comments: 27

Patch Set 5 : '' #

Total comments: 3

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+414 lines, -72 lines) Patch
M chrome/renderer/chrome_content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M chrome/renderer/chrome_content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/renderer/prerender/prerender_webmediaplayer.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M chrome/renderer/prerender/prerender_webmediaplayer.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/renderer/content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M content/renderer/media/audio_device.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +16 lines, -28 lines 0 comments Download
M content/renderer/media/audio_device.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -4 lines 0 comments Download
M content/renderer/media/audio_renderer_impl.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +10 lines, -5 lines 0 comments Download
M content/renderer/media/audio_renderer_impl.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +21 lines, -23 lines 0 comments Download
M content/renderer/media/audio_renderer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -3 lines 0 comments Download
M content/renderer/mock_content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/mock_content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A content/renderer/render_audiosourceprovider.h View 1 2 3 4 5 6 7 1 chunk +88 lines, -0 lines 0 comments Download
A content/renderer/render_audiosourceprovider.cc View 1 2 3 4 1 chunk +148 lines, -0 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +17 lines, -6 lines 0 comments Download
M content/shell/shell_content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M content/shell/shell_content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A media/base/audio_renderer_sink.h View 1 2 3 4 5 6 7 1 chunk +70 lines, -0 lines 0 comments Download
M webkit/media/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +11 lines, -0 lines 1 comment Download
M webkit/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +7 lines, -1 line 0 comments Download
M webkit/support/webkit_support.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M webkit/tools/test_shell/test_webview_delegate.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
Chris Rogers
acolwell and/or vrk: overall review and especially details in: RenderViewImpl, WebMediaPlayerImpl enal: any comments related ...
9 years ago (2011-12-17 00:16:15 UTC) #1
henrika (OOO until Aug 14)
Checked AudioRenderSink and AudioDevice. The new RenderCallback::SetAudioRendererSink() method with a default implementation feels a bit ...
9 years ago (2011-12-19 14:26:52 UTC) #2
henrika (OOO until Aug 14)
http://codereview.chromium.org/8980008/diff/5003/content/renderer/media/audio_device.h File content/renderer/media/audio_device.h (right): http://codereview.chromium.org/8980008/diff/5003/content/renderer/media/audio_device.h#newcode79 content/renderer/media/audio_device.h:79: : public media::AudioRendererSink, May I ask how we define ...
9 years ago (2011-12-19 14:27:04 UTC) #3
tommi (sloooow) - chröme
drive-by nits and curiosity http://codereview.chromium.org/8980008/diff/5003/chrome/renderer/prerender/prerender_webmediaplayer.cc File chrome/renderer/prerender/prerender_webmediaplayer.cc (right): http://codereview.chromium.org/8980008/diff/5003/chrome/renderer/prerender/prerender_webmediaplayer.cc#newcode29 chrome/renderer/prerender/prerender_webmediaplayer.cc:29: NULL, // audio callback nit: ...
9 years ago (2011-12-19 15:26:24 UTC) #4
Chris Rogers
Thanks for the reviews so far! Henrik, I agree that SetAudioRendererSink() feels a bit odd. ...
9 years ago (2011-12-19 21:40:34 UTC) #5
acolwell GONE FROM CHROMIUM
I have a few suggestions I wanted to throw out here before doing a more ...
9 years ago (2011-12-19 23:01:49 UTC) #6
Chris Rogers
Aaron, thanks for the initial comments: http://codereview.chromium.org/8980008/diff/8002/content/renderer/media/audio_renderer_impl.cc File content/renderer/media/audio_renderer_impl.cc (right): http://codereview.chromium.org/8980008/diff/8002/content/renderer/media/audio_renderer_impl.cc#newcode51 content/renderer/media/audio_renderer_impl.cc:51: sink_ = audio_device_.get(); ...
9 years ago (2011-12-19 23:28:14 UTC) #7
acolwell GONE FROM CHROMIUM
A little more clarification about my suggestions. If there is still disagreement or you'd like ...
9 years ago (2011-12-20 01:04:06 UTC) #8
Chris Rogers
Hi Aaron, thanks again for looking at this. I think it's best if we chat ...
9 years ago (2011-12-20 01:09:56 UTC) #9
tommi (sloooow) - chröme
Thanks for the update Chris. Some replies below http://codereview.chromium.org/8980008/diff/5003/content/renderer/media/audio_renderer_impl.cc File content/renderer/media/audio_renderer_impl.cc (right): http://codereview.chromium.org/8980008/diff/5003/content/renderer/media/audio_renderer_impl.cc#newcode292 content/renderer/media/audio_renderer_impl.cc:292: // ...
9 years ago (2011-12-20 15:05:46 UTC) #10
no longer working on chromium
some nits. http://codereview.chromium.org/8980008/diff/8002/content/renderer/media/audio_renderer_impl.cc File content/renderer/media/audio_renderer_impl.cc (right): http://codereview.chromium.org/8980008/diff/8002/content/renderer/media/audio_renderer_impl.cc#newcode111 content/renderer/media/audio_renderer_impl.cc:111: } shall we returns false when it ...
9 years ago (2011-12-20 15:47:19 UTC) #11
henrika (OOO until Aug 14)
Additional clarifications and replies to questions/comments. Thanks for removing the "controversial" method in your interface. ...
9 years ago (2011-12-20 21:01:00 UTC) #12
Chris Rogers
I think I've addressed all of the comments. The most interesting change from the previous ...
9 years ago (2011-12-21 01:38:16 UTC) #13
acolwell GONE FROM CHROMIUM
looking good. http://codereview.chromium.org/8980008/diff/20001/chrome/renderer/prerender/prerender_webmediaplayer.cc File chrome/renderer/prerender/prerender_webmediaplayer.cc (right): http://codereview.chromium.org/8980008/diff/20001/chrome/renderer/prerender/prerender_webmediaplayer.cc#newcode29 chrome/renderer/prerender/prerender_webmediaplayer.cc:29: NULL, // audio callback I think you ...
9 years ago (2011-12-21 22:53:55 UTC) #14
Chris Rogers
Thanks Aaron, comments addressed except for the Callback one: http://codereview.chromium.org/8980008/diff/20001/chrome/renderer/prerender/prerender_webmediaplayer.cc File chrome/renderer/prerender/prerender_webmediaplayer.cc (right): http://codereview.chromium.org/8980008/diff/20001/chrome/renderer/prerender/prerender_webmediaplayer.cc#newcode29 chrome/renderer/prerender/prerender_webmediaplayer.cc:29: ...
9 years ago (2011-12-22 00:54:32 UTC) #15
Chris Rogers
Last patch-set also merges in Eugene's recent commit: http://src.chromium.org/viewvc/chrome?view=rev&revision=115253
9 years ago (2011-12-22 00:59:19 UTC) #16
henrika (OOO until Aug 14)
Thanks Chris. media/audio media/base LGTM.
9 years ago (2011-12-22 08:45:58 UTC) #17
no longer working on chromium
lgtm too
9 years ago (2011-12-22 10:04:04 UTC) #18
enal
On 2011/12/22 10:04:04, xians1 wrote: lgtm. I don't like absence of tests, though...
9 years ago (2011-12-22 15:43:25 UTC) #19
acolwell GONE FROM CHROMIUM
LGTM I agree w/ enal though we should get tests for this in soon. http://codereview.chromium.org/8980008/diff/20005/chrome/renderer/chrome_content_renderer_client.cc ...
9 years ago (2011-12-22 17:43:27 UTC) #20
Chris Rogers
Fixed compile error in webkit/support/webkit_support.cc I'll throw this at the bots one more time http://codereview.chromium.org/8980008/diff/20005/chrome/renderer/chrome_content_renderer_client.cc ...
9 years ago (2011-12-22 20:57:32 UTC) #21
acolwell GONE FROM CHROMIUM
Sorry for the confusion. Also please fix the Lint errors that the code review tool ...
9 years ago (2011-12-22 21:48:49 UTC) #22
Ami GONE FROM CHROMIUM
8 years, 11 months ago (2012-01-13 18:02:14 UTC) #23
[post-landing drive-by]

http://codereview.chromium.org/8980008/diff/43006/webkit/media/webmediaplayer...
File webkit/media/webmediaplayer_impl.h (right):

http://codereview.chromium.org/8980008/diff/43006/webkit/media/webmediaplayer...
webkit/media/webmediaplayer_impl.h:106: // This object takes ownership of the
|audio_source_provider|.
This comment is a lie in patchset 11 (and what ended up landing), because
audio_source_provider_ is a raw pointer.
I *think* the truth is that AudioRendererImpl (which receives a copy of
audio_source_provider in RenderViewImpl::createMediaPlayer) is responsible for
deleting the audio_source_provider by holding a scoped_refptr<> to it.

If that's true, please remove the comment here.
If I'm misreading the other code can you clarify?

Thanks!

Powered by Google App Engine
This is Rietveld 408576698