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

Issue 10837206: Rewrite media::Pipeline state transition machinery and simplify shutdown. (Closed)

Created:
8 years, 4 months ago by scherkus (not reviewing)
Modified:
8 years, 3 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Rewrite media::Pipeline state transition machinery and simplify shutdown. Shutdown is now a single call to Stop() and is called regardless of the current state of pending operations. BUG=110228 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=156011

Patch Set 1 #

Patch Set 2 : fix .h #

Patch Set 3 : rebase #

Patch Set 4 : rebase #

Patch Set 5 : remove dead code #

Patch Set 6 : more dead code #

Patch Set 7 : one more time #

Total comments: 83

Patch Set 8 : address comments #

Patch Set 9 : #

Total comments: 31

Patch Set 10 : Removed PIPELINE_ERROR_REQUIRED_FILTER_MISSING #

Patch Set 11 : fixes #

Total comments: 8

Patch Set 12 : nits #

Total comments: 2

Patch Set 13 : nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+464 lines, -912 lines) Patch
M media/base/media_log.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M media/base/media_log.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +1 line, -34 lines 0 comments Download
M media/base/pipeline.h View 1 2 3 4 5 6 7 8 9 10 11 14 chunks +59 lines, -116 lines 0 comments Download
M media/base/pipeline.cc View 1 2 3 4 5 6 7 8 9 10 11 12 16 chunks +295 lines, -574 lines 0 comments Download
M media/base/pipeline_status.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M media/base/pipeline_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 chunks +105 lines, -177 lines 0 comments Download
M media/base/serial_runner.cc View 1 chunk +4 lines, -8 lines 0 comments Download
M webkit/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 14 (0 generated)
scherkus (not reviewing)
ready for review post-acolwell's video decoder initialization and buffering status changes This change is likely ...
8 years, 3 months ago (2012-08-30 05:34:14 UTC) #1
Ami GONE FROM CHROMIUM
I like it! But also it's quite a hairy transformation (into something much better). acolwell: ...
8 years, 3 months ago (2012-09-02 20:29:29 UTC) #2
acolwell GONE FROM CHROMIUM
I like it too. http://codereview.chromium.org/10837206/diff/12002/media/base/media_log.cc File media/base/media_log.cc (right): http://codereview.chromium.org/10837206/diff/12002/media/base/media_log.cc#newcode62 media/base/media_log.cc:62: const char* MediaLog::PipelineStateToString(Pipeline::State state) { ...
8 years, 3 months ago (2012-09-05 13:22:22 UTC) #3
scherkus (not reviewing)
Thanks for the review. Outstanding Qs: - Should GetNextState() check for presence of audio/video streams ...
8 years, 3 months ago (2012-09-05 15:04:17 UTC) #4
scherkus (not reviewing)
https://chromiumcodereview.appspot.com/10837206/diff/22002/media/base/pipeline.cc File media/base/pipeline.cc (right): https://chromiumcodereview.appspot.com/10837206/diff/22002/media/base/pipeline.cc#newcode467 media/base/pipeline.cc:467: has_video_ = video_renderer_; FYI: E:\b\build\slave\win\build\src\media\base\pipeline.cc(467) : warning C4800: 'media::VideoRenderer ...
8 years, 3 months ago (2012-09-05 15:19:30 UTC) #5
Ami GONE FROM CHROMIUM
On 2012/09/05 15:19:30, scherkus wrote: > https://chromiumcodereview.appspot.com/10837206/diff/22002/media/base/pipeline.cc > File media/base/pipeline.cc (right): > > https://chromiumcodereview.appspot.com/10837206/diff/22002/media/base/pipeline.cc#newcode467 > ...
8 years, 3 months ago (2012-09-06 08:44:31 UTC) #6
scherkus (not reviewing)
On 2012/09/06 08:44:31, Ami Fischman wrote: > On 2012/09/05 15:19:30, scherkus wrote: > > > ...
8 years, 3 months ago (2012-09-06 08:56:46 UTC) #7
Ami GONE FROM CHROMIUM
http://codereview.chromium.org/10837206/diff/12002/media/base/pipeline.cc File media/base/pipeline.cc (right): http://codereview.chromium.org/10837206/diff/12002/media/base/pipeline.cc#newcode253 media/base/pipeline.cc:253: #define RETURN_STRING(state) \ On 2012/09/05 15:04:17, scherkus wrote: > ...
8 years, 3 months ago (2012-09-06 09:11:34 UTC) #8
acolwell GONE FROM CHROMIUM
http://codereview.chromium.org/10837206/diff/22002/media/base/media_log.cc File media/base/media_log.cc (right): http://codereview.chromium.org/10837206/diff/22002/media/base/media_log.cc#newcode74 media/base/media_log.cc:74: case Pipeline::kInitPrerolling: Any reason to not reuse Pipeline::GetStateString() here? ...
8 years, 3 months ago (2012-09-06 09:19:10 UTC) #9
scherkus (not reviewing)
PTAL Two tiny things: 1) I went back to my original playback rate changes, please ...
8 years, 3 months ago (2012-09-06 15:33:20 UTC) #10
Ami GONE FROM CHROMIUM
LGTM % nits http://codereview.chromium.org/10837206/diff/19004/media/base/pipeline.cc File media/base/pipeline.cc (right): http://codereview.chromium.org/10837206/diff/19004/media/base/pipeline.cc#newcode320 media/base/pipeline.cc:320: NOTREACHED() << "State has no transition: ...
8 years, 3 months ago (2012-09-07 13:19:41 UTC) #11
scherkus (not reviewing)
done -- will wait for acolwell to do final inspection http://codereview.chromium.org/10837206/diff/19004/media/base/pipeline.cc File media/base/pipeline.cc (right): http://codereview.chromium.org/10837206/diff/19004/media/base/pipeline.cc#newcode320 ...
8 years, 3 months ago (2012-09-07 13:49:21 UTC) #12
acolwell GONE FROM CHROMIUM
LGTM http://codereview.chromium.org/10837206/diff/21012/media/base/pipeline.cc File media/base/pipeline.cc (right): http://codereview.chromium.org/10837206/diff/21012/media/base/pipeline.cc#newcode431 media/base/pipeline.cc:431: status_ = (status_ != PIPELINE_OK ? status_ : ...
8 years, 3 months ago (2012-09-11 11:50:31 UTC) #13
scherkus (not reviewing)
8 years, 3 months ago (2012-09-11 14:09:46 UTC) #14
thanks!

http://codereview.chromium.org/10837206/diff/21012/media/base/pipeline.cc
File media/base/pipeline.cc (right):

http://codereview.chromium.org/10837206/diff/21012/media/base/pipeline.cc#new...
media/base/pipeline.cc:431: status_ = (status_ != PIPELINE_OK ? status_ :
status);
On 2012/09/11 11:50:31, acolwell wrote:
> nit: Move this below the kStopping early return below so we don't modify
status_
> while stopping? Doing this provides the same behavior as ErrorChangedTask()
> while stopping.

Done.

Powered by Google App Engine
This is Rietveld 408576698