summaryrefslogtreecommitdiffstats
path: root/video/filter/vf.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-18 20:37:25 +0200
committerwm4 <wm4@nowhere>2016-08-18 20:37:25 +0200
commit7bba97b301c732fb1eb4dad891d00c947d2f6363 (patch)
tree8089058d22204d8009259142d8564b7684467ab7 /video/filter/vf.h
parent0a0967f48b23a20dce393ec5983b46bb6b361971 (diff)
downloadmpv-7bba97b301c732fb1eb4dad891d00c947d2f6363.tar.bz2
mpv-7bba97b301c732fb1eb4dad891d00c947d2f6363.tar.xz
video: don't discard video frames after endpts
Instead of letting it keep decoding by trying to find a new frame, "plug" the frame queue by not removing it. (Or actually, by putting it back instead of discarding it.) Matters for seamless looping (following commits), and possibly some other corner cases. The added function vf_unread_output_frame() is a bit of a sin, but still reasonable, since its implementation is trivial.
Diffstat (limited to 'video/filter/vf.h')
-rw-r--r--video/filter/vf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/video/filter/vf.h b/video/filter/vf.h
index 49296fb9b2..901ccead95 100644
--- a/video/filter/vf.h
+++ b/video/filter/vf.h
@@ -157,6 +157,7 @@ int vf_filter_frame(struct vf_chain *c, struct mp_image *img);
int vf_output_frame(struct vf_chain *c, bool eof);
int vf_needs_input(struct vf_chain *c);
struct mp_image *vf_read_output_frame(struct vf_chain *c);
+void vf_unread_output_frame(struct vf_chain *c, struct mp_image *img);
void vf_seek_reset(struct vf_chain *c);
struct vf_instance *vf_append_filter(struct vf_chain *c, const char *name,
char **args);