• Show log

    Commit

  • Hash : fa156741
    Author : Ryan C. Gordon
    Date : 2017-10-13T01:15:29

    coreaudio: changed device close procedure to prevent long hangs in some cases.
    
    The audioqueue thread needs to keep running, and processing the CFRunLoop
    until the AudioQueue is disposed of, otherwise CoreAudio will hang waiting for
    final data to feed the device.
    
    At least, I think this is how it all works. It definitely fixes the bug here!
    
    Since AudioQueueDispose() calls AudioQueueStop() internally, there's no need
    for our thread to handle this, either, which is good because the AudioQueue
    would be disposed by this point. So now the AudioQueue is disposed first, and
    then our thread is joined, and everything works out okay.
    
    Just in case, we mark the device "paused" before setting everything in motion,
    so any further callbacks from CoreAudio will write silence and not fire the
    app's audio callback again.
    
    Fixes Bugzilla #3868.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/SDL.git
    Git SSH git@git.kmx.io:kc3-lang/SDL.git
    Public access ? public
    Description

    Fork of https://github.com/libsdl-org/SDL

    Users
    thodg_w kc3_lang_org thodg_l thodg_m www_kmx_io thodg
    Tags