Document live playback queue bounds and latency regression
This commit is contained in:
1 parent
ef67e3ed2c
commit
736fb92ed7
3 files changed
+18
-5
No files matched your search
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user