correctly close handle in alsa audio driver.
(cherry picked from commit 3e85e89dc5
)
This commit is contained in:
parent
5c69f83c96
commit
112075b3ad
|
@ -58,7 +58,10 @@ Error AudioDriverALSA::init_device() {
|
||||||
#define CHECK_FAIL(m_cond) \
|
#define CHECK_FAIL(m_cond) \
|
||||||
if (m_cond) { \
|
if (m_cond) { \
|
||||||
fprintf(stderr, "ALSA ERR: %s\n", snd_strerror(status)); \
|
fprintf(stderr, "ALSA ERR: %s\n", snd_strerror(status)); \
|
||||||
snd_pcm_close(pcm_handle); \
|
if (pcm_handle) { \
|
||||||
|
snd_pcm_close(pcm_handle); \
|
||||||
|
pcm_handle = NULL; \
|
||||||
|
} \
|
||||||
ERR_FAIL_COND_V(m_cond, ERR_CANT_OPEN); \
|
ERR_FAIL_COND_V(m_cond, ERR_CANT_OPEN); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +155,6 @@ Error AudioDriverALSA::init() {
|
||||||
active = false;
|
active = false;
|
||||||
thread_exited = false;
|
thread_exited = false;
|
||||||
exit_thread = false;
|
exit_thread = false;
|
||||||
pcm_open = false;
|
|
||||||
|
|
||||||
Error err = init_device();
|
Error err = init_device();
|
||||||
if (err == OK) {
|
if (err == OK) {
|
||||||
|
@ -315,9 +317,9 @@ void AudioDriverALSA::unlock() {
|
||||||
|
|
||||||
void AudioDriverALSA::finish_device() {
|
void AudioDriverALSA::finish_device() {
|
||||||
|
|
||||||
if (pcm_open) {
|
if (pcm_handle) {
|
||||||
snd_pcm_close(pcm_handle);
|
snd_pcm_close(pcm_handle);
|
||||||
pcm_open = NULL;
|
pcm_handle = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,6 @@ class AudioDriverALSA : public AudioDriver {
|
||||||
bool active;
|
bool active;
|
||||||
bool thread_exited;
|
bool thread_exited;
|
||||||
mutable bool exit_thread;
|
mutable bool exit_thread;
|
||||||
bool pcm_open;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const char *get_name() const {
|
const char *get_name() const {
|
||||||
|
|
Loading…
Reference in New Issue