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

Issue 51613002: Abort MSP::OnPrefetchDone() if just after MSP::Release(). Let seek and config change survive. (Closed)

Created:
7 years, 1 month ago by wolenetz
Modified:
7 years, 1 month ago
CC:
chromium-reviews, joi+watch-content_chromium.org, feature-media-reviews_chromium.org, jam, darin-cc_chromium.org
Visibility:
Public.

Description

Abort MSP::OnPrefetchDone() if just after MSP::Release(). Let seek and config change survive. Prevents DCHECK'ing on unexpectedly missing pending prefetch done event in MSP::OnPrefetchDone() since OnPrefetchDone() could already be posted when Release() occurs. Also allows pending seek or config change to survive Release(). More robust fix for correctly tracking player and stream state across MSP::Release() + Start() is tracked by http://crbug.com/306314. Also, http://crbug.com/304234 tracks more robust buffering by browser player that may modify prefetch behavior. R=qinmin@chromium.org,acolwell@chromium.org BUG=302867, 306314, 304234 TEST=All media_unittests pass locally on Android with MediaCodecBridge available. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232601

Patch Set 1 #

Patch Set 2 : remove an extra blank line #

Total comments: 8

Patch Set 3 : address Min's PS2 comments #

Patch Set 4 : don't ProcessPendingEvents() if aborting OnPrefetchDone() #

Patch Set 5 : allow pending seek or config change to survive player Release(), tests not fully done yet #

Patch Set 6 : add more unit test coverage #

Total comments: 10

Patch Set 7 : address comments and nits from PS6 #

Total comments: 13

