summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
Diffstat (limited to 'player')
-rw-r--r--player/audio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/player/audio.c b/player/audio.c
index c5c3e1e9d7..5d8d60ccd1 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -264,6 +264,8 @@ static int write_to_ao(struct MPContext *mpctx, struct mp_audio *data, int flags
#if HAVE_ENCODING
encode_lavc_set_audio_pts(mpctx->encode_lavc_ctx, mpctx->ao_pts);
#endif
+ if (data->samples == 0)
+ return 0;
double real_samplerate = out_format.rate / mpctx->opts->playback_speed;
int played = ao_play(mpctx->ao, data->planes, data->samples, flags);
assert(played <= data->samples);
@@ -456,6 +458,9 @@ int fill_audio_out_buffers(struct MPContext *mpctx, double endpts)
}
}
+ if (mpctx->paused)
+ playsize = 0;
+
struct mp_audio data;
mp_audio_buffer_peek(mpctx->ao_buffer, &data);
data.samples = MPMIN(data.samples, playsize);