[vlc-devel] [PATCH 2/4] vout: add vout_FlushAll() to flush all pending pictures

Steve Lhomme robux4 at ycbcr.xyz
Tue Jul 3 12:00:02 CEST 2018


---
 src/video_output/video_output.c  | 3 ++-
 src/video_output/vout_internal.h | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index ac51d4437b..bd10014314 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1311,7 +1311,8 @@ static void ThreadFlush(vout_thread_t *vout, bool below, vlc_tick_t date)
 
     picture_t *last = vout->p->displayed.decoded;
     if (last) {
-        if (( below && last->date <= date) ||
+        if ((date == VLC_TICK_INVALID) ||
+            ( below && last->date <= date) ||
             (!below && last->date >= date)) {
             picture_Release(last);
 
diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h
index feacb10a61..86c7cc5b24 100644
--- a/src/video_output/vout_internal.h
+++ b/src/video_output/vout_internal.h
@@ -248,6 +248,11 @@ void vout_GetResetStatistic( vout_thread_t *p_vout, unsigned *pi_displayed,
  */
 void vout_Flush( vout_thread_t *p_vout, vlc_tick_t i_date );
 
+/**
+ * Empty all the pending pictures in the vout
+ */
+#define vout_FlushAll( vout )  vout_Flush( vout, VLC_TICK_INVALID )
+
 /*
  * Cancel the vout, if cancel is true, it won't return any pictures after this
  * call.
-- 
2.17.0



More information about the vlc-devel mailing list