Patch Set 8 : Address comments and nits from PS7 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+399 lines, -10 lines) Patch
M media/base/android/media_decoder_job.cc View 4 chunks +7 lines, -1 line 0 comments Download
M media/base/android/media_source_player.h View 1 2 3 4 5 6 7 2 chunks +14 lines, -0 lines 0 comments Download
M media/base/android/media_source_player.cc View 1 2 3 4 5 6 4 chunks +42 lines, -2 lines 0 comments Download
M media/base/android/media_source_player_unittest.cc View 1 2 3 4 5 6 7 11 chunks +336 lines, -7 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
wolenetz
Please take a look @ PS2: qinmin@: OWNER review of all, acolwell@: review all too, ...
7 years, 1 month ago (2013-10-29 22:37:08 UTC) #1
wolenetz
On 2013/10/29 22:37:08, wolenetz wrote: > Please take a look @ PS2: > qinmin@: OWNER ...
7 years, 1 month ago (2013-10-29 22:48:26 UTC) #2
qinmin
https://codereview.chromium.org/51613002/diff/80001/content/browser/media/android/browser_media_player_manager.h File content/browser/media/android/browser_media_player_manager.h (right): https://codereview.chromium.org/51613002/diff/80001/content/browser/media/android/browser_media_player_manager.h#newcode103 content/browser/media/android/browser_media_player_manager.h:103: virtual void OnMediaDecoderCallback() OVERRIDE {} For test functions, normally ...
7 years, 1 month ago (2013-10-29 23:49:33 UTC) #3
wolenetz
Thanks. PTAL @ PS3: https://codereview.chromium.org/51613002/diff/80001/content/browser/media/android/browser_media_player_manager.h File content/browser/media/android/browser_media_player_manager.h (right): https://codereview.chromium.org/51613002/diff/80001/content/browser/media/android/browser_media_player_manager.h#newcode103 content/browser/media/android/browser_media_player_manager.h:103: virtual void OnMediaDecoderCallback() OVERRIDE {} ...
7 years, 1 month ago (2013-10-30 00:06:45 UTC) #4
qinmin
https://codereview.chromium.org/51613002/diff/80001/media/base/android/media_source_player.cc File media/base/android/media_source_player.cc (right): https://codereview.chromium.org/51613002/diff/80001/media/base/android/media_source_player.cc#newcode861 media/base/android/media_source_player.cc:861: ProcessPendingEvents(); But release() will clear the pending_event_, so there ...
7 years, 1 month ago (2013-10-30 00:14:40 UTC) #5
wolenetz
On 2013/10/30 00:06:45, wolenetz wrote: > Thanks. PTAL @ PS3: > ... > https://codereview.chromium.org/51613002/diff/80001/media/base/android/media_source_player.cc#newcode861 > ...
7 years, 1 month ago (2013-10-30 00:15:58 UTC) #6
wolenetz
PTAL @ PS4. It removes the ProcessPendingEvents() call from the case where OnPrefetchDone() is aborting. ...
7 years, 1 month ago (2013-10-30 00:23:58 UTC) #7
wolenetz
On 2013/10/30 00:23:58, wolenetz wrote: > PTAL @ PS4. It removes the ProcessPendingEvents() call from ...
7 years, 1 month ago (2013-10-30 00:29:43 UTC) #8
qinmin
On 2013/10/30 00:29:43, wolenetz wrote: > On 2013/10/30 00:23:58, wolenetz wrote: > > PTAL @ ...
7 years, 1 month ago (2013-10-30 01:54:24 UTC) #9
wolenetz
On 2013/10/30 01:54:24, qinmin wrote: > On 2013/10/30 00:29:43, wolenetz wrote: > > On 2013/10/30 ...
7 years, 1 month ago (2013-10-30 18:02:26 UTC) #10
wolenetz
PTAL @ PS5 - Tests are incomplete, but the production code is there to allow ...
7 years, 1 month ago (2013-10-30 20:14:32 UTC) #11
wolenetz
PS6 is ready for review. PTAL. Thanks!
7 years, 1 month ago (2013-10-30 21:50:36 UTC) #12
qinmin
https://codereview.chromium.org/51613002/diff/380001/media/base/android/media_source_player.cc File media/base/android/media_source_player.cc (right): https://codereview.chromium.org/51613002/diff/380001/media/base/android/media_source_player.cc#newcode243 media/base/android/media_source_player.cc:243: if (IsEventPending(SEEK_EVENT_PENDING) || No need for this if statement, ...
7 years, 1 month ago (2013-10-30 23:07:48 UTC) #13
acolwell GONE FROM CHROMIUM
In general I think the tests are verifying too much of MSP's internal state. I ...
7 years, 1 month ago (2013-10-30 23:29:52 UTC) #14
wolenetz
These comments are very helpful. Thank you, both. Regarding, "In general I think the tests ...
7 years, 1 month ago (2013-10-31 01:39:10 UTC) #15
qinmin
lgtm % nit https://codereview.chromium.org/51613002/diff/530001/media/base/android/media_source_player_unittest.cc File media/base/android/media_source_player_unittest.cc (right): https://codereview.chromium.org/51613002/diff/530001/media/base/android/media_source_player_unittest.cc#newcode1462 media/base/android/media_source_player_unittest.cc:1462: // Upon the next successful decode ...
7 years, 1 month ago (2013-10-31 04:12:27 UTC) #16
acolwell GONE FROM CHROMIUM
in general this looks good, but I still have a few comments related to the ...
7 years, 1 month ago (2013-10-31 17:53:59 UTC) #17
wolenetz
I believe PS8 addresses all outstanding comments and nits. acolwell@, PTAL. qinmin@, no production code ...
7 years, 1 month ago (2013-11-01 20:45:27 UTC) #18
acolwell GONE FROM CHROMIUM
lgtm
7 years, 1 month ago (2013-11-01 22:15:37 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wolenetz@chromium.org/51613002/730001
7 years, 1 month ago (2013-11-01 22:35:21 UTC) #20
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=217895
7 years, 1 month ago (2013-11-02 02:19:40 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wolenetz@chromium.org/51613002/730001
7 years, 1 month ago (2013-11-02 03:15:36 UTC) #22
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=218016
7 years, 1 month ago (2013-11-02 06:03:39 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wolenetz@chromium.org/51613002/730001
7 years, 1 month ago (2013-11-02 11:06:45 UTC) #24
commit-bot: I haz the power
7 years, 1 month ago (2013-11-02 13:29:00 UTC) #25
Message was sent while issue was closed.
Change committed as 232601

Powered by Google App Engine
This is Rietveld 408576698