mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-14 11:06:36 +00:00
FS-3361 --resolve mod_portaudio crash on bad init
This commit is contained in:
parent
8decee307b
commit
6f49e6ba9e
@ -1304,9 +1304,17 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_portaudio_load)
|
|||||||
|
|
||||||
module_pool = pool;
|
module_pool = pool;
|
||||||
|
|
||||||
Pa_Initialize();
|
if (paNoError != Pa_Initialize()) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot initialize port audio!\n");
|
||||||
|
return SWITCH_STATUS_TERM;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&globals, 0, sizeof(globals));
|
memset(&globals, 0, sizeof(globals));
|
||||||
|
|
||||||
|
if ((status = load_config()) != SWITCH_STATUS_SUCCESS) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
switch_core_hash_init(&globals.call_hash, module_pool);
|
switch_core_hash_init(&globals.call_hash, module_pool);
|
||||||
switch_core_hash_init(&globals.sh_streams, module_pool);
|
switch_core_hash_init(&globals.sh_streams, module_pool);
|
||||||
switch_core_hash_init(&globals.endpoints, module_pool);
|
switch_core_hash_init(&globals.endpoints, module_pool);
|
||||||
@ -1328,10 +1336,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_portaudio_load)
|
|||||||
globals.dual_streams = 0;
|
globals.dual_streams = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((status = load_config()) != SWITCH_STATUS_SUCCESS) {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dump_info(0)) {
|
if (dump_info(0)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't find any audio devices!\n");
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't find any audio devices!\n");
|
||||||
return SWITCH_STATUS_TERM;
|
return SWITCH_STATUS_TERM;
|
||||||
@ -1620,7 +1624,7 @@ static switch_status_t load_endpoints(switch_xml_t endpoints)
|
|||||||
}
|
}
|
||||||
if (check_stream_compat(endpoint->in_stream, endpoint->out_stream)) {
|
if (check_stream_compat(endpoint->in_stream, endpoint->out_stream)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
|
||||||
"Incomatible input and output streams for endpoint '%s'\n", endpoint_name);
|
"Incompatible input and output streams for endpoint '%s'\n", endpoint_name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE,
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user