summaryrefslogtreecommitdiffstats
path: root/audio/out/ao_lavc.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/out/ao_lavc.c')
-rw-r--r--audio/out/ao_lavc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/audio/out/ao_lavc.c b/audio/out/ao_lavc.c
index 359fbae0fa..9a2df7be22 100644
--- a/audio/out/ao_lavc.c
+++ b/audio/out/ao_lavc.c
@@ -320,7 +320,6 @@ static int play(struct ao *ao, void **data, int samples, int flags)
struct encode_lavc_context *ectx = ao->encode_lavc_ctx;
int bufpos = 0;
double nextpts;
- double pts = ao->pts;
double outpts;
if (!encode_lavc_start(ectx)) {
@@ -328,6 +327,10 @@ static int play(struct ao *ao, void **data, int samples, int flags)
return 0;
}
+ double pts = ectx->last_audio_in_pts;
+ pts += ectx->samples_since_last_pts / ao->samplerate;
+ ectx->samples_since_last_pts += samples;
+
size_t num_planes = af_fmt_is_planar(ao->format) ? ao->channels.num : 1;
if (flags & AOPLAY_FINAL_CHUNK) {