From 4ea05577bd1a0a2fd733342c16d8bf91ed322ae6 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 30 Sep 2014 18:05:55 +0200 Subject: audio: remove --audiodrop This would play some silence in case video was slower than audio. If framedropping is already enabled, there's no other way to keep A/V sync, short of changing audio playback speed (which would give worse results). The --audiodrop option inserted silence if there was more than 500ms desync. This worked somewhat, but I think it was a silly idea after all. Whether the playback experience is really bad or slightly worse doesn't really matter. There also was a subtle bug with PTS handling, that apparently caused A/V desync anyway at ridiculous playback speeds. Just remove this feature; nobody is going to use it anyway. --- player/audio.c | 14 -------------- player/core.h | 2 -- 2 files changed, 16 deletions(-) (limited to 'player') diff --git a/player/audio.c b/player/audio.c index 56e6c233c7..cc4496ed57 100644 --- a/player/audio.c +++ b/player/audio.c @@ -406,20 +406,6 @@ void fill_audio_out_buffers(struct MPContext *mpctx, double endpts) playsize = MPMAX(1, playsize + skip); // silence will be prepended } - if (opts->insert_silence) { - float S = 0.5; - if (!mpctx->paused && mpctx->audio_status == STATUS_PLAYING && - mpctx->video_status == STATUS_PLAYING && - mpctx->last_av_difference - mpctx->insert_silence > S) - mpctx->insert_silence += S; - - if (mpctx->insert_silence > 0) { - int samples = MPMIN(playsize, play_samplerate * mpctx->insert_silence); - mp_audio_buffer_prepend_silence(mpctx->ao_buffer, samples); - mpctx->insert_silence -= samples / play_samplerate; - } - } - int status = AD_OK; if (playsize > mp_audio_buffer_samples(mpctx->ao_buffer)) { status = audio_decode(d_audio, mpctx->ao_buffer, playsize); diff --git a/player/core.h b/player/core.h index 581a5b7a42..dfba2fd45f 100644 --- a/player/core.h +++ b/player/core.h @@ -260,8 +260,6 @@ typedef struct MPContext { double delay; // AV sync: time in seconds until next frame should be shown double time_frame; - // Optional/additional AV sync compensation if video is too slow. - double insert_silence; // How much video timing has been changed to make it match the audio // timeline. Used for status line information only. double total_avsync_change; -- cgit v1.2.3