Merge pull request #26449 from marcelofg55/audio_input_crash

Fix possible crash when AudioDriver::capture_start fails
This commit is contained in:
Rémi Verschelde 2019-03-01 18:17:27 +01:00 committed by GitHub
commit e47915f7cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 6 deletions

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 {