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

Issue 237353007: Refactor VideoRendererImpl to use VideoFrameScheduler. (Closed)

Created:
6 years, 8 months ago by scherkus (not reviewing)
Modified:
6 years, 4 months ago
CC:
chromium-reviews, fischman+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, wjia+watch_chromium.org
Visibility:
Public.

Description

Refactor VideoRendererImpl to use VideoFrameScheduler. This eliminates the internal thread inside of VideoRendererImpl in favour of using a delegate that handles the actual scheduling of frames. This lets different clients use different schedulers for different purposes: - Unit tests use a testing scheduler, which makes tests easier to write and are no longer multi-threaded - Performance tests use a clockless scheduler, which lets tests run as fast as possible without dropping frames - Applications use the MessageLoop-based scheduler, which lets content/ use the compositor thread when available BUG=110814

Patch Set 1 : #

Total comments: 5

Patch Set 2 : pretty much done #

Total comments: 80

Patch Set 3 : comments #

Total comments: 6

Patch Set 4 : rebase over split out CLs #

Unified diffs Side-by-side diffs Delta from patch set Stats (+551 lines, -574 lines) Patch
M content/renderer/media/webmediaplayer_impl.h View 1 2 3 1 chunk +0 lines, -4 lines 0 comments Download
M content/renderer/media/webmediaplayer_impl.cc View 1 2 3 3 chunks +18 lines, -16 lines 0 comments Download
M media/base/mock_filters.h View 1 2 chunks +0 lines, -10 lines 0 comments Download
M media/base/mock_filters.cc View 1 1 chunk +0 lines, -4 lines 0 comments Download
M media/filters/pipeline_integration_test_base.h View 1 2 2 chunks +0 lines, -12 lines 0 comments Download
M media/filters/pipeline_integration_test_base.cc View 1 2 4 chunks +16 lines, -14 lines 0 comments Download
M media/filters/video_renderer_impl.h View 1 2 5 chunks +33 lines, -85 lines 0 comments Download
M media/filters/video_renderer_impl.cc View 1 2 3 13 chunks +178 lines, -253 lines 0 comments Download
M media/filters/video_renderer_impl_unittest.cc View 1 2 17 chunks +286 lines, -165 lines 0 comments Download
M media/tools/player_x11/player_x11.cc View 1 2 3 6 chunks +20 lines, -11 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
scherkus (not reviewing)
take a skim over my comments in video_renderer_impl.cc the patch isn't too bad but there ...
6 years, 8 months ago (2014-04-16 23:45:02 UTC) #1
scherkus (not reviewing)
this is ready for review (!!!) acolwell, xhwang: can you both take a look? this ...
6 years, 8 months ago (2014-04-24 04:03:05 UTC) #2
acolwell GONE FROM CHROMIUM
overall looks pretty good. Here is a first round of comments. https://codereview.chromium.org/237353007/diff/120001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): ...
6 years, 8 months ago (2014-04-24 16:43:59 UTC) #3
xhwang
I like this CL. Here are my questions and comments. https://codereview.chromium.org/237353007/diff/120001/content/renderer/media/webmediaplayer_impl.h File content/renderer/media/webmediaplayer_impl.h (right): https://codereview.chromium.org/237353007/diff/120001/content/renderer/media/webmediaplayer_impl.h#newcode340 ...
6 years, 8 months ago (2014-04-24 18:48:44 UTC) #4
xhwang
A related question about VideoFrameSchedulerImpl: https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/video_frame_scheduler_impl.cc&l=68 How accurate is the timer? Can it be late? ...
6 years, 8 months ago (2014-04-25 00:42:42 UTC) #5
scherkus (not reviewing)
there are still two issues I've noticed while testing, but I feel I'd rather get ...
6 years, 8 months ago (2014-04-25 02:04:47 UTC) #6
scherkus (not reviewing)
On 2014/04/25 00:42:42, xhwang wrote: > A related question about VideoFrameSchedulerImpl: > https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/video_frame_scheduler_impl.cc&l=68 > > ...
6 years, 8 months ago (2014-04-25 02:07:09 UTC) #7
xhwang
On 2014/04/25 02:07:09, scherkus wrote: > On 2014/04/25 00:42:42, xhwang wrote: > > A related ...
6 years, 8 months ago (2014-04-25 05:03:45 UTC) #8
xhwang
I didn't fully review this PS. Just a few more comments when I skim it. ...
6 years, 8 months ago (2014-04-25 05:44:47 UTC) #9
scherkus (not reviewing)
On 2014/04/25 05:03:45, xhwang wrote: > On 2014/04/25 02:07:09, scherkus wrote: > > On 2014/04/25 ...
6 years, 8 months ago (2014-04-25 18:21:40 UTC) #10
scherkus (not reviewing)
https://codereview.chromium.org/237353007/diff/120001/media/filters/video_renderer_impl.cc File media/filters/video_renderer_impl.cc (right): https://codereview.chromium.org/237353007/diff/120001/media/filters/video_renderer_impl.cc#newcode73 media/filters/video_renderer_impl.cc:73: // stream and needs to drain it before flushing ...
6 years, 8 months ago (2014-04-25 18:24:24 UTC) #11
xhwang
On 2014/04/25 18:21:40, scherkus wrote: > On 2014/04/25 05:03:45, xhwang wrote: > > On 2014/04/25 ...
6 years, 8 months ago (2014-04-25 18:43:57 UTC) #12
scherkus (not reviewing)
re: playback rate funkiness ... it looks like it's actually a bad interaction with how ...
6 years, 8 months ago (2014-04-25 20:56:28 UTC) #13
scherkus (not reviewing)
On 2014/04/25 20:56:28, scherkus wrote: > re: playback rate funkiness ... it looks like it's ...
6 years, 8 months ago (2014-04-25 22:51:39 UTC) #14
scherkus (not reviewing)
6 years, 8 months ago (2014-04-25 23:56:15 UTC) #15
alright .. I split out 4 CLs:
https://codereview.chromium.org/251733005/
https://codereview.chromium.org/251833004/
https://codereview.chromium.org/252703006/
https://codereview.chromium.org/257793004/

... and rebased this CL on top of them.

Let's hold off reviewing this until those 4 land I and I figure out the audio
stuff.

Powered by Google App Engine
This is Rietveld 408576698