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

Issue 1641423002: Re-land extract state management from WebMediaPlayerImpl. (Closed)

Created:
4 years, 10 months ago by sandersd (OOO until July 31)
Modified:
4 years, 9 months ago
Reviewers:
sof, xhwang, DaleCurtis, wolenetz
CC:
chromium-reviews, feature-media-reviews_chromium.org, halliwell, xhwang
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Extract state management from WebMediaPlayerImpl. WMPI recieves operations at any time but is backed by Pipeline which can only perform one operation at a time. This CL creates a helper class (PipelineController) to translate between the two so that WMPI does not need to handle the full cross product of states. Committed: https://crrev.com/1c0bba0d8cbd1390822796b22bfa9bc353d4b5c8 Cr-Commit-Position: refs/heads/master@{#379386}

Patch Set 1 #

Patch Set 2 : WMPI fixes. #

Total comments: 20

Patch Set 3 : Rename to PipelineController. #

Patch Set 4 : Move to media/filters. #

Patch Set 5 : Rebase on PipelineImpl #

Patch Set 6 : Add unittest. #

Patch Set 7 : Rebase. #

Patch Set 8 : Fix scoped_ptr usage. #

Total comments: 4

Patch Set 9 : Rebase. #

Patch Set 10 : Rebase again. #

Patch Set 11 : Remove remaining uses of base::Unretained(). #

Total comments: 9

Patch Set 12 : Fix cast. #

Patch Set 13 : Make OnPipelineSeeked() public. #

Patch Set 14 : More unit tests. #

Total comments: 26

Patch Set 15 : BindToCurrentLoop #

Patch Set 16 : Add a message loop to the test. #

Total comments: 18

Patch Set 17 : Address comments. #

Patch Set 18 : Add thread checker. #

Total comments: 4

Patch Set 19 : Fix binding in WMPI. #

Patch Set 20 : Typo #

Patch Set 21 : Rebase. #

Patch Set 22 : Rebase #

Patch Set 23 : Log all the state transitions. #

Patch Set 24 : Log onTimeUpdated. #

Patch Set 25 : Rebase. #

Patch Set 26 : Don't call play until after setting the src. #

Patch Set 27 : Add logging to PipelineController. #

Patch Set 28 : Fix test failure. #

Patch Set 29 : Rebase. #

Patch Set 30 : Add blink logging. #

Patch Set 31 : Rebase #

Patch Set 32 : Remove debugging code. #

