]> git.sesse.net Git - nageru/blobdiff - alsa_input.cpp
Support audio-only FFmpeg inputs. Somewhat wonky, though.
[nageru] / alsa_input.cpp
index b5fe3cb904675a2596e4e87cf5dcd86387c62062..08a67f7fa7837ccabeb18a414eeaacf61d404bb3 100644 (file)
@@ -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;
        }