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

Issue 540043003: Don't dismiss picture buffers on rez change until they are available (Closed)

Created:
6 years, 3 months ago by luken
Modified:
6 years, 3 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, wjia+watch_chromium.org, ananta
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Don't dismiss picture buffers on rez change until they are available This CL fixes a race where the code would call DismissPictureBuffer() on all output_picture_buffers_ once it detected a resolution change. However some of those picture buffers had yet to be displayed by the client. The client code, when asked to dismiss a picture buffer, only tries to detect if it is currently displaying that frame, and if not goes ahead and deletes the texture. This patch defers the dismissing of the picture buffers until the client calls RecyclePictureBuffer back with that stale buffer ID, meaning that the texture has been displayed and can be safely deleted. TEST: navigate to http://sr-repro.s3.amazonaws.com/gpudecode/repro-gpu-mbr.html, before CL there may be series of black frames when playing the video and it switches from 720p to 1080p. After the CL the black frames are gone. BUG=404817 Committed: https://crrev.com/9c311d81c7adb0391d596163c5159a0fb41f0cfd Cr-Commit-Position: refs/heads/master@{#293616}

Patch Set 1 #

Patch Set 2 : comment fix #

Total comments: 2

Patch Set 3 : move disposal to task #

Total comments: 2

Patch Set 4 : clear vector on invalidate #

Unified diffs Side-by-side diffs Delta from patch set Stats (+52 lines, -15 lines) Patch
M content/common/gpu/media/dxva_video_decode_accelerator.h View 1 2 2 chunks +10 lines, -1 line 0 comments Download
M content/common/gpu/media/dxva_video_decode_accelerator.cc View 1 2 3 4 chunks +42 lines, -14 lines 0 comments Download

Messages

Total messages: 16 (5 generated)
luken
6 years, 3 months ago (2014-09-04 21:09:37 UTC) #2
ananta
https://codereview.chromium.org/540043003/diff/20001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/540043003/diff/20001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode576 content/common/gpu/media/dxva_video_decode_accelerator.cc:576: client_->DismissPictureBuffer(it->second->id()); Please do this in a task. This may ...
6 years, 3 months ago (2014-09-04 21:15:51 UTC) #4
luken
https://codereview.chromium.org/540043003/diff/20001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/540043003/diff/20001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode576 content/common/gpu/media/dxva_video_decode_accelerator.cc:576: client_->DismissPictureBuffer(it->second->id()); On 2014/09/04 21:15:51, ananta wrote: > Please do ...
6 years, 3 months ago (2014-09-04 21:24:27 UTC) #5
ananta
https://codereview.chromium.org/540043003/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/540043003/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode1014 content/common/gpu/media/dxva_video_decode_accelerator.cc:1014: decoder_.Release(); Please clear the stale_output_picture_buffers_ member here.
6 years, 3 months ago (2014-09-04 22:42:53 UTC) #6
luken
https://codereview.chromium.org/540043003/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/540043003/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode1014 content/common/gpu/media/dxva_video_decode_accelerator.cc:1014: decoder_.Release(); On 2014/09/04 22:42:52, ananta wrote: > Please clear ...
6 years, 3 months ago (2014-09-04 22:49:15 UTC) #7
scherkus (not reviewing)
lgtm
6 years, 3 months ago (2014-09-05 19:54:23 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/luken@chromium.org/540043003/60001
6 years, 3 months ago (2014-09-05 19:56:28 UTC) #10
commit-bot: I haz the power
Exceeded time limit waiting for builds to trigger.
6 years, 3 months ago (2014-09-05 21:58:27 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/luken@chromium.org/540043003/60001
6 years, 3 months ago (2014-09-06 12:18:24 UTC) #14
commit-bot: I haz the power
Committed patchset #4 (id:60001) as 635bbce5d9a5b0061493f5a6adc13e5f310114fb
6 years, 3 months ago (2014-09-06 14:14:44 UTC) #15
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 03:42:34 UTC) #16
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/9c311d81c7adb0391d596163c5159a0fb41f0cfd
Cr-Commit-Position: refs/heads/master@{#293616}

Powered by Google App Engine
This is Rietveld 408576698