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

Issue 2333983002: Reduce number of active codecs on low end devices. (Closed)

Created:
4 years, 3 months ago by DaleCurtis
Modified:
4 years, 3 months ago
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mcasas+watch+vc_chromium.org, miu+watch_chromium.org, mlamouri+watch-content_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reduce number of active codecs on low end devices. This fixes OOM crashes in the mediaserver process on older devices by suspending players more frequently and preventing unused players and SurfaceTextures from ever being created. Both fixes are required to enable playback on JellyBean devices; independently neither is sufficient for playback to succeed. - On low end devices, suspends all idle players immediately upon playback of another player. - On low end devices, if a codec already exists, codec creation is deferred until the first Decode() call. Resolves issues with sites like vimeo.com that are appending initialization segments to MSE but never any further data. - Once more than 2 players exist on a low end device, every extra player will cause immediate idle player collection. Normal devices will now do this after 8 players. A followup CL will set preload=none for all JellyBean devices. BUG=612909 TEST=manual, new tests. Committed: https://crrev.com/d0ab2edb1cd3b57fbc48b3b39492a8d23221e648 Cr-Commit-Position: refs/heads/master@{#419375}

Patch Set 1 #

Total comments: 14

Patch Set 2 : Update tests and comments. #

Total comments: 2

Patch Set 3 : Add comment. #

Patch Set 4 : Fix windows. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+197 lines, -44 lines) Patch
M content/renderer/media/renderer_webmediaplayer_delegate.h View 1 4 chunks +13 lines, -7 lines 0 comments Download
M content/renderer/media/renderer_webmediaplayer_delegate.cc View 1 2 3 7 chunks +36 lines, -6 lines 0 comments Download
M content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc View 1 2 chunks +79 lines, -2 lines 0 comments Download
M media/blink/webmediaplayer_impl.cc View 1 chunk +1 line, -7 lines 0 comments Download
M media/blink/webmediaplayer_impl_unittest.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M media/gpu/android_video_decode_accelerator.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M media/gpu/android_video_decode_accelerator.cc View 1 2 14 chunks +64 lines, -20 lines 0 comments Download

Messages

Total messages: 23 (9 generated)
DaleCurtis
Still needs test delegate test updates, but is otherwise ready for review.
4 years, 3 months ago (2016-09-12 23:50:09 UTC) #2
liberato (no reviews please)
nifty. https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode202 content/renderer/media/renderer_webmediaplayer_delegate.cc:202: CleanupIdleDelegates(idle_timeout_ / 10); 10? https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode219 content/renderer/media/renderer_webmediaplayer_delegate.cc:219: base::TimeDelta idle_timeout) ...
4 years, 3 months ago (2016-09-13 15:34:28 UTC) #3
sandersd (OOO until July 31)
Not much to add to Frank's comments. https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode28 content/renderer/media/renderer_webmediaplayer_delegate.cc:28: bool IsLowEndDevice() ...
4 years, 3 months ago (2016-09-13 23:02:42 UTC) #4
DaleCurtis
PTAL, thanks! https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode28 content/renderer/media/renderer_webmediaplayer_delegate.cc:28: bool IsLowEndDevice() { On 2016/09/13 at 23:02:42, ...
4 years, 3 months ago (2016-09-15 23:03:55 UTC) #5
liberato (no reviews please)
On 2016/09/15 23:03:55, DaleCurtis wrote: > PTAL, thanks! > > https://codereview.chromium.org/2333983002/diff/1/content/renderer/media/renderer_webmediaplayer_delegate.cc > File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): ...
4 years, 3 months ago (2016-09-16 06:06:35 UTC) #6
sandersd (OOO until July 31)
lgtm % nit. https://codereview.chromium.org/2333983002/diff/20001/content/renderer/media/renderer_webmediaplayer_delegate.cc File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): https://codereview.chromium.org/2333983002/diff/20001/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode203 content/renderer/media/renderer_webmediaplayer_delegate.cc:203: if (idle_delegate_map_.size() > (is_low_end_device_ ? 2 ...
4 years, 3 months ago (2016-09-16 18:09:50 UTC) #7
DaleCurtis
https://codereview.chromium.org/2333983002/diff/20001/content/renderer/media/renderer_webmediaplayer_delegate.cc File content/renderer/media/renderer_webmediaplayer_delegate.cc (right): https://codereview.chromium.org/2333983002/diff/20001/content/renderer/media/renderer_webmediaplayer_delegate.cc#newcode203 content/renderer/media/renderer_webmediaplayer_delegate.cc:203: if (idle_delegate_map_.size() > (is_low_end_device_ ? 2 : 8)) On ...
4 years, 3 months ago (2016-09-16 21:59:16 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2333983002/40001
4 years, 3 months ago (2016-09-16 22:00:01 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/294972)
4 years, 3 months ago (2016-09-16 23:19:40 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2333983002/60001
4 years, 3 months ago (2016-09-16 23:35:36 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/298238)
4 years, 3 months ago (2016-09-17 01:34:07 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2333983002/60001
4 years, 3 months ago (2016-09-17 05:31:59 UTC) #20
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 3 months ago (2016-09-17 19:39:29 UTC) #21
commit-bot: I haz the power
4 years, 3 months ago (2016-09-17 19:43:06 UTC) #23
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/d0ab2edb1cd3b57fbc48b3b39492a8d23221e648
Cr-Commit-Position: refs/heads/master@{#419375}

Powered by Google App Engine
This is Rietveld 408576698