X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=alsa_input.cpp;h=08a67f7fa7837ccabeb18a414eeaacf61d404bb3;hp=b5fe3cb904675a2596e4e87cf5dcd86387c62062;hb=refs%2Fheads%2Fffmpeg-audio-only;hpb=16932d0a6d6a8d0c2dbfb642b20e78cf6c5a55fc diff --git a/alsa_input.cpp b/alsa_input.cpp index b5fe3cb..08a67f7 100644 --- a/alsa_input.cpp +++ b/alsa_input.cpp @@ -158,6 +158,7 @@ ALSAInput::~ALSAInput() void ALSAInput::start_capture_thread() { + assert(!device.empty()); should_quit.unquit(); capture_thread = thread(&ALSAInput::capture_thread_func, this); } @@ -184,7 +185,9 @@ void ALSAInput::capture_thread_func() if (should_quit.should_quit()) { // Don't call free_card(); that would be a deadlock. - WARN_ON_ERROR("snd_pcm_close()", snd_pcm_close(pcm_handle)); + if (pcm_handle) { + WARN_ON_ERROR("snd_pcm_close()", snd_pcm_close(pcm_handle)); + } pcm_handle = nullptr; return; }