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

Issue 1904793002: Move Pipeline permanent callbacks into Pipeline::Client interface. (Closed)

Created:
4 years, 8 months ago by alokp
Modified:
4 years, 7 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

Move Pipeline permanent callbacks into Pipeline::Client interface. We have already reach the gmock limit of 10 arguments for Pipeline::Start function. So we need to move the arguments into a container to be able to add more callbacks. BUG=571155 Committed: https://crrev.com/967c902454f4a36e0d0e44d686dc5b76c1467255 Cr-Commit-Position: refs/heads/master@{#392005}

Patch Set 1 #

Patch Set 2 : unittests compile #

Patch Set 3 : removed permanent callbacks #

Total comments: 15

Patch Set 4 : media_unittests compile #

Patch Set 5 : addressed comments #

Patch Set 6 : PipelineClient -> Pipeline::Client #

Patch Set 7 : compiles chrome #

Patch Set 8 : rearrange changes to help reviewers #

Patch Set 9 : fixes media_unittests #

Patch Set 10 : cleanup #

Total comments: 6

Patch Set 11 : rebase #

Patch Set 12 : fixup threading #

Patch Set 13 : rebase #

Patch Set 14 : call done_cb on main thread #

Patch Set 15 : rebase #

Patch Set 16 : removed thread DCHECKS for a few functions #

Patch Set 17 : rebase #

Total comments: 1

Patch Set 18 : fix tests attempt 1 #

Patch Set 19 : fixed webmediaplayerimpl tests #

Patch Set 20 : rebase #

Patch Set 21 : alternate stop implementation #

Patch Set 22 : make Pipeline::Stop blocking #

Patch Set 23 : restored lock during stop #

Total comments: 32

Patch Set 24 : fixed test timeouts #

Patch Set 25 : rebase #

Patch Set 26 : makes Pipeline::Client abstract #

Total comments: 2

Patch Set 27 : CHECK waiter PostTask #

Total comments: 32

Patch Set 28 : addressed comments #

Patch Set 29 : rebase #

Patch Set 30 : rebase #

Patch Set 31 : post stop callback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+528 lines, -558 lines) Patch
M media/base/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 1 chunk +1 line, -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 17 18 19 20 21 22 23 24 25 26 27 3 chunks +25 lines, -21 lines 0 comments Download
M media/base/mock_filters.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +6 lines, -12 lines 0 comments Download
M media/base/pipeline.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 2 chunks +43 lines, -47 lines 0 comments Download
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 26 27 6 chunks +25 lines, -26 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 30 27 chunks +205 lines, -133 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 23 chunks +72 lines, -139 lines 0 comments Download
A media/base/pipeline_metadata.h View 1 2 3 4 5 6 7 8 9 1 chunk +28 lines, -0 lines 0 comments Download
M media/blink/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +10 lines, -10 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 13 chunks +58 lines, -70 lines 0 comments Download
M media/filters/pipeline_controller.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -7 lines 0 comments Download
M media/filters/pipeline_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +14 lines, -28 lines 0 comments Download
M media/filters/pipeline_controller_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 3 chunks +12 lines, -8 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 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 23 24 3 chunks +10 lines, -32 lines 0 comments Download
M media/test/pipeline_integration_test_base.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 3 chunks +7 lines, -5 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 16 17 18 19 20 21 5 chunks +9 lines, -20 lines 0 comments Download

Messages

