• Kehuang Li's avatar
    [Chromecast] Wait for MixerServiceWrapper::Stop · 7f04d479
    Kehuang Li authored
    According to audio_io interface, AudioOutputStream::Stop should be
    implemented in a synchronized way that no more access to source callback
    will happen after Stop. However, MixerServiceWrapper::Stop is posted to
    another thread, and complete asynchronizely, which potentially causes
    crash, as upstream may destroyed source callback before
    MixerServiceWrapper actually stops. HoweverAdd a waitable event for
    MixerServiceWrapper as we did for CmaWrapper.
    
    Bug: internal: 142355421
    Test: On device and unittests.
    Change-Id: Ia545596fbb80528d4f92debe3229b64fdea22667
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1866294
    Commit-Queue: Kehuang Li <kehuangli@chromium.org>
    Reviewed-by: default avatarKenneth MacKay <kmackay@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#707104}
    7f04d479
cast_audio_output_stream.cc 18.4 KB