Files
Cuteminded--JellyXR/native/pc/video_sync.cpp
T

19 lines
719 B
C++

#include "mpv_video.h"
void JellyframeMpv::apply_audio_pause() {
int flag = paused || video_buffering;
mpv_set_property_async(player, 0, "pause", MPV_FORMAT_FLAG, &flag);
}
void JellyframeMpv::update_video_buffering() {
if (vulkan_renderer.is_null() || uses_video_clock() || !prepared || seeking) return;
int64_t timestamp = vulkan_renderer->timestamp_ms();
bool waiting = video_buffering;
if (timestamp < 0 || position - timestamp > 250) waiting = true;
else if (position - timestamp <= 80 && vulkan_renderer->read_ahead_ready()) waiting = false;
if (waiting == video_buffering) return;
video_buffering = waiting;
if (waiting) ++video_buffer_count;
apply_audio_pause();
}