mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-04-24 00:47:23 +00:00
Plumb presentation time from server into AVFrame.pts field
This commit is contained in:
@@ -258,7 +258,7 @@ void Pacer::renderFrame(AVFrame* frame)
|
|||||||
{
|
{
|
||||||
// Count time spent in Pacer's queues
|
// Count time spent in Pacer's queues
|
||||||
Uint32 beforeRender = SDL_GetTicks();
|
Uint32 beforeRender = SDL_GetTicks();
|
||||||
m_VideoStats->totalPacerTime += beforeRender - frame->pts;
|
m_VideoStats->totalPacerTime += beforeRender - frame->pkt_dts;
|
||||||
|
|
||||||
// Render it
|
// Render it
|
||||||
m_VsyncRenderer->renderFrame(frame);
|
m_VsyncRenderer->renderFrame(frame);
|
||||||
|
|||||||
@@ -731,8 +731,11 @@ int FFmpegVideoDecoder::submitDecodeUnit(PDECODE_UNIT du)
|
|||||||
// Restore default log level after a successful decode
|
// Restore default log level after a successful decode
|
||||||
av_log_set_level(AV_LOG_INFO);
|
av_log_set_level(AV_LOG_INFO);
|
||||||
|
|
||||||
|
// Store the presentation time
|
||||||
|
frame->pts = du->presentationTimeMs;
|
||||||
|
|
||||||
// Capture a frame timestamp to measuring pacing delay
|
// Capture a frame timestamp to measuring pacing delay
|
||||||
frame->pts = SDL_GetTicks();
|
frame->pkt_dts = SDL_GetTicks();
|
||||||
|
|
||||||
// Count time in avcodec_send_packet() and avcodec_receive_frame()
|
// Count time in avcodec_send_packet() and avcodec_receive_frame()
|
||||||
// as time spent decoding
|
// as time spent decoding
|
||||||
|
|||||||
Reference in New Issue
Block a user