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

Issue 1920093003: media: Handle output SurfaceView destruction in AVDA (Closed)

Created:
4 years, 7 months ago by watk
Modified:
4 years, 7 months ago
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, piman+watch_chromium.org, posciak+watch_chromium.org, no sievers
Base URL:
https://chromium.googlesource.com/chromium/src.git@svteardown
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Handle output SurfaceView destruction in AVDA Previously AVDA didn't get a callback when its output surface was being destroyed. Now, with AVDASurfaceTracker, AVDA registers for a callback in which it releases its MediaCodec to avoid putting MediaCodec into an invalid state that can causes crashes in some cases. This also disables AVDA VP8 for api levels 16 and 17, because on those platform versions we have to fully flush the MediaCodec before releasing it, and that's something we don't want to handle in the surface destruction callback. BUG=598408, 533630 Committed: https://crrev.com/c9a797dd54d4a176eb758189e35942ee45e1dc1f Cr-Commit-Position: refs/heads/master@{#393392}

Patch Set 1 #

Total comments: 9

Patch Set 2 : Comments + drain and flush logic #

Total comments: 6

Patch Set 3 : Rebase #

Patch Set 4 : WIP drain decoder #

Total comments: 3

Patch Set 5 : rebase #

Patch Set 6 : Remove draining stuff #

Patch Set 7 : Dale's comments and disable VP8 on platforms where we do surface teardown #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+76 lines, -11 lines) Patch
M media/gpu/android_video_decode_accelerator.h View 1 2 4 chunks +13 lines, -0 lines 0 comments Download
M media/gpu/android_video_decode_accelerator.cc View 1 2 3 4 5 6 9 chunks +63 lines, -11 lines 1 comment Download

Messages

Total messages: 28 (7 generated)
watk
liberato PTAL. sievers FYI.
4 years, 7 months ago (2016-04-26 22:43:29 UTC) #2
watk
Note: this is based on https://codereview.chromium.org/1878103002/ which hasn't landed.
4 years, 7 months ago (2016-04-26 22:45:05 UTC) #3
liberato (no reviews please)
https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc#newcode428 content/common/gpu/media/android_video_decode_accelerator.cc:428: on_destroying_surface_cb_ = all of the callback code might be ...
4 years, 7 months ago (2016-04-27 16:50:04 UTC) #4
watk
https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc#newcode428 content/common/gpu/media/android_video_decode_accelerator.cc:428: on_destroying_surface_cb_ = On 2016/04/27 16:50:04, liberato wrote: > all ...
4 years, 7 months ago (2016-04-27 18:54:05 UTC) #5
liberato (no reviews please)
lgtm https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc#newcode428 content/common/gpu/media/android_video_decode_accelerator.cc:428: on_destroying_surface_cb_ = On 2016/04/27 18:54:04, watk wrote: > ...
4 years, 7 months ago (2016-04-27 21:00:37 UTC) #6
watk
If you get a minute, could you give this a quick look please Dale? https://codereview.chromium.org/1920093003/diff/1/content/common/gpu/media/android_video_decode_accelerator.cc ...
4 years, 7 months ago (2016-04-27 21:14:07 UTC) #8
DaleCurtis
https://codereview.chromium.org/1920093003/diff/20001/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/20001/content/common/gpu/media/android_video_decode_accelerator.cc#newcode953 content/common/gpu/media/android_video_decode_accelerator.cc:953: if (state_ == SURFACE_DESTROYED) { No unnecessary parens. https://codereview.chromium.org/1920093003/diff/20001/content/common/gpu/media/android_video_decode_accelerator.cc#newcode1251 ...
4 years, 7 months ago (2016-04-27 21:20:36 UTC) #9
watk
https://codereview.chromium.org/1920093003/diff/20001/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/20001/content/common/gpu/media/android_video_decode_accelerator.cc#newcode1314 content/common/gpu/media/android_video_decode_accelerator.cc:1314: // If we're currently asynchronously configuring a codec, it ...
4 years, 7 months ago (2016-05-02 17:49:01 UTC) #10
watk
Just posting my WIP before I leave for the day. I haven't compiled it yet, ...
4 years, 7 months ago (2016-05-04 01:36:10 UTC) #12
liberato (no reviews please)
https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc File media/gpu/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc#newcode1320 media/gpu/android_video_decode_accelerator.cc:1320: media_codec_->DequeueInputBuffer(kTimeout, &input_buf_index); input buffers might become available after we ...
4 years, 7 months ago (2016-05-04 14:19:56 UTC) #13
watk
https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc File media/gpu/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc#newcode1320 media/gpu/android_video_decode_accelerator.cc:1320: media_codec_->DequeueInputBuffer(kTimeout, &input_buf_index); On 2016/05/04 14:19:56, liberato wrote: > input ...
4 years, 7 months ago (2016-05-04 18:18:46 UTC) #14
liberato (no reviews please)
https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc File media/gpu/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc#newcode1320 media/gpu/android_video_decode_accelerator.cc:1320: media_codec_->DequeueInputBuffer(kTimeout, &input_buf_index); On 2016/05/04 18:18:46, watk wrote: > On ...
4 years, 7 months ago (2016-05-04 18:30:00 UTC) #15
watk
On 2016/05/04 18:30:00, liberato wrote: > https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc > File media/gpu/android_video_decode_accelerator.cc (right): > > https://codereview.chromium.org/1920093003/diff/80001/media/gpu/android_video_decode_accelerator.cc#newcode1320 > ...
4 years, 7 months ago (2016-05-04 18:41:38 UTC) #16
watk
I started trying to do this, but it felt crazy. What if I just disallow ...
4 years, 7 months ago (2016-05-11 00:20:09 UTC) #17
watk
Alright! I think it's finally ready
4 years, 7 months ago (2016-05-11 20:57:32 UTC) #18
liberato (no reviews please)
https://codereview.chromium.org/1920093003/diff/140001/media/gpu/android_video_decode_accelerator.cc File media/gpu/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1920093003/diff/140001/media/gpu/android_video_decode_accelerator.cc#newcode1461 media/gpu/android_video_decode_accelerator.cc:1461: if (base::android::BuildInfo::GetInstance()->sdk_int() >= 18 && should this be > ...
4 years, 7 months ago (2016-05-11 22:09:00 UTC) #19
watk
On 2016/05/11 22:09:00, liberato wrote: > https://codereview.chromium.org/1920093003/diff/140001/media/gpu/android_video_decode_accelerator.cc > File media/gpu/android_video_decode_accelerator.cc (right): > > https://codereview.chromium.org/1920093003/diff/140001/media/gpu/android_video_decode_accelerator.cc#newcode1461 > ...
4 years, 7 months ago (2016-05-11 22:17:22 UTC) #20
liberato (no reviews please)
lgtm
4 years, 7 months ago (2016-05-12 14:32:21 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1920093003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1920093003/140001
4 years, 7 months ago (2016-05-12 18:27:04 UTC) #24
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years, 7 months ago (2016-05-12 23:21:24 UTC) #26
commit-bot: I haz the power
4 years, 7 months ago (2016-05-12 23:23:43 UTC) #28
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/c9a797dd54d4a176eb758189e35942ee45e1dc1f
Cr-Commit-Position: refs/heads/master@{#393392}

Powered by Google App Engine
This is Rietveld 408576698