• Dale Curtis's avatar
    Enable offloading for Dav1dVideoDecoder. · 32d39ff3
    Dale Curtis authored
    This moves decoding of AV1 content via dav1d to a task pool instead of
    sharing the media thread -- which was apparently leading to underflow
    of the audio.
    
    This probably only fixes pausing and audio drop outs, if a video frame
    is taking more than 200ms (audio buffer size) to return, we've probably
    exhausted the video frame buffer too. This would result in video
    apprearing frozen for a moment, but would not trigger underflow since
    we have a 3 second threshold for underflow on video.
    
    Unlike the VP9 offloading, we offload for all resolutions of AV1
    content, since we seem to be getting these issues even with 360p
    content.
    
    This removes an unnecessary BindToCurrentLoop for the OutputCB in
    the non-offloaded case for clarity.
    
    BUG=940686
    TEST=all existing tests pass with offloading decoder.
    
    Change-Id: I7426a0353249646600c12019f868aa058c40e456
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1574830
    Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
    Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
    Reviewed-by: default avatarChrome Cunningham <chcunningham@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#652635}
    32d39ff3
pipeline_integration_test_base.cc 24.2 KB