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

Issue 1999893004: Splits PipelineImpl into main and media thread components. (Closed)

Created:
4 years, 7 months ago by alokp
Modified:
4 years, 6 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Splits PipelineImpl into main and media thread components. The outer PipelineImpl runs on the main thread and acts as a proxy between PipelineClient and the internal RendererWrapper that runs on the media thread. This sets the stage to get rid of WaitableEvent and Locks used in PipelineImpl. This patch should not change anything functionality wise except for timing of the notifications received from Demuxer and Renderer. In response to the notifications we used to change member variables inside a lock. Now we post a task to change those variables to the main thread. The list of variables affected by this change are: - buffered_time_ranges_ - did_loading_progress_ - duration_ - statistics_ BUG=616959 Committed: https://crrev.com/1116967f7c15965538b42c2a402712279d4e5662 Cr-Commit-Position: refs/heads/master@{#399376}

Patch Set 1 #

Patch Set 2 : compiles #

Patch Set 3 : delete RendererWrapper during suspend #

Patch Set 4 : a few tests pass #

Patch Set 5 : no test crash #

Patch Set 6 : PipelineImplTest.* pass #

Patch Set 7 : PipelineTeardownTest.* pass #

Patch Set 8 : rebase #

Patch Set 9 : implements GetMediaTime() #

Patch Set 10 : rebase #

Patch Set 11 : media_unittests pass #

Patch Set 12 : cleanup #

Patch Set 13 : fixes destructor DCHECK #

Patch Set 14 : restores waitable event #

Patch Set 15 : rebase #

Patch Set 16 : fix mem leaks #

Patch Set 17 : set playback-rate and volume while playing only #

Patch Set 18 : fixes test timeout #

Patch Set 19 : ignores stop when not running #

Patch Set 20 : reverts time interpolator #

Patch Set 21 : cleanup #

Total comments: 4

Patch Set 22 : addressed WMPI comment #

Patch Set 23 : rebase only #

Patch Set 24 : rearranged code for easier review #

Total comments: 8

Patch Set 25 : reverts state machine changes #

Total comments: 37

Patch Set 26 : addressed comments #

Total comments: 4

Patch Set 27 : rebase only #

Patch Set 28 : deletes TextTracksENabled function #

Patch Set 29 : no-op state transition after error #

Patch Set 30 : restores posting stop done_cb #

Unified diffs Side-by-side diffs Delta from patch set Stats (+704 lines, -635 lines) Patch
M media/base/pipeline_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 7 chunks +44 lines, -205 lines 0 comments Download
M media/base/pipeline_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 20 chunks +594 lines, -345 lines 0 comments Download
M media/base/pipeline_impl_unittest.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 17 chunks +32 lines, -41 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 1 chunk +2 lines, -13 lines 0 comments Download
M media/filters/decoder_stream.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M media/filters/media_source_state.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 1 chunk +1 line, -0 lines 0 comments Download
M media/formats/webm/webm_stream_parser_unittest.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 1 chunk +1 line, -0 lines 0 comments Download
M media/test/pipeline_integration_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 9 chunks +25 lines, -28 lines 0 comments Download
M media/test/pipeline_integration_test_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +4 lines, -3 lines 0 comments Download

Messages

