summaryrefslogtreecommitdiffstats
path: root/video/filter/vf_vapoursynth.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/filter/vf_vapoursynth.c')
-rw-r--r--video/filter/vf_vapoursynth.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/video/filter/vf_vapoursynth.c b/video/filter/vf_vapoursynth.c
index 3779400d9f..318eba5ee7 100644
--- a/video/filter/vf_vapoursynth.c
+++ b/video/filter/vf_vapoursynth.c
@@ -327,7 +327,7 @@ static void vf_vapoursynth_process(struct mp_filter *f)
}
// Read input and pass it to the input queue VS reads.
- if (p->num_buffered < MP_TALLOC_AVAIL(p->buffered) && !p->eof) {
+ while (p->num_buffered < MP_TALLOC_AVAIL(p->buffered) && !p->eof) {
// Note: this requests new input frames even if no output was ever
// requested. Normally this is not how mp_filter works, but since VS
// works asynchronously, it's probably ok.
@@ -382,6 +382,8 @@ static void vf_vapoursynth_process(struct mp_filter *f)
MP_ERR(p, "discarding unknown frame type\n");
mp_frame_unref(&frame);
goto done;
+ } else {
+ break; // no new data available
}
}