void quisk_start_sound(void) // Called from sound thread { if (pt_sample_start) (*pt_sample_start)(); // Decide which drivers start which devices. decide_drivers(CaptureDevices); decide_drivers(PlaybackDevices); // Let the drivers see the devices and start them up if appropriate quisk_start_sound_portaudio(CaptureDevices, PlaybackDevices); quisk_start_sound_pulseaudio(CaptureDevices, PlaybackDevices); quisk_start_sound_alsa(CaptureDevices, PlaybackDevices); if (pt_sample_read) { // Capture from SDR-IQ or UDP quisk_sound_state.rate_min = Playback.rate_min; quisk_sound_state.rate_max = Playback.rate_max; quisk_sound_state.chan_min = Playback.chan_min; quisk_sound_state.chan_max = Playback.chan_max; } else { // Capture from sound card quisk_sound_state.rate_min = Capture.rate_min; quisk_sound_state.rate_max = Capture.rate_max; quisk_sound_state.chan_min = Capture.chan_min; quisk_sound_state.chan_max = Capture.chan_max; } }
void quisk_start_sound(void) // Called from sound thread { if (pt_sample_start) (*pt_sample_start)(); quisk_start_sound_portaudio(CaptureDevices, PlaybackDevices); quisk_start_sound_alsa(CaptureDevices, PlaybackDevices); if (pt_sample_read || quisk_using_udp) { quisk_sound_state.rate_min = Playback.rate_min; quisk_sound_state.rate_max = Playback.rate_max; quisk_sound_state.chan_min = Playback.chan_min; quisk_sound_state.chan_max = Playback.chan_max; } else { quisk_sound_state.rate_min = Capture.rate_min; quisk_sound_state.rate_max = Capture.rate_max; quisk_sound_state.chan_min = Capture.chan_min; quisk_sound_state.chan_max = Capture.chan_max; } }