X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=alsa_input.cpp;h=bfadacb142734cd746fd6a1788d7838fbeb0e8f4;hb=01181e6e22e5cfc9d0cb17231f2c1866cc53b04a;hp=22daf760b026cb8c27cd8b4604ab41488667f345;hpb=0b0e067a60997906a192dd184434260dd97938da;p=nageru diff --git a/alsa_input.cpp b/alsa_input.cpp index 22daf76..bfadacb 100644 --- a/alsa_input.cpp +++ b/alsa_input.cpp @@ -125,7 +125,11 @@ void ALSAInput::capture_thread_func() const int64_t prev_pts = frames_to_pts(num_frames_output); const int64_t pts = frames_to_pts(num_frames_output + frames); - audio_callback(buffer.get(), frames, audio_format, pts - prev_pts); + bool success; + do { + if (should_quit) return; + success = audio_callback(buffer.get(), frames, audio_format, pts - prev_pts); + } while (!success); num_frames_output += frames; } }