|
|
|
@ -571,7 +571,7 @@ int call_audio_get_stats(uint64_t call_id, int* buffer_ms, int* tempo_x100, |
|
|
|
pthread_mutex_lock(&g_mtx); |
|
|
|
pthread_mutex_lock(&g_mtx); |
|
|
|
if (g_active && call_id == g_call_id && g_vj) { |
|
|
|
if (g_active && call_id == g_call_id && g_vj) { |
|
|
|
call_jitter_get_stats(g_vj, buffer_ms, tempo_x100, dropped, underruns, range); |
|
|
|
call_jitter_get_stats(g_vj, buffer_ms, tempo_x100, dropped, underruns, range); |
|
|
|
call_jitter_take_diagnostics(g_vj, &diagnostics); |
|
|
|
call_jitter_get_diagnostics(g_vj, &diagnostics, 1); |
|
|
|
speex_aec_get_stats(g_aec, &aec_over, &aec_under); |
|
|
|
speex_aec_get_stats(g_aec, &aec_over, &aec_under); |
|
|
|
aec_changed = aec_over != g_aec_reported_over || aec_under != g_aec_reported_under; |
|
|
|
aec_changed = aec_over != g_aec_reported_over || aec_under != g_aec_reported_under; |
|
|
|
g_aec_reported_over = aec_over; g_aec_reported_under = aec_under; |
|
|
|
g_aec_reported_over = aec_over; g_aec_reported_under = aec_under; |
|
|
|
@ -592,8 +592,11 @@ int call_audio_get_stats(uint64_t call_id, int* buffer_ms, int* tempo_x100, |
|
|
|
diagnostics.decode_errors, diagnostics.error_result, diagnostics.error_len, diagnostics.budget_hits, diagnostics.depth_ms); |
|
|
|
diagnostics.decode_errors, diagnostics.error_result, diagnostics.error_len, diagnostics.budget_hits, diagnostics.depth_ms); |
|
|
|
if (events) DEBUG_INFO(DEBUG_CATEGORY_CALL, "%s: PCM first=%d resumed=%d gap=%d tone_started=%d tone_stopped=%d", CALL_AUDIO_ID, |
|
|
|
if (events) DEBUG_INFO(DEBUG_CATEGORY_CALL, "%s: PCM first=%d resumed=%d gap=%d tone_started=%d tone_stopped=%d", CALL_AUDIO_ID, |
|
|
|
!!(events & 1), !!(events & 2), !!(events & 4), !!(events & 16), !!(events & 8)); |
|
|
|
!!(events & 1), !!(events & 2), !!(events & 4), !!(events & 16), !!(events & 8)); |
|
|
|
if (ok) DEBUG_DEBUG(DEBUG_CATEGORY_CALL, "call_jitter: depth=%dms reserve=%dms tempo=%d waiting=%d catching_up=%d resumed=%d", |
|
|
|
if (ok) DEBUG_DEBUG(DEBUG_CATEGORY_CALL, |
|
|
|
diagnostics.depth_ms, diagnostics.reserve_ms, diagnostics.tempo_x100, diagnostics.waiting, |
|
|
|
"call_jitter: call=%llu depth=%dms reserve=%dms encoded=%dms processing=%dms spread=%lldms pcm=%d " |
|
|
|
diagnostics.catching_up, diagnostics.resumed); |
|
|
|
"tempo=%d waiting=%d catching_up=%d resumed=%d underruns=%u", |
|
|
|
|
|
|
|
(unsigned long long)call_id, diagnostics.depth_ms, diagnostics.reserve_ms, diagnostics.encoded_ms, |
|
|
|
|
|
|
|
diagnostics.processing_ms, (long long)diagnostics.arrival_spread_ms, diagnostics.pcm_samples, |
|
|
|
|
|
|
|
diagnostics.tempo_x100, diagnostics.waiting, diagnostics.catching_up, diagnostics.resumed, diagnostics.underruns); |
|
|
|
return ok ? 0 : -1; |
|
|
|
return ok ? 0 : -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|