]> git.sesse.net Git - nageru/blobdiff - alsa_input.cpp
Add the GPU memory metrics to the Grafana dashboard.
[nageru] / alsa_input.cpp
index 3b59c00b6139ebe6737e0e2122fab66195b3760a..08a67f7fa7837ccabeb18a414eeaacf61d404bb3 100644 (file)
@@ -101,6 +101,7 @@ bool ALSAInput::open_device()
        default:
                assert(false);
        }
+       audio_format.sample_rate = sample_rate;
        //printf("num_periods=%u period_size=%u buffer_frames=%u sample_rate=%u bits_per_sample=%d\n",
        //      num_periods, unsigned(period_size), unsigned(buffer_frames), sample_rate, audio_format.bits_per_sample);
 
@@ -157,6 +158,7 @@ ALSAInput::~ALSAInput()
 
 void ALSAInput::start_capture_thread()
 {
+       assert(!device.empty());
        should_quit.unquit();
        capture_thread = thread(&ALSAInput::capture_thread_func, this);
 }
@@ -183,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;
        }