|
@@ -109,22 +109,22 @@ static void pa_state_cb(pa_context* c, void* data)
|
|
|
{
|
|
|
// These are just here for reference
|
|
|
case PA_CONTEXT_UNCONNECTED:
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "unconnected");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "unconnected");
|
|
|
break;
|
|
|
case PA_CONTEXT_CONNECTING:
|
|
|
case PA_CONTEXT_AUTHORIZING:
|
|
|
case PA_CONTEXT_SETTING_NAME:
|
|
|
default:
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "no state");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "no state");
|
|
|
break;
|
|
|
case PA_CONTEXT_FAILED:
|
|
|
case PA_CONTEXT_TERMINATED:
|
|
|
*pa_ready = 2;
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "failed");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "failed");
|
|
|
break;
|
|
|
case PA_CONTEXT_READY:
|
|
|
*pa_ready = 1;
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "ready");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "ready");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -370,7 +370,7 @@ apr_status_t audio_context_create(apr_pool_t* pool, audio_context_t** audio_ctx)
|
|
|
audio_context_t* actx = (audio_context_t*)apr_pcalloc(pool, sizeof(audio_context_t));
|
|
|
|
|
|
if (NULL == actx) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d couldn't apr_pcalloc audio context.", __FUNCTION__, __LINE__);
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_INFO, "couldn't apr_pcalloc audio context.");
|
|
|
return APR_EGENERAL;
|
|
|
}
|
|
|
|
|
@@ -381,10 +381,7 @@ apr_status_t audio_context_create(apr_pool_t* pool, audio_context_t** audio_ctx)
|
|
|
actx->uaudio_inlen = 0;
|
|
|
|
|
|
if (audio_init_pulseaudio(actx)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_ERROR, "%s:%d audio init pulse audio failed.", __FUNCTION__, __LINE__);
|
|
|
- }
|
|
|
- else{
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio init pulse audio success.", __FUNCTION__, __LINE__);
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_ERROR, "audio init pulse audio failed.");
|
|
|
}
|
|
|
|
|
|
*audio_ctx = actx;
|
|
@@ -497,14 +494,14 @@ static void stream_write_request_cb(pa_stream* s, size_t length, void* data)
|
|
|
audio_ctx->uaudio_len = ileft;
|
|
|
}
|
|
|
else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pa_stream_begin_write nbytes(%d) > max buffer length.", __FUNCTION__, __LINE__, nbytes);
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_INFO, "pa_stream_begin_write nbytes(%d) > max buffer length.", nbytes);
|
|
|
memcpy(audiodata, audio_ctx->paudio_buffer, audio_ctx->uaudio_len);
|
|
|
nbytes = audio_ctx->uaudio_len;
|
|
|
audio_ctx->uaudio_len = 0;
|
|
|
}
|
|
|
|
|
|
if (PA_OK != pa_stream_write(s, audiodata, nbytes, NULL, 0, PA_SEEK_RELATIVE)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pa_stream_write failed.", __FUNCTION__, __LINE__);
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_INFO, "pa_stream_write failed.");
|
|
|
break;
|
|
|
}
|
|
|
//else {
|
|
@@ -512,7 +509,7 @@ static void stream_write_request_cb(pa_stream* s, size_t length, void* data)
|
|
|
//}
|
|
|
}
|
|
|
else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pa_stream_begin_write failed for %s.", __FUNCTION__, __LINE__, pa_strerror(pa_context_errno(audio_ctx)));
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_INFO, "pa_stream_begin_write failed for %s.", pa_strerror(pa_context_errno(audio_ctx)));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -689,11 +686,11 @@ void* pulse_read_audio(void* data)
|
|
|
|
|
|
dev = audio_ctx->list_input_devices[audio_ctx->device].name;
|
|
|
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO,"pulse audio connecting to device %s (channels %d rate %d)",dev, ss.channels, ss.rate);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO,"pulse audio connecting to device %s (channels %d rate %d)",dev, ss.channels, ss.rate);
|
|
|
|
|
|
r = pa_stream_connect_record(recordstream, dev, &bufattr, (pa_stream_flags_t)pastream_flag);
|
|
|
if (r < 0){
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: (pulse audio) skip latency adjustment");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: (pulse audio) skip latency adjustment");
|
|
|
/*
|
|
|
* Old pulse audio servers don't like the ADJUST_LATENCY flag,
|
|
|
* so retry without that
|
|
@@ -721,7 +718,7 @@ void* pulse_read_audio(void* data)
|
|
|
|
|
|
usleep(10000);
|
|
|
pa_stream_set_read_callback(recordstream, NULL, NULL);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: pulse audio stream terminated(%i)", audio_ctx->stream_flag);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: pulse audio stream terminated(%i)", audio_ctx->stream_flag);
|
|
|
|
|
|
pa_stream_disconnect(recordstream);
|
|
|
pa_stream_unref(recordstream);
|
|
@@ -744,9 +741,6 @@ int audio_start_pulseaudio(audio_context_t* audio_ctx)
|
|
|
audio_ctx->stream_flag = AUDIO_STRM_OFF;
|
|
|
return (-1);
|
|
|
}
|
|
|
- else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: (pulse audio) read thread create success, and thread id is %u.", audio_ctx->readthreadid);
|
|
|
- }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -818,7 +812,7 @@ void* pulse_write_audio(void* data)
|
|
|
audio_log_v(AUDIO_LOG_LEVEL_INFO, "play audio pa_stream_new failed (chan:%d rate:%d) for %d.", ss.channels, ss.rate, pa_context_errno(play_pa_ctx));
|
|
|
}
|
|
|
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "play audio stream state is %d.", pa_stream_get_state(playstream));
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "play audio stream state is %d.", pa_stream_get_state(playstream));
|
|
|
/* define the callbacks */
|
|
|
pa_stream_set_write_callback(playstream, stream_write_request_cb, (void*)audio_ctx);
|
|
|
|
|
@@ -844,20 +838,19 @@ void* pulse_write_audio(void* data)
|
|
|
|
|
|
dev = audio_ctx->list_output_devices[audio_ctx->play_device].name;
|
|
|
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "play audio connecting to device %s (channels %d rate %d buf frag size %d buf length %d)", dev, ss.channels, ss.rate, bufattr.fragsize, bufattr.tlength);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "play audio connecting to device %s (channels %d rate %d buf frag size %d buf length %d)", dev, ss.channels, ss.rate, bufattr.fragsize, bufattr.tlength);
|
|
|
|
|
|
// Connect the stream to a sink
|
|
|
r = pa_stream_connect_playback(playstream, dev, &bufattr, (pa_stream_flags_t)pastream_flag, NULL, NULL);
|
|
|
- if (PA_OK != r)
|
|
|
- {
|
|
|
+ if (PA_OK != r){
|
|
|
audio_log_v(AUDIO_LOG_LEVEL_INFO, "play stream connected failed for %d.", pa_context_errno(play_pa_ctx));
|
|
|
finish(play_pa_ctx, pa_ml);
|
|
|
return ((void*)-1);
|
|
|
}
|
|
|
else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "play stream connected.");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "play stream connected.");
|
|
|
const pa_sample_spec* spec = pa_stream_get_sample_spec(playstream);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "play stream spec->format = %d, spec->channels = %d, spec->rate = %d.", spec->format, spec->channels, spec->rate);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "play stream spec->format = %d, spec->channels = %d, spec->rate = %d.", spec->format, spec->channels, spec->rate);
|
|
|
}
|
|
|
|
|
|
get_play_latency(playstream);
|
|
@@ -874,7 +867,7 @@ void* pulse_write_audio(void* data)
|
|
|
|
|
|
usleep(10000);
|
|
|
pa_stream_set_write_callback(playstream, NULL, NULL);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: play audio stream terminated(%i)", audio_ctx->play_stream_flag);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: play audio stream terminated(%i)", audio_ctx->play_stream_flag);
|
|
|
|
|
|
pa_stream_disconnect(playstream);
|
|
|
pa_stream_unref(playstream);
|
|
@@ -897,9 +890,6 @@ int audio_start_audioplay(audio_context_t* audio_ctx)
|
|
|
audio_ctx->play_stream_flag = AUDIO_STRM_OFF;
|
|
|
return -1;
|
|
|
}
|
|
|
- else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "AUDIO: (pulse audio) write thread create success, and thread id is %u.", audio_ctx->writethreadid);
|
|
|
- }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -910,11 +900,11 @@ int audio_stop_playaudio(audio_context_t* audio_ctx)
|
|
|
/*assertions*/
|
|
|
assert(audio_ctx != NULL);
|
|
|
if (AUDIO_STRM_ON == audio_ctx->play_stream_flag){
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d set play_stream_flag to off.", __FUNCTION__, __LINE__);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d set play_stream_flag to off.", __FUNCTION__, __LINE__);
|
|
|
audio_ctx->play_stream_flag = AUDIO_STRM_OFF;
|
|
|
if (0 != audio_ctx->writethreadid) {
|
|
|
if (0 == pthread_join(audio_ctx->writethreadid, NULL)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio write thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->writethreadid);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio write thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->writethreadid);
|
|
|
audio_ctx->writethreadid = 0;
|
|
|
}
|
|
|
else {
|
|
@@ -922,9 +912,6 @@ int audio_stop_playaudio(audio_context_t* audio_ctx)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio play stream flag is alreay off.", __FUNCTION__, __LINE__);
|
|
|
- }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -937,7 +924,7 @@ int audio_stop_pulseaudio(audio_context_t* audio_ctx)
|
|
|
audio_ctx->stream_flag = AUDIO_STRM_OFF;
|
|
|
if (0 != audio_ctx->readthreadid){
|
|
|
if (0 == pthread_join(audio_ctx->readthreadid, NULL)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio read thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->readthreadid);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio read thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->readthreadid);
|
|
|
audio_ctx->readthreadid = 0;
|
|
|
}
|
|
|
else {
|
|
@@ -945,9 +932,6 @@ int audio_stop_pulseaudio(audio_context_t* audio_ctx)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio read stream flag is alreay off.", __FUNCTION__, __LINE__);
|
|
|
- }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -1081,7 +1065,7 @@ static int initialize_speaker(audiomicspkpulse_t* micspk)
|
|
|
audio_set_playformat(micspk->audio_ctx, PA_SAMPLE_S16LE);
|
|
|
|
|
|
if (0 == audio_start_audioplay(micspk->audio_ctx)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio speaker create success, audio output device start play audio success!");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio speaker create success, audio output device start play audio success!");
|
|
|
iret = 0;
|
|
|
}
|
|
|
else {
|
|
@@ -1092,7 +1076,6 @@ static int initialize_speaker(audiomicspkpulse_t* micspk)
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
static int initialize_micro(audiomicspkpulse_t* micspk)
|
|
|
{
|
|
|
int iret = -1;
|
|
@@ -1110,7 +1093,7 @@ static int initialize_micro(audiomicspkpulse_t* micspk)
|
|
|
audio_set_capformat(micspk->audio_ctx, PA_SAMPLE_S16LE);
|
|
|
|
|
|
if (0 == audio_start_pulseaudio(micspk->audio_ctx)) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio micro create success, audio input device start pulse audio success!");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio micro create success, audio input device start pulse audio success!");
|
|
|
iret = 0;
|
|
|
}
|
|
|
else {
|
|
@@ -1132,8 +1115,6 @@ static void uninitialize_speaker(audiomicspkpulse_t* micspk)
|
|
|
delay_buf_destroy((delay_buf*)micspk->ply_dbuf);
|
|
|
micspk->ply_dbuf = NULL;
|
|
|
}
|
|
|
-
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "uninitialize_speaker success!");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1149,7 +1130,6 @@ static void uninitialize_micro(audiomicspkpulse_t* micspk)
|
|
|
delay_buf_destroy((delay_buf*)micspk->rec_dbuf);
|
|
|
micspk->rec_dbuf = NULL;
|
|
|
}
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "uninitialize_micro success!");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1164,8 +1144,8 @@ void* APR_THREAD_FUNC* audiowork_proc(apr_thread_t* threadhandle, void* param)
|
|
|
// play <---> play
|
|
|
// record and play <---> record and play
|
|
|
//
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.started flag is %s.", __FUNCTION__, __LINE__, param, micspk->audio_device_started_sem, micspk->baudio_device_started_flag ? "true" : "false");
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk->opt = %d.", __FUNCTION__, __LINE__, micspk->opt);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.started flag is %s.", __FUNCTION__, __LINE__, param, micspk->audio_device_started_sem, micspk->baudio_device_started_flag ? "true" : "false");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk->opt = %d.", __FUNCTION__, __LINE__, micspk->opt);
|
|
|
|
|
|
if (micspk->opt & AMS_OPT_RECPLAY) {
|
|
|
rc = initialize_speaker(micspk);
|
|
@@ -1173,10 +1153,9 @@ void* APR_THREAD_FUNC* audiowork_proc(apr_thread_t* threadhandle, void* param)
|
|
|
micspk->on_audio_device_event(true, -1, false, micspk->dev_type, "recplay mode initialize speaker louder param failed, goto error.", micspk);
|
|
|
goto on_error;
|
|
|
}
|
|
|
- else {
|
|
|
-
|
|
|
- micspk->on_audio_device_event(true, 0, false, micspk->dev_type, "recplay mode initialize speaker louder param success!", micspk);
|
|
|
- }
|
|
|
+ //else {
|
|
|
+ // micspk->on_audio_device_event(true, 0, false, micspk->dev_type, "recplay mode initialize speaker louder param success!", micspk);
|
|
|
+ //}
|
|
|
|
|
|
usleep(100 * 1000); // play before record
|
|
|
rc = initialize_micro(micspk);
|
|
@@ -1184,9 +1163,9 @@ void* APR_THREAD_FUNC* audiowork_proc(apr_thread_t* threadhandle, void* param)
|
|
|
micspk->on_audio_device_event(true, -1, true, micspk->dev_type, "recplay mode initialize micro capture param failed, goto error.", micspk);
|
|
|
goto on_error;
|
|
|
}
|
|
|
- else {
|
|
|
- micspk->on_audio_device_event(true, 0, true, micspk->dev_type, "recplay mode initialize micro capture param success!", micspk);
|
|
|
- }
|
|
|
+ //else {
|
|
|
+ // micspk->on_audio_device_event(true, 0, true, micspk->dev_type, "recplay mode initialize micro capture param success!", micspk);
|
|
|
+ //}
|
|
|
}
|
|
|
else if (micspk->opt & AMS_OPT_PLAY) {
|
|
|
rc = initialize_speaker(micspk);
|
|
@@ -1194,9 +1173,9 @@ void* APR_THREAD_FUNC* audiowork_proc(apr_thread_t* threadhandle, void* param)
|
|
|
micspk->on_audio_device_event(true, -1, false, micspk->dev_type, "play mode initialize speaker louder param failed, goto error!", micspk);
|
|
|
goto on_error;
|
|
|
}
|
|
|
- else {
|
|
|
- micspk->on_audio_device_event(true, 0, false, micspk->dev_type, "play mode initialize speaker louder param success!", micspk);
|
|
|
- }
|
|
|
+ //else {
|
|
|
+ // micspk->on_audio_device_event(true, 0, false, micspk->dev_type, "play mode initialize speaker louder param success!", micspk);
|
|
|
+ //}
|
|
|
}
|
|
|
else if (micspk->opt & AMS_OPT_RECORD)
|
|
|
{
|
|
@@ -1205,33 +1184,33 @@ void* APR_THREAD_FUNC* audiowork_proc(apr_thread_t* threadhandle, void* param)
|
|
|
micspk->on_audio_device_event(true, -1, true, micspk->dev_type, "record mode initialize micro capture param failed, goto error!", micspk);
|
|
|
goto on_error;
|
|
|
}
|
|
|
- else {
|
|
|
- micspk->on_audio_device_event(true, 0, true, micspk->dev_type, "record mode initialize micro capture param success!", micspk);
|
|
|
- }
|
|
|
+ //else {
|
|
|
+ // micspk->on_audio_device_event(true, 0, true, micspk->dev_type, "record mode initialize micro capture param success!", micspk);
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
micspk->baudio_device_started_flag = true;
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.", __FUNCTION__, __LINE__, micspk, micspk->audio_device_started_sem);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.", __FUNCTION__, __LINE__, micspk, micspk->audio_device_started_sem);
|
|
|
|
|
|
sem_wait(micspk->audio_device_started_sem);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d after post audio_device_started_sem.", __FUNCTION__, __LINE__);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d after post audio_device_started_sem.", __FUNCTION__, __LINE__);
|
|
|
|
|
|
on_error:
|
|
|
if (micspk->opt & AMS_OPT_RECPLAY) {
|
|
|
uninitialize_micro(micspk);
|
|
|
- micspk->on_audio_device_event(false, 0, true, micspk->dev_type, "recplay mode uninitialize micro!", micspk);
|
|
|
+ //micspk->on_audio_device_event(false, 0, true, micspk->dev_type, "recplay mode uninitialize micro!", micspk);
|
|
|
uninitialize_speaker(micspk);
|
|
|
- micspk->on_audio_device_event(false, 0, false, micspk->dev_type, "recplay mode uninitialize speaker!", micspk);
|
|
|
+ //micspk->on_audio_device_event(false, 0, false, micspk->dev_type, "recplay mode uninitialize speaker!", micspk);
|
|
|
}
|
|
|
else if (micspk->opt & AMS_OPT_PLAY) {
|
|
|
uninitialize_speaker(micspk);
|
|
|
- micspk->on_audio_device_event(false, 0, false, micspk->dev_type, "play mode uninitialize speaker!", micspk);
|
|
|
+ //micspk->on_audio_device_event(false, 0, false, micspk->dev_type, "play mode uninitialize speaker!", micspk);
|
|
|
}
|
|
|
else if (micspk->opt & AMS_OPT_RECORD){
|
|
|
uninitialize_micro(micspk);
|
|
|
- micspk->on_audio_device_event(false, 0, true, micspk->dev_type, "record mode uninitialize micro!", micspk);
|
|
|
+ //micspk->on_audio_device_event(false, 0, true, micspk->dev_type, "record mode uninitialize micro!", micspk);
|
|
|
}
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "audiowork_proc exit.");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "audiowork_proc exit.");
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -1265,12 +1244,9 @@ apr_status_t audiomicspkpulse_create(apr_pool_t* pool,
|
|
|
micspk->dev_type = idev_type;
|
|
|
|
|
|
if (-1 == micspk->rec_dev_id || -1 == micspk->ply_dev_id) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d, get device id failed!", __FUNCTION__, __LINE__);
|
|
|
+ audio_log_v(AUDIO_LOG_LEVEL_INFO, "get device id failed!");
|
|
|
return APR_EGENERAL;
|
|
|
}
|
|
|
- else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d, rec_dev_id is %d, ply_dev_id is %d.", __FUNCTION__, __LINE__, micspk->rec_dev_id, micspk->ply_dev_id);
|
|
|
- }
|
|
|
|
|
|
play_frame_samples = FRAME_TIME * clock / 1000;
|
|
|
capture_frame_samples = FRAME_TIME * CAPTURE_AUDIO_CLOCK / 1000;
|
|
@@ -1297,12 +1273,12 @@ apr_status_t audiomicspkpulse_create(apr_pool_t* pool,
|
|
|
|
|
|
micspk->baudio_device_started_flag = false;
|
|
|
sem_init(micspk->audio_device_started_sem, 0, 0);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.", __FUNCTION__, __LINE__, micspk, micspk->audio_device_started_sem);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d micspk addr is 0x%08x, current sem addr is 0x%08x.", __FUNCTION__, __LINE__, micspk, micspk->audio_device_started_sem);
|
|
|
|
|
|
apr_status_t err = apr_thread_create(&micspk->audio_work_thread, NULL, &audiowork_proc, micspk, pool);
|
|
|
if (APR_SUCCESS == err) {
|
|
|
bool baudio_work_thread_exit = false;
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio_work_thread id is %u.", __FUNCTION__, __LINE__, micspk->audio_work_thread);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio_work_thread id is %u.", __FUNCTION__, __LINE__, micspk->audio_work_thread);
|
|
|
|
|
|
do {
|
|
|
struct timespec ts;
|
|
@@ -1316,20 +1292,20 @@ apr_status_t audiomicspkpulse_create(apr_pool_t* pool,
|
|
|
if (-1 == sem_timedwait(micspk->audio_device_started_sem, &ts)) {
|
|
|
if (ETIMEDOUT == errno) {
|
|
|
if (micspk->baudio_device_started_flag) {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio device is already started.", __FUNCTION__, __LINE__);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio device is already started.", __FUNCTION__, __LINE__);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio device work thread has exit.", __FUNCTION__, __LINE__);
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d audio device work thread has exit.", __FUNCTION__, __LINE__);
|
|
|
baudio_work_thread_exit = true;
|
|
|
}
|
|
|
} while (!baudio_work_thread_exit);
|
|
|
|
|
|
if (baudio_work_thread_exit) {
|
|
|
audiomicspkpulse_destroy(micspk);
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio work thread has exit, audiomicspk_destroy success!");
|
|
|
+ //audio_log_v(AUDIO_LOG_LEVEL_INFO, "audio work thread has exit, audiomicspk_destroy success!");
|
|
|
return APR_EGENERAL;
|
|
|
}
|
|
|
}
|
|
@@ -1356,7 +1332,6 @@ void audiomicspkpulse_destroy(audiomicspkpulse_t* micspk)
|
|
|
audio_close_pulseaudio(micspk->audio_ctx);
|
|
|
}
|
|
|
|
|
|
- audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d sem post audio_device_started_sem.", __FUNCTION__, __LINE__);
|
|
|
sem_post(micspk->audio_device_started_sem);
|
|
|
|
|
|
if (NULL != micspk->audio_work_thread){
|