• Aleix Conchillo Flaqué's avatar
    webrtcbin: start and stop thread when changing state · c4fe5239
    Aleix Conchillo Flaqué authored
    It might be possible that if we set webrtcbin to the NULL state some
    tasks (idle sources) are still executed and they might even freeze. The freeze
    is caused because the webrtcbin tasks don't hold a reference to webrtcbin and
    if it's last unref inside the idle source itself this will not allow the main
    loop to finish because the main loop is waiting on the idle source to finish.
    
    We now start and stop webrtcbin thread when changing states. This will allow
    the idle sources to finish properly.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=797251
    c4fe5239