Patch Set 33 : Initialize |should_notify_time_changed_|. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+890 lines, -351 lines) Patch
M media/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 chunks +3 lines, -0 lines 0 comments Download
M media/base/mock_filters.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +67 lines, -0 lines 0 comments Download
M media/base/mock_filters.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +25 lines, -0 lines 0 comments Download
M media/blink/webmediaplayer_cast_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +1 line, -1 line 0 comments Download
M media/blink/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 7 chunks +26 lines, -55 lines 0 comments Download
M media/blink/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 19 chunks +108 lines, -295 lines 0 comments Download
A media/filters/pipeline_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +177 lines, -0 lines 0 comments Download
A media/filters/pipeline_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +268 lines, -0 lines 0 comments Download
A media/filters/pipeline_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +212 lines, -0 lines 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 111 (47 generated)
sandersd (OOO until July 31)
This CL is not production ready yet (in particular no tests have been run, no ...
4 years, 10 months ago (2016-01-29 00:37:55 UTC) #2
DaleCurtis
Seems reasonable to me. I'm always happy to see less code in WMPI. Especially if ...
4 years, 10 months ago (2016-01-29 00:42:01 UTC) #3
wolenetz
I look forward to some tests included in this. Some intro nits/questions: https://codereview.chromium.org/1641423002/diff/20001/media/blink/pipeline_state.cc File media/blink/pipeline_state.cc ...
4 years, 10 months ago (2016-01-29 21:42:30 UTC) #4
xhwang
I didn't review details. Just general comments. https://codereview.chromium.org/1641423002/diff/20001/media/blink/pipeline_state.h File media/blink/pipeline_state.h (right): https://codereview.chromium.org/1641423002/diff/20001/media/blink/pipeline_state.h#newcode1 media/blink/pipeline_state.h:1: // Copyright ...
4 years, 10 months ago (2016-02-01 21:16:44 UTC) #6
sandersd (OOO until July 31)
https://codereview.chromium.org/1641423002/diff/20001/media/blink/pipeline_state.cc File media/blink/pipeline_state.cc (right): https://codereview.chromium.org/1641423002/diff/20001/media/blink/pipeline_state.cc#newcode54 media/blink/pipeline_state.cc:54: // TODO(sandersd): Is it even possible to have an ...
4 years, 10 months ago (2016-02-01 23:19:26 UTC) #7
DaleCurtis
Can you add some arguments for/against why we shouldn't just roll this into Pipeline?
4 years, 10 months ago (2016-02-01 23:24:05 UTC) #8
xhwang
https://chromiumcodereview.appspot.com/1641423002/diff/20001/media/blink/pipeline_state.h File media/blink/pipeline_state.h (right): https://chromiumcodereview.appspot.com/1641423002/diff/20001/media/blink/pipeline_state.h#newcode6 media/blink/pipeline_state.h:6: #define MEDIA_BLINK_PIPELINE_STATE_H_ On 2016/02/01 23:19:26, sandersd wrote: > On ...
4 years, 10 months ago (2016-02-01 23:26:00 UTC) #9
sandersd (OOO until July 31)
On 2016/02/01 23:24:05, DaleCurtis wrote: > Can you add some arguments for/against why we shouldn't ...
4 years, 10 months ago (2016-02-01 23:52:25 UTC) #10
DaleCurtis
On 2016/02/01 at 23:52:25, sandersd wrote: > On 2016/02/01 23:24:05, DaleCurtis wrote: > > Can ...
4 years, 10 months ago (2016-02-02 00:31:39 UTC) #11
DaleCurtis
So in the future world we'll have Pipeline (pure virtual interface), PipelineImpl (today's Pipeline), and ...
4 years, 10 months ago (2016-02-19 23:28:30 UTC) #13
xhwang
PipelineController sgtm from naming's perspective. Dan and I chat about the future world as well. ...
4 years, 10 months ago (2016-02-19 23:45:50 UTC) #14
sandersd (OOO until July 31)
Just some more unit tests to go, but they won't happen today. PTAL at the ...
4 years, 10 months ago (2016-02-24 00:09:56 UTC) #15
DaleCurtis
Didn't have time to make it through everything, but some initial comments. Overall looks good! ...
4 years, 10 months ago (2016-02-24 01:48:24 UTC) #16
sandersd (OOO until July 31)
https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.cc#newcode150 media/blink/webmediaplayer_impl.cc:150: base::Unretained(this)), On 2016/02/24 01:48:24, DaleCurtis wrote: > Why the ...
4 years, 10 months ago (2016-02-25 00:16:26 UTC) #17
DaleCurtis
https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h File media/blink/webmediaplayer_impl.h (right): https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h#newcode204 media/blink/webmediaplayer_impl.h:204: // Actually seek. This is a regular seek if ...
4 years, 10 months ago (2016-02-25 01:58:30 UTC) #18
xhwang
https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.cc#newcode150 media/blink/webmediaplayer_impl.cc:150: base::Unretained(this)), On 2016/02/25 00:16:26, sandersd wrote: > On 2016/02/24 ...
4 years, 10 months ago (2016-02-25 18:00:10 UTC) #19
sandersd (OOO until July 31)
xhwang: I included my BindToCurrentLoop() change, PTAL at that and how it affects the test ...
4 years, 10 months ago (2016-02-25 20:33:46 UTC) #20
wolenetz
All minor comments / nits except one around l.864 in WMPI.cc (though I'm unsure if ...
4 years, 10 months ago (2016-02-26 02:30:11 UTC) #21
DaleCurtis
Hit dry run for you. Overall looks good. https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h File media/blink/webmediaplayer_impl.h (right): https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h#newcode204 media/blink/webmediaplayer_impl.h:204: // ...
4 years, 10 months ago (2016-02-26 02:54:24 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/300001
4 years, 10 months ago (2016-02-26 02:56:39 UTC) #24
DaleCurtis
https://codereview.chromium.org/1641423002/diff/260001/media/filters/pipeline_controller.cc File media/filters/pipeline_controller.cc (right): https://codereview.chromium.org/1641423002/diff/260001/media/filters/pipeline_controller.cc#newcode48 media/filters/pipeline_controller.cc:48: DCHECK(state_ == State::CREATED); On 2016/02/25 at 20:33:46, sandersd wrote: ...
4 years, 10 months ago (2016-02-26 02:59:34 UTC) #25
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/174114)
4 years, 10 months ago (2016-02-26 03:53:36 UTC) #27
sandersd (OOO until July 31)
https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h File media/blink/webmediaplayer_impl.h (right): https://codereview.chromium.org/1641423002/diff/200001/media/blink/webmediaplayer_impl.h#newcode204 media/blink/webmediaplayer_impl.h:204: // Actually seek. This is a regular seek if ...
4 years, 10 months ago (2016-02-26 22:10:48 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/320001
4 years, 10 months ago (2016-02-26 22:20:01 UTC) #30
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/340001
4 years, 10 months ago (2016-02-26 22:24:59 UTC) #32
DaleCurtis
lgtm % couple fixes once tests are passing. https://codereview.chromium.org/1641423002/diff/340001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1641423002/diff/340001/media/blink/webmediaplayer_impl.cc#newcode1361 media/blink/webmediaplayer_impl.cc:1361: if ...
4 years, 10 months ago (2016-02-26 22:34:34 UTC) #33
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/173230)
4 years, 10 months ago (2016-02-26 23:09:14 UTC) #35
wolenetz
lgtm % *tiny* nit https://codereview.chromium.org/1641423002/diff/300001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1641423002/diff/300001/media/blink/webmediaplayer_impl.cc#newcode864 media/blink/webmediaplayer_impl.cc:864: // Ignore state changes until ...
4 years, 10 months ago (2016-02-26 23:21:06 UTC) #36
sandersd (OOO until July 31)
https://codereview.chromium.org/1641423002/diff/340001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1641423002/diff/340001/media/blink/webmediaplayer_impl.cc#newcode1361 media/blink/webmediaplayer_impl.cc:1361: if (delegate_) On 2016/02/26 22:34:34, DaleCurtis wrote: > You ...
4 years, 10 months ago (2016-02-26 23:25:07 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/380001
4 years, 10 months ago (2016-02-26 23:29:50 UTC) #44
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/188241)
4 years, 10 months ago (2016-02-27 00:43:32 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/380001
4 years, 10 months ago (2016-02-27 01:03:24 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/173395)
4 years, 9 months ago (2016-02-27 02:24:00 UTC) #50
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/400001
4 years, 9 months ago (2016-02-29 23:44:10 UTC) #52
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_compile_dbg_32_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_32_ng/builds/166034) ios_dbg_simulator_ninja on ...
4 years, 9 months ago (2016-02-29 23:48:24 UTC) #54
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/420001
4 years, 9 months ago (2016-02-29 23:50:14 UTC) #56
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/174164)
4 years, 9 months ago (2016-03-01 00:10:26 UTC) #58
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/420001
4 years, 9 months ago (2016-03-01 01:25:41 UTC) #60
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/189235)
4 years, 9 months ago (2016-03-01 02:32:41 UTC) #62
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/500001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/500001
4 years, 9 months ago (2016-03-02 01:01:56 UTC) #64
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/520001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/520001
4 years, 9 months ago (2016-03-02 02:06:29 UTC) #66
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/175011)
4 years, 9 months ago (2016-03-02 02:33:39 UTC) #68
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/560001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/560001
4 years, 9 months ago (2016-03-02 23:02:16 UTC) #70
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/175625)
4 years, 9 months ago (2016-03-03 00:25:50 UTC) #72
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/580001
4 years, 9 months ago (2016-03-03 02:02:34 UTC) #74
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/177141)
4 years, 9 months ago (2016-03-03 03:04:07 UTC) #76
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/600001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/600001
4 years, 9 months ago (2016-03-03 19:45:54 UTC) #78
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-03 21:26:42 UTC) #80
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/620001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/620001
4 years, 9 months ago (2016-03-03 23:49:40 UTC) #82
sandersd (OOO until July 31)
PTAL again, as it's been a while since the LGTMs. dalecurtis@: In particular, make sure ...
4 years, 9 months ago (2016-03-04 00:39:39 UTC) #83
DaleCurtis
Re-reviewed WMPI, lgtm
4 years, 9 months ago (2016-03-04 01:23:12 UTC) #84
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-04 01:27:20 UTC) #86
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/620001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/620001
4 years, 9 months ago (2016-03-04 01:28:20 UTC) #89
commit-bot: I haz the power
Committed patchset #32 (id:620001)
4 years, 9 months ago (2016-03-04 01:36:15 UTC) #91
commit-bot: I haz the power
Patchset 32 (id:??) landed as https://crrev.com/aafb73c6460349c508a49e6e6de21e774ec80b5c Cr-Commit-Position: refs/heads/master@{#379168}
4 years, 9 months ago (2016-03-04 01:38:21 UTC) #93
yoichio
A revert of this CL (patchset #32 id:620001) has been created in https://codereview.chromium.org/1759123003/ by yoichio@chromium.org. ...
4 years, 9 months ago (2016-03-04 07:56:25 UTC) #94
sof
A revert of this CL (patchset #32 id:620001) has been created in https://codereview.chromium.org/1762963002/ by sigbjornf@opera.com. ...
4 years, 9 months ago (2016-03-04 07:57:54 UTC) #95
sof
Were (Blink) layout tests run for this CL? It seems like the bots analyzed that ...
4 years, 9 months ago (2016-03-04 08:03:10 UTC) #97
sof
On 2016/03/04 07:56:25, yoichio wrote: > A revert of this CL (patchset #32 id:620001) has ...
4 years, 9 months ago (2016-03-04 08:05:44 UTC) #98
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/640001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/640001
4 years, 9 months ago (2016-03-04 19:47:41 UTC) #102
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-04 21:16:04 UTC) #104
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1641423002/640001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1641423002/640001
4 years, 9 months ago (2016-03-04 23:08:05 UTC) #107
commit-bot: I haz the power
Committed patchset #33 (id:640001)
4 years, 9 months ago (2016-03-04 23:14:26 UTC) #109
commit-bot: I haz the power
4 years, 9 months ago (2016-03-04 23:15:20 UTC) #111
Message was sent while issue was closed.
Patchset 33 (id:??) landed as
https://crrev.com/1c0bba0d8cbd1390822796b22bfa9bc353d4b5c8
Cr-Commit-Position: refs/heads/master@{#379386}

Powered by Google App Engine
This is Rietveld 408576698