|
|
|
|
@ -39,8 +39,31 @@
|
|
|
|
|
Desktop после пробы держит один готовый блок: pcm_after_mix в среднем ~18.6мс вместо ~38.6мс; |
|
|
|
|
после начального пустого callback новых starvation нет. Стартовый callback повысил резерв 2 -> 3, |
|
|
|
|
возврат 3 -> 2 -> 1 занял 40с; обучение стартового периода стоит отделить от рабочего starvation. |
|
|
|
|
Основная задержка Samsung не устранена: требуется отдельная проверка AAudio/MMAP с речевыми атрибутами, |
|
|
|
|
без подмены звонка мультимедийным потоком. Принятый backend, аппаратные timestamps и маршруты проверить до интеграции. |
|
|
|
|
Отдельный APK audio-probe проверен на обоих телефонах: VOICE_COMMUNICATION/SPEECH, активный захват, |
|
|
|
|
тишина на выходе, данные микрофона отбрасываются. Основное приложение пока использует AudioTrack. |
|
|
|
|
Samsung: AudioTrack с буфером 20мс даёт outputUs ~103мс в среднем; повторное открытие не включает FAST. |
|
|
|
|
AAudio/MMAP на speaker: shared mono/stereo ~30мс, exclusive mono/stereo ~24мс, буфер 20мс, underrun=0. |
|
|
|
|
Earpiece отсутствует в MMAP-профиле устройства; AAudio падает в legacy shared с буфером 40мс и outputUs ~129мс. |
|
|
|
|
Проверен круг speaker -> earpiece -> speaker: обе смены дают AAUDIO_ERROR_DISCONNECTED; |
|
|
|
|
повторное открытие speaker возвращает MMAP/exclusive и 24.281мс в среднем (22.471..25.700), underrun=0. |
|
|
|
|
Q8: все варианты AAudio остаются legacy, outputUs ~166–172мс при буфере 40мс. |
|
|
|
|
AudioTrack Q8 с 20мс нестабилен (353/352/362 underrun за три этапа по 8с); |
|
|
|
|
контроль с 40мс даёт 160–162мс в среднем и ноль underrun на всех трёх этапах. |
|
|
|
|
Это оценка аудиовыхода по timestamp, включая очередь приложения, не акустическая задержка всего звонка. |
|
|
|
|
Изолированная проба не проверяет DSP-нагрузку реального звонка и качество AEC; перед интеграцией нужны эти проверки. |
|
|
|
|
Следующий этап: один владелец выхода, повторный выбор быстрого backend после подтверждённой смены маршрута, |
|
|
|
|
закрытие/открытие вне realtime callback, новая эпоха аппаратных часов при сохранении шкалы медиа/JB. |
|
|
|
|
Callback должен только выдавать подготовленный PCM. Legacy AAudio не дал выигрыша: сохранять AudioTrack fallback. |
|
|
|
|
Смена маршрута не должна навсегда запрещать новую пробу MMAP; неудачи ограничивать в пределах текущего маршрута. |
|
|
|
|
Не обещать бесшовность аппаратного DISCONNECTED: судьбу PCM, уже переданного старому устройству, нужно определить отдельно. |
|
|
|
|
Сборки ядра, :app:assembleDebug и :audio-probe:assembleDebug прошли; оба диагностических прогона освободили ресурсы. |
|
|
|
|
Логи: /tmp/aaudio-probe-{sm,q8}.log; AudioFlinger: /tmp/aaudio-probe-{sm,q8}-flinger.txt; |
|
|
|
|
AudioPolicy Samsung: /tmp/aaudio-probe-sm-policy.txt. |
|
|
|
|
Повтор: установить audio-probe/build/outputs/apk/debug/audio-probe-debug.apk через adb install -g -r; |
|
|
|
|
открыть com.utun.audioprobe/.ProbeActivity при завершённых звонках и оставить Activity видимой. |
|
|
|
|
Полная матрица запускается без аргументов; для круга Samsung: --es api aaudio --ei channels 1 |
|
|
|
|
--es sharing exclusive --ez roundtrip true --ei seconds 20; контроль Q8: --es api track --ei buffer_ms 40. |
|
|
|
|
Логи adb logcat -s AudioProbe; для нового прогона сначала am force-stop com.utun.audioprobe после завершения предыдущего. |
|
|
|
|
|
|
|
|
|
[x] **Завершение звонка и видеопорта после обрыва транспорта** — 15.10.2026: |
|
|
|
|
Трасса test_call доказала потерю HANGUP при смене эпохи сигналинга: router reset удалял старую очередь. |
|
|
|
|
|