diff options
Diffstat (limited to 'player')
-rw-r--r-- | player/command.c | 1 | ||||
-rw-r--r-- | player/core.h | 1 | ||||
-rw-r--r-- | player/video.c | 22 |
3 files changed, 2 insertions, 22 deletions
diff --git a/player/command.c b/player/command.c index e1de32be25..5b61ae3498 100644 --- a/player/command.c +++ b/player/command.c @@ -7246,7 +7246,6 @@ void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, if (opt_ptr == &opts->playback_speed) { update_playback_speed(mpctx); - reset_av_state(mpctx); mp_wakeup_core(mpctx); } diff --git a/player/core.h b/player/core.h index fc5e2e3937..5e97b6d868 100644 --- a/player/core.h +++ b/player/core.h @@ -637,7 +637,6 @@ void update_osd_msg(struct MPContext *mpctx); bool update_subtitles(struct MPContext *mpctx, double video_pts); // video.c -void reset_av_state(struct MPContext *mpctx); void reset_video_state(struct MPContext *mpctx); int init_video_decoder(struct MPContext *mpctx, struct track *track); void reinit_video_chain(struct MPContext *mpctx); diff --git a/player/video.c b/player/video.c index c33f947659..908299baa1 100644 --- a/player/video.c +++ b/player/video.c @@ -45,8 +45,6 @@ #include "command.h" #include "screenshot.h" -#define MIN_PAST_FRAMES 10 - enum { // update_video() - code also uses: <0 error, 0 eof, >0 progress VD_ERROR = -1, @@ -97,17 +95,6 @@ static void vo_chain_reset_state(struct vo_chain *vo_c) vo_c->underrun_signaled = false; } -void reset_av_state(struct MPContext *mpctx) -{ - mpctx->delay = 0; - mpctx->display_sync_drift_dir = 0; - mpctx->display_sync_error = 0; - mpctx->last_av_difference = 0; - mpctx->logged_async_diff = -1; - mpctx->num_past_frames = 0; - mpctx->total_avsync_change = 0; -} - void reset_video_state(struct MPContext *mpctx) { if (mpctx->vo_chain) { @@ -606,9 +593,7 @@ static void update_avsync_before_frame(struct MPContext *mpctx) if (mpctx->video_status < STATUS_READY) { mpctx->time_frame = 0; - } else if (mpctx->display_sync_active || vo->opts->video_sync == VS_NONE || - mpctx->num_past_frames <= MIN_PAST_FRAMES) - { + } else if (mpctx->display_sync_active || vo->opts->video_sync == VS_NONE) { // don't touch the timing } else if (mpctx->audio_status == STATUS_PLAYING && mpctx->video_status == STATUS_PLAYING && @@ -742,7 +727,7 @@ static double compute_audio_drift(struct MPContext *mpctx, double vsync) // audio desync for y. Assume speed didn't change for the frames we're // looking at for simplicity. This also should actually use the realtime // (minus paused time) for x, but use vsync scheduling points instead. - if (mpctx->num_past_frames <= MIN_PAST_FRAMES) + if (mpctx->num_past_frames <= 10) return NAN; int num = mpctx->num_past_frames - 1; double sum_x = 0, sum_y = 0, sum_xy = 0, sum_xx = 0; @@ -847,9 +832,6 @@ static void handle_display_sync_frame(struct MPContext *mpctx, if (resample && using_spdif_passthrough(mpctx)) return; - if (mpctx->num_past_frames <= MIN_PAST_FRAMES) - return; - double vsync = vo_get_vsync_interval(vo) / 1e9; if (vsync <= 0) return; |