summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-08-28 20:07:12 +0200
committerwm4 <wm4@nowhere>2020-08-28 20:07:12 +0200
commit71d118733a45e359c0ec645455fac2005efb2692 (patch)
treeac49a44a244d93a08b0a7450bc3b67110976047f
parent86068af1785305101bbad842ab7472f5366d2adc (diff)
downloadmpv-71d118733a45e359c0ec645455fac2005efb2692.tar.bz2
mpv-71d118733a45e359c0ec645455fac2005efb2692.tar.xz
f_async_queue: don't count EOF frames as samples
That's dumb.
-rw-r--r--filters/f_async_queue.c2
-rw-r--r--filters/f_async_queue.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/filters/f_async_queue.c b/filters/f_async_queue.c
index 8aa2041dd9..84f38e9460 100644
--- a/filters/f_async_queue.c
+++ b/filters/f_async_queue.c
@@ -88,6 +88,8 @@ static int64_t frame_get_samples(struct async_queue *q, struct mp_frame frame)
struct mp_aframe *aframe = frame.data;
res = mp_aframe_get_size(aframe);
}
+ if (mp_frame_is_signaling(frame))
+ return 0;
return res;
}
diff --git a/filters/f_async_queue.h b/filters/f_async_queue.h
index dcc5ba57eb..50678faec1 100644
--- a/filters/f_async_queue.h
+++ b/filters/f_async_queue.h
@@ -65,7 +65,8 @@ struct mp_filter *mp_async_queue_create_filter(struct mp_filter *parent,
enum mp_async_queue_sample_unit {
AQUEUE_UNIT_FRAME = 0, // a frame counts as 1 sample
- AQUEUE_UNIT_SAMPLES, // number of audio samples (1 for other media types)
+ AQUEUE_UNIT_SAMPLES, // number of audio samples (1 for other media types,
+ // 0 for signaling)
};
// Setting this struct to all-0 is equivalent to defaults.