Files
utun2/src/call/call_clock.h
T

23 lines
1.3 KiB
C

/* Снимок часов входящего аудио. PTS принадлежит шкале захвата удалённой стороны.
* epoch — локальная эпоха устройства; source_epoch — поколение удалённого encoder.
* valid=0 запрещает продвижение видео по этому снимку. measured отличает аппаратную
* отметку от оценки backend. Тишина устройства/тоны удерживают PTS, remote mute — нет. */
#ifndef CALL_CLOCK_H
#define CALL_CLOCK_H
#include <stdint.h>
/* pts_us — первый захваченный сэмпл; INT64_MIN означает отсутствие метки.
* delay_samples — задержка Opus от encoder. epoch меняется при разрыве захвата. */
struct call_capture_time {
int64_t pts_us;
uint64_t epoch;
uint32_t delay_samples;
};
struct call_clock_snapshot {
uint64_t epoch, source_epoch, played_samples, written_samples;
int64_t pts_us;
uint32_t held_back_us;
uint32_t rate_ppm; // Фактический шаг source PTS в текущем PCM-участке; 1000000 = 1x, 0 = удержание.
int valid, measured;
};
#endif