Allow call playback to invalidate a replaced hardware clock
This commit is contained in:
1 parent
f836ba67ce
commit
a3854f2836
2 files changed
+8
No files matched your search
@@ -561,6 +561,12 @@ void call_audio_playback_progress(uint64_t call_id, uint64_t epoch, uint64_t pos
|
||||
pthread_mutex_unlock(&g_mtx);
|
||||
}
|
||||
|
||||
void call_audio_suspend_device(uint64_t call_id, uint64_t epoch) {
|
||||
pthread_mutex_lock(&g_mtx);
|
||||
if (g_active && call_id == g_call_id && g_vj) call_jitter_suspend_device(g_vj, epoch);
|
||||
pthread_mutex_unlock(&g_mtx);
|
||||
}
|
||||
|
||||
int call_audio_get_clock(uint64_t call_id, int64_t now_us, struct call_clock_snapshot* out) {
|
||||
if (!out) { DEBUG_ERROR(DEBUG_CATEGORY_CALL, "call clock missing output"); return -1; }
|
||||
memset(out, 0, sizeof(*out)); out->pts_us = -1;
|
||||
|
||||
@@ -72,6 +72,8 @@ void call_audio_on_media(struct UTUN_INSTANCE* inst, uint64_t call_id,
|
||||
void call_audio_playback_progress(uint64_t call_id, uint64_t epoch, uint64_t position,
|
||||
int64_t at_us, int64_t now_us, int measured);
|
||||
int call_audio_get_clock(uint64_t call_id, int64_t now_us, struct call_clock_snapshot* out);
|
||||
/* Playback worker: старый аппаратный якорь недействителен до progress нового выхода. PCM/JB сохраняются. */
|
||||
void call_audio_suspend_device(uint64_t call_id, uint64_t epoch);
|
||||
/* Любой поток: диагностический снимок без потребления событий CALL_STATS. */
|
||||
int call_audio_get_diagnostics(uint64_t call_id, struct call_jitter_diagnostics* out);
|
||||
|
||||
|
||||
Reference in new issue
Block a user