Total messages: 55 (12 generated)
alokp
I still need to make everything compile and run. But could you guys please check ...
4 years, 8 months ago (2016-04-20 23:47:45 UTC) #2
sandersd (OOO until July 31)
On 2016/04/20 23:47:45, alokp wrote: > I still need to make everything compile and run. ...
4 years, 8 months ago (2016-04-21 00:34:55 UTC) #3
sandersd (OOO until July 31)
My mistake, I has assumed pipeline_impl.h would be updated as well. Looks about how I ...
4 years, 8 months ago (2016-04-21 00:36:30 UTC) #4
xhwang
The client interface looks good and it does simplify a lot of things. Thanks for ...
4 years, 8 months ago (2016-04-21 05:50:35 UTC) #5
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h File media/base/pipeline.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h#newcode47 media/base/pipeline.h:47: const PipelineStatusCB& seek_cb) = 0; On 2016/04/21 05:50:35, xhwang ...
4 years, 8 months ago (2016-04-21 21:56:38 UTC) #6
xhwang
Add dalecurtis@ since this CL isn't trivial and sandersd@ is OOO. https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h File media/base/pipeline.h (right): ...
4 years, 8 months ago (2016-04-21 22:26:04 UTC) #8
xhwang
https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h File media/base/pipeline.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h#newcode140 media/base/pipeline.h:140: PipelineClient* client_; On 2016/04/21 22:26:04, xhwang wrote: > On ...
4 years, 8 months ago (2016-04-21 22:32:06 UTC) #9
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h File media/base/pipeline.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h#newcode47 media/base/pipeline.h:47: const PipelineStatusCB& seek_cb) = 0; On 2016/04/21 22:26:04, xhwang ...
4 years, 8 months ago (2016-04-22 05:08:59 UTC) #12
xhwang
Is this CL ready for full review now or are you still updating? https://chromiumcodereview.appspot.com/1904793002/diff/30001/media/base/pipeline.h File ...
4 years, 8 months ago (2016-04-22 16:05:05 UTC) #13
alokp
On 2016/04/22 16:05:05, xhwang wrote: > Is this CL ready for full review now or ...
4 years, 8 months ago (2016-04-22 16:09:26 UTC) #14
xhwang
The new API lg. Thanks!
4 years, 8 months ago (2016-04-22 16:13:04 UTC) #15
alokp
ready for review - PTAL. Thanks!
4 years, 8 months ago (2016-04-22 19:24:03 UTC) #16
xhwang
I didn't review everything. Please see the comments about threading. Thanks again for working on ...
4 years, 8 months ago (2016-04-25 22:49:45 UTC) #17
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc#newcode1279 media/blink/webmediaplayer_impl.cc:1279: pipeline_controller_.Start(demuxer_.get(), this, is_streaming, is_static); On 2016/04/25 22:49:45, xhwang wrote: ...
4 years, 8 months ago (2016-04-26 23:16:36 UTC) #18
xhwang
https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc#newcode1279 media/blink/webmediaplayer_impl.cc:1279: pipeline_controller_.Start(demuxer_.get(), this, is_streaming, is_static); On 2016/04/26 23:16:35, sandersd wrote: ...
4 years, 8 months ago (2016-04-26 23:35:49 UTC) #19
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/170001/media/blink/webmediaplayer_impl.cc#newcode1279 media/blink/webmediaplayer_impl.cc:1279: pipeline_controller_.Start(demuxer_.get(), this, is_streaming, is_static); On 2016/04/26 23:35:49, xhwang wrote: ...
4 years, 7 months ago (2016-04-28 00:29:40 UTC) #20
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline.h File media/base/pipeline.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline.h#newcode32 media/base/pipeline.h:32: virtual ~Client() {} I still don't think we want ...
4 years, 7 months ago (2016-05-02 18:37:47 UTC) #21
xhwang
I didn't review everything. Have two kinda high-level comments for discussion. https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline.h File media/base/pipeline.h (right): ...
4 years, 7 months ago (2016-05-02 20:58:35 UTC) #22
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline.h File media/base/pipeline.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline.h#newcode32 media/base/pipeline.h:32: virtual ~Client() {} On 2016/05/02 18:37:47, sandersd wrote: > ...
4 years, 7 months ago (2016-05-02 22:25:18 UTC) #23
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/05/02 22:25:17, alokp wrote: > On ...
4 years, 7 months ago (2016-05-02 22:45:52 UTC) #24
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/05/02 22:45:52, sandersd wrote: > On ...
4 years, 7 months ago (2016-05-02 23:00:59 UTC) #25
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/05/02 23:00:59, alokp wrote: > On ...
4 years, 7 months ago (2016-05-02 23:20:47 UTC) #26
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/05/02 23:20:47, sandersd wrote: > On ...
4 years, 7 months ago (2016-05-03 05:22:18 UTC) #27
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On 2016/05/03 05:22:18, alokp wrote: > On ...
4 years, 7 months ago (2016-05-03 19:28:55 UTC) #28
alokp
xhwang: Can you please review. Thanks! https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/430001/media/base/pipeline_impl.cc#newcode41 media/base/pipeline_impl.cc:41: : main_task_runner_(base::ThreadTaskRunnerHandle::Get()), On ...
4 years, 7 months ago (2016-05-03 20:15:23 UTC) #29
alokp
xhwang: Can you please review. Thanks!
4 years, 7 months ago (2016-05-03 20:15:24 UTC) #30
sandersd (OOO until July 31)
Overall looking pretty good. https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc#newcode554 media/base/pipeline_impl.cc:554: client_weak_factory_->GetWeakPtr())); It is not safe ...
4 years, 7 months ago (2016-05-03 21:51:43 UTC) #31
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc#newcode554 media/base/pipeline_impl.cc:554: client_weak_factory_->GetWeakPtr())); On 2016/05/03 21:51:43, sandersd wrote: > It is ...
4 years, 7 months ago (2016-05-03 23:00:35 UTC) #32
sandersd (OOO until July 31)
https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc#newcode554 media/base/pipeline_impl.cc:554: client_weak_factory_->GetWeakPtr())); On 2016/05/03 23:00:35, alokp wrote: > On 2016/05/03 ...
4 years, 7 months ago (2016-05-03 23:03:39 UTC) #33
sandersd (OOO until July 31)
On 2016/05/03 23:03:39, sandersd wrote: > https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc > File media/base/pipeline_impl.cc (right): > > https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc#newcode554 > ...
4 years, 7 months ago (2016-05-03 23:05:25 UTC) #34
sandersd (OOO until July 31)
lgtm
4 years, 7 months ago (2016-05-03 23:05:37 UTC) #35
xhwang
On 2016/05/03 20:15:24, alokp wrote: > xhwang: Can you please review. Thanks! Sorry for the ...
4 years, 7 months ago (2016-05-04 00:13:51 UTC) #36
xhwang
Add wez@ about a question on WeakPtrFactory. Otherwise mostly nits. https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/mock_filters.h File media/base/mock_filters.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/mock_filters.h#newcode57 ...
4 years, 7 months ago (2016-05-04 06:32:22 UTC) #38
Wez
https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc File media/base/pipeline_impl.cc (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/pipeline_impl.cc#newcode81 media/base/pipeline_impl.cc:81: client_weak_factory_.reset(new base::WeakPtrFactory<Client>(client)); On 2016/05/04 06:32:22, xhwang wrote: > wez: ...
4 years, 7 months ago (2016-05-04 15:56:26 UTC) #39
alokp
https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/mock_filters.h File media/base/mock_filters.h (right): https://chromiumcodereview.appspot.com/1904793002/diff/510001/media/base/mock_filters.h#newcode57 media/base/mock_filters.h:57: // take scoped_ptr* instead of scoped_ptr so that they ...
4 years, 7 months ago (2016-05-04 17:40:01 UTC) #40
Wez
Re GetWeakPtr(), it is permissible for the implementation to reconstruct the internal Flag when the ...
4 years, 7 months ago (2016-05-04 20:45:21 UTC) #41
alokp
xhwang: friendly ping :)
4 years, 7 months ago (2016-05-05 13:17:39 UTC) #42
xhwang
LGTM, thanks!
4 years, 7 months ago (2016-05-05 16:25:07 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904793002/550001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904793002/550001
4 years, 7 months ago (2016-05-05 16:29:37 UTC) #46
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/217072)
4 years, 7 months ago (2016-05-05 23:03:37 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904793002/590001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904793002/590001
4 years, 7 months ago (2016-05-06 04:18:31 UTC) #51
commit-bot: I haz the power
Committed patchset #31 (id:590001)
4 years, 7 months ago (2016-05-06 05:21:49 UTC) #53
commit-bot: I haz the power
4 years, 7 months ago (2016-05-06 05:23:06 UTC) #55
Message was sent while issue was closed.
Patchset 31 (id:??) landed as
https://crrev.com/967c902454f4a36e0d0e44d686dc5b76c1467255
Cr-Commit-Position: refs/heads/master@{#392005}

Powered by Google App Engine
This is Rietveld 408576698