Fix possible crash when AudioDriver::capture_start fails
This commit is contained in:
parent
e7dd05fed8
commit
f04bff349b
1 changed files with 12 additions and 6 deletions
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue