Fix possible crash when AudioDriver::capture_start fails

This commit is contained in:
Marcelo Fernandez 2019-03-01 09:33:15 -03:00
parent e7dd05fed8
commit f04bff349b

View file

@ -186,6 +186,10 @@ float AudioStreamPlaybackMicrophone::get_stream_sampling_rate() {
void AudioStreamPlaybackMicrophone::start(float p_from_pos) {
if (active) {
return;
}
if (!GLOBAL_GET("audio/enable_audio_input")) {
WARN_PRINTS("Need to enable Project settings > Audio > Enable Audio Input option to use capturing.");
return;
@ -193,15 +197,17 @@ void AudioStreamPlaybackMicrophone::start(float p_from_pos) {
input_ofs = 0;
AudioDriver::get_singleton()->capture_start();
active = true;
_begin_resample();
if (AudioDriver::get_singleton()->capture_start() == OK) {
active = true;
_begin_resample();
}
}
void AudioStreamPlaybackMicrophone::stop() {
AudioDriver::get_singleton()->capture_stop();
active = false;
if (active) {
AudioDriver::get_singleton()->capture_stop();
active = false;
}
}
bool AudioStreamPlaybackMicrophone::is_playing() const {