• dalecurtis's avatar
    Reduce number of active codecs on low end devices. · d0ab2edb
    dalecurtis authored
    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.
    
    Review-Url: https://codereview.chromium.org/2333983002
    Cr-Commit-Position: refs/heads/master@{#419375}
    d0ab2edb
renderer_webmediaplayer_delegate_browsertest.cc 20.1 KB