Document live playback queue bounds and latency regression

This commit is contained in:
evgeny committed 2026-10-13 12:57:37 +02:00
1 parent ef67e3ed2c
commit 736fb92ed7
3 files changed
+18 -5

No files matched your search

+4 -3
View File
@@ -181,7 +181,7 @@ void StreamPlayerWindow::decode() {
opus_codec_decoder_t* opus = nullptr;
bool waitKey = true, opened = false;
int64_t deadline = nowUs() + 10000000, reportAt = nowUs(), expectedAudio = -1;
uint64_t decoded = 0, discarded = 0, late = 0, pressureDropped = 0, previousDecoded = 0, previousShown = 0;
uint64_t decoded = 0, discarded = 0, late = 0, pressureDropped = 0, previousPressure = 0, previousDecoded = 0, previousShown = 0;
uint32_t videoRevision = 0;
auto reset = [&] {
avcodec_free_context(&decoder);
@@ -317,9 +317,10 @@ void StreamPlayerWindow::decode() {
(long long)(p.videos.empty() ? 0 : p.videos.front().pts - clock),
(long long)(p.videos.empty() ? 0 : p.videos.back().pts - clock), p.audios.size(),
(long long)(p.audioPts < 0 ? 0 : now - p.audioAt), (unsigned long long)p.underruns);
if (pressureDropped) DEBUG_WARN(DEBUG_CATEGORY_STREAM, "desktop video queue pressure id=%llu dropped=%llu; preserve due frames",
if (pressureDropped != previousPressure)
DEBUG_WARN(DEBUG_CATEGORY_STREAM, "desktop video queue pressure id=%llu dropped=%llu; preserve due frames",
(unsigned long long)p.id, (unsigned long long)pressureDropped);
previousDecoded = decoded; previousShown = p.shown;
previousDecoded = decoded; previousShown = p.shown; previousPressure = pressureDropped;
}
}
avcodec_free_context(&decoder); av_frame_free(&frame); av_packet_free(&packet);