Clarify preview validity and publisher audio state responsibilities

This commit is contained in:
evgeny committed 2026-10-28 00:58:59 +01:00
1 parent a03abcaa02
commit debd3b45ef
2 files changed
+3 -2

No files matched your search

+1 -1
View File
@@ -51,7 +51,7 @@ private:
struct Tile {
uint64_t source, epoch; // Узел источника и эпоха публикации из каталога.
QString name; // Имя заголовка/повторно открываемого player.
bool self = false, previewPresented = false; // Прямой локальный preview; хотя бы один его кадр уже был показан.
bool self = false, previewPresented = false; // Прямой локальный preview; последний переданный ему кадр был валиден.
QWidget* widget = nullptr; // Владеет player либо прямым preview, удаляется целиком.
QWidget* video = nullptr; // Поверхность изображения; сюда направлены клики.
StreamPlayerWindow* player = nullptr; // Только remote: владелец decoder, аудиочасов и viewer.
+2 -1
View File
@@ -66,7 +66,8 @@ bool gui_stream_ready();
/* Единственный publisher независим от viewers. Ненулевые id/group и допустимый format; true — принято OPENING.
* После Ended/Failed возможен новый id, результат открытия читается publish_status. */
bool gui_stream_publish_open(uint64_t id, uint64_t group, const stream_media_format& format);
/* true — mute/unmute принят в OPENING/LIVE без смены эпохи/аудиокодека; включение требует audio codec в format. */
/* true — состояние audio принято в OPENING/LIVE без смены эпохи/аудиокодека; включение требует audio codec в format.
* Команда публикует состояние, producer отдельно заглушает свой PCM при mute. */
bool gui_stream_publish_audio(uint64_t id, bool enabled);
/* 1 — data скопирован в очередь, 0 — нужен KEY/перегрузка, -1 — ошибка/старый id; приём не гарантирует доставку.
* pts<=INT64_MAX строго растёт отдельно по трекам; video требует полный access unit и format, audio — один Opus.