diff options
author | wm4 <wm4@nowhere> | 2014-05-14 21:02:56 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-05-14 21:02:56 +0200 |
commit | daf4898668d9753c753d9cd3f20ed2051dddeb39 (patch) | |
tree | 16f743f189e3b4d7b9370587a8a626dc30fa01c5 /video/filter | |
parent | 6dec78e4754caef6a3ea88ab0a0926cb4d0d7f94 (diff) | |
download | mpv-daf4898668d9753c753d9cd3f20ed2051dddeb39.tar.bz2 mpv-daf4898668d9753c753d9cd3f20ed2051dddeb39.tar.xz |
vf_vapoursynth: avoid unnecessary waiting
It could in theory happen that the filter loop will enter a blocking
wait, even though it could make progress by emptying the list of
already-filtered images. I'm not quite sure if this could actually cause
a real issue - probably not.
Diffstat (limited to 'video/filter')
-rw-r--r-- | video/filter/vf_vapoursynth.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/video/filter/vf_vapoursynth.c b/video/filter/vf_vapoursynth.c index 4885ff26bc..c63e648603 100644 --- a/video/filter/vf_vapoursynth.c +++ b/video/filter/vf_vapoursynth.c @@ -261,7 +261,7 @@ static int filter_ext(struct vf_instance *vf, struct mp_image *mpi) pthread_cond_broadcast(&p->wakeup); } - if (p->requested[0] && p->requested[0] != &dummy_img) { + while (p->requested[0] && p->requested[0] != &dummy_img) { struct mp_image *out = p->requested[0]; if (out->pts != MP_NOPTS_VALUE) { double duration = out->pts; |