|
|
|
|
@ -810,14 +810,14 @@ int stream_media_enable(struct STREAM_HANDLE *h, unsigned tracks) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Чтение изменяет только локальный cursor; live ingest/READY/выдачи продолжают двигаться независимо. */ |
|
|
|
|
int stream_media_read(struct STREAM_HANDLE *h, int64_t position, int64_t video_ahead, int64_t audio_ahead, |
|
|
|
|
int stream_media_read(struct STREAM_HANDLE *h, int64_t position, int want_video, int64_t audio_ahead, |
|
|
|
|
struct stream_media_packet *packet) { |
|
|
|
|
if (!stream_handle_active(h) || !h->media_cursor) { |
|
|
|
|
DEBUG_WARN(DEBUG_CATEGORY_STREAM, "media read: detached/unconfigured reader"); return STREAM_ERR_STATE; |
|
|
|
|
} |
|
|
|
|
if (h->session->media_failed) return STREAM_ERR_FORMAT; |
|
|
|
|
if (h->session->media_seeking || h->session->media_next < h->session->next_seq) return STREAM_WAIT; |
|
|
|
|
return stream_media_cursor_read(h->media_cursor, position, video_ahead, audio_ahead, packet); |
|
|
|
|
return stream_media_cursor_read(h->media_cursor, position, want_video, audio_ahead, packet); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int stream_media_get_status(struct STREAM_HANDLE *h, struct stream_media_status *status) { |
|
|
|
|
|