Specify call snapshot units and the limited config getter interface
This commit is contained in:
1 parent
1596088ca0
commit
d88d77c14d
2 files changed
+8
-1
No files matched your search
@@ -13,15 +13,19 @@ enum class CallConnectionType(val labelRes: Int) {
|
||||
val label: String get() = AppLanguage.text(labelRes)
|
||||
}
|
||||
|
||||
/** Снимок аудиозвонка: задержки/границы в мс, tempoX100=100 означает 1x; dropped/underruns — счётчики кадров. */
|
||||
data class CallStats(
|
||||
val rttMs: Int, val bufferMs: Int, val tempoX100: Int, val dropped: Int,
|
||||
val underruns: Int, val minMs: Int, val maxMs: Int, val reserveMs: Int,
|
||||
val output: CallOutputLatency = CallOutputLatency()
|
||||
)
|
||||
|
||||
/** outputMs включает queueMs; это задержка конца записанного PCM, не сумма двух буферов. */
|
||||
/** Миллисекунды задержки конца записанного PCM: outputMs включает queueMs, поля -1 означают неизвестное значение. */
|
||||
data class CallOutputLatency(val queueMs: Int = -1, val outputMs: Int = -1)
|
||||
|
||||
/** Immutable UI snapshot одной сессии: IDs Long сохраняют uint64, reason=-1 до результата.
|
||||
* startedAtElapsedRealtime — локальные монотонные мс для chronometer; durationSeconds обновляется controller.
|
||||
* ongoing исключает только NONE/ENDED; preparing отдельно удерживает media до начала сигналинга. */
|
||||
data class CallState(
|
||||
val callId: Long = 0,
|
||||
val channelId: String = "",
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.utun.chat.data
|
||||
|
||||
/** Вспомогательное описание синхронных getters конфигурации: String может отсутствовать, Int задаёт provider.
|
||||
* JNI связывает ConfigProvider по сигнатурам методов; актуальный радио-ACK — onRadioSettingsApplied(Long, Boolean).
|
||||
* Этот интерфейс не задаёт полный контракт callback объекта nativeInit. */
|
||||
interface ConfigCallback {
|
||||
fun getString(key: String): String?
|
||||
fun getInt(key: String): Int
|
||||
|
||||
Reference in new issue
Block a user