Total messages: 48 (19 generated)
alokp
4 years, 6 months ago (2016-06-03 21:00:04 UTC) #5
xhwang
Assign Dan as the main reviewer as I am busy looking at other CLs. I'll ...
4 years, 6 months ago (2016-06-03 21:09:11 UTC) #8
sandersd (OOO until July 31)
It's going to take a day or two to finish this review. Until then, I ...
4 years, 6 months ago (2016-06-03 22:39:13 UTC) #9
sandersd (OOO until July 31)
On 2016/06/03 22:39:13, sandersd wrote: > It's going to take a day or two to ...
4 years, 6 months ago (2016-06-03 22:59:35 UTC) #10
sandersd (OOO until July 31)
(Covers everything except the changes in pipeline_impl.*) https://codereview.chromium.org/1999893004/diff/400001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (left): https://codereview.chromium.org/1999893004/diff/400001/media/blink/webmediaplayer_impl.cc#oldcode244 media/blink/webmediaplayer_impl.cc:244: if (data_source_) ...
4 years, 6 months ago (2016-06-03 23:11:45 UTC) #11
alokp
I have designed RendererWrapper as an internal class of Pipeline. I do not see much ...
4 years, 6 months ago (2016-06-03 23:57:49 UTC) #12
sandersd (OOO until July 31)
On 2016/06/03 23:57:49, alokp wrote: > I have designed RendererWrapper as an internal class of ...
4 years, 6 months ago (2016-06-08 00:01:53 UTC) #13
alokp
Dan: Sorry for the large patch. I have rearranged the code in pipeline_impl.cc so that ...
4 years, 6 months ago (2016-06-08 19:59:49 UTC) #14
sandersd (OOO until July 31)
On 2016/06/08 19:59:49, alokp wrote: > Dan: Sorry for the large patch. I have rearranged ...
4 years, 6 months ago (2016-06-09 00:33:50 UTC) #15
alokp
OK. Reverted the state machine changes. I still think we should make those changes but ...
4 years, 6 months ago (2016-06-09 06:31:06 UTC) #16
sandersd (OOO until July 31)
There are a number of places where what used to be atomic is now posted ...
4 years, 6 months ago (2016-06-09 19:30:26 UTC) #17
alokp
https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (left): https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc#oldcode641 media/base/pipeline_impl.cc:641: UMA_HISTOGRAM_COUNTS("Media.DroppedFrameCount", On 2016/06/09 19:30:26, sandersd wrote: > This UMA ...
4 years, 6 months ago (2016-06-10 00:06:02 UTC) #18
xhwang
I don't feel I have any cycle to look at this CL any time soon ...
4 years, 6 months ago (2016-06-10 18:00:24 UTC) #19
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (left): https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc#oldcode641 media/base/pipeline_impl.cc:641: UMA_HISTOGRAM_COUNTS("Media.DroppedFrameCount", On 2016/06/10 00:06:02, alokp wrote: > On 2016/06/09 ...
4 years, 6 months ago (2016-06-10 18:22:50 UTC) #20
alokp
https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (left): https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc#oldcode641 media/base/pipeline_impl.cc:641: UMA_HISTOGRAM_COUNTS("Media.DroppedFrameCount", On 2016/06/10 18:22:50, sandersd wrote: > On 2016/06/10 ...
4 years, 6 months ago (2016-06-10 21:25:37 UTC) #21
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (left): https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc#oldcode641 media/base/pipeline_impl.cc:641: UMA_HISTOGRAM_COUNTS("Media.DroppedFrameCount", On 2016/06/10 21:25:36, alokp wrote: > On 2016/06/10 ...
4 years, 6 months ago (2016-06-10 22:02:06 UTC) #22
alokp
https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (left): https://chromiumcodereview.appspot.com/1999893004/diff/480001/media/base/pipeline_impl.cc#oldcode641 media/base/pipeline_impl.cc:641: UMA_HISTOGRAM_COUNTS("Media.DroppedFrameCount", On 2016/06/10 22:02:06, sandersd wrote: > On 2016/06/10 ...
4 years, 6 months ago (2016-06-10 22:35:04 UTC) #24
sandersd (OOO until July 31)
lgtm
4 years, 6 months ago (2016-06-10 22:38:37 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1999893004/540001
4 years, 6 months ago (2016-06-10 22:44:56 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/176201)
4 years, 6 months ago (2016-06-10 23:40:42 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1999893004/540001
4 years, 6 months ago (2016-06-10 23:59:29 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/86206)
4 years, 6 months ago (2016-06-11 00:23:40 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1999893004/560001
4 years, 6 months ago (2016-06-11 01:00:30 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/243062)
4 years, 6 months ago (2016-06-11 02:27:53 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1999893004/580001
4 years, 6 months ago (2016-06-11 07:31:25 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/237635)
4 years, 6 months ago (2016-06-11 09:20:57 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1999893004/580001
4 years, 6 months ago (2016-06-11 15:25:58 UTC) #45
commit-bot: I haz the power
Committed patchset #30 (id:580001)
4 years, 6 months ago (2016-06-11 17:31:15 UTC) #46
commit-bot: I haz the power
4 years, 6 months ago (2016-06-11 17:33:10 UTC) #48
Message was sent while issue was closed.
Patchset 30 (id:??) landed as
https://crrev.com/1116967f7c15965538b42c2a402712279d4e5662
Cr-Commit-Position: refs/heads/master@{#399376}

Powered by Google App Engine
This is Rietveld 408576698