Document bounded read continuation and retained source ownership after FIN
This commit is contained in:
1 parent
88a2b66050
commit
ef0fc85eb9
2 files changed
+4
-4
No files matched your search
+3
-3
@@ -1,7 +1,7 @@
|
||||
/* Стриминг CHAT-сервиса: локальные handles владеют общим экземпляром трансляции.
|
||||
* Все API — uasync-поток. Последний reader close освобождает экземпляр; publisher close
|
||||
* останавливает свою трансляцию и отсоединяет её readers. Отсоединённый handle всё равно закрывает вызывающий.
|
||||
* DATA/GAP/END/CLOSED callback отложен, data/описание заимствованы до его возврата.
|
||||
* Все API — uasync-поток. Последний reader close освобождает экземпляр; publisher close после FIN
|
||||
* сохраняет кольцо для локальных readers, без FIN отсоединяет их. Отсоединённый handle также закрывает вызывающий.
|
||||
* DATA/GAP/END/CLOSED/AVAILABLE callback отложен, data/описание заимствованы до его возврата.
|
||||
* Close handles из callback допустим; остановка сервиса/группы и destroy ядра — вне callbacks.
|
||||
* Источник и локальные подписки публикуются атомарно через опции собственного мембера. */
|
||||
#ifndef STREAM_H
|
||||
|
||||
@@ -48,7 +48,7 @@ void stream_media_cursor_reset(struct stream_media_cursor *cursor);
|
||||
int stream_media_cursor_status(struct stream_media_cursor *cursor, struct stream_media_status *status);
|
||||
/* position_us<0 — старт: прогреть аудио перед выбранным KEY. Затем отдавать только до position_us+lookahead_us.
|
||||
* При GAP/EXPIRED cursor сбрасывают отдельно: это позволяет frontend сначала обработать разрыв.
|
||||
* Бюджет одного вызова ограничен; WAIT при сборке длинного кадра допускает повтор сразу/по следующему событию. */
|
||||
* Бюджет одного вызова ограничен; MORE требует отложенного продолжения, WAIT — новых данных/позиции. */
|
||||
int stream_media_cursor_read(struct stream_media_cursor *cursor, int64_t position_us, int64_t video_ahead_us, int64_t audio_ahead_us,
|
||||
struct stream_media_packet *packet);
|
||||
|
||||
|
||||
Reference in new issue
Block a user