[vlc-commits] video_output: explicitly use the displayed.XXX pictures as filter chain inputs
Steve Lhomme
git at videolan.org
Tue Oct 20 11:03:06 CEST 2020
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Fri Oct 16 13:36:04 2020 +0200| [362e272c9997cf3b571ad38f2d6aa43761ebacec] | committer: Steve Lhomme
video_output: explicitly use the displayed.XXX pictures as filter chain inputs
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=362e272c9997cf3b571ad38f2d6aa43761ebacec
---
src/video_output/video_output.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 1008ef83c1..8db148c0bd 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1140,7 +1140,7 @@ static picture_t *ThreadDisplayPreparePicture(vout_thread_sys_t *vout, bool reus
sys->displayed.timestamp = decoded->date;
sys->displayed.is_interlaced = !decoded->b_progressive;
- picture = filter_chain_VideoFilter(sys->filter.chain_static, decoded);
+ picture = filter_chain_VideoFilter(sys->filter.chain_static, sys->displayed.decoded);
}
vlc_mutex_unlock(&sys->filter.lock);
@@ -1216,12 +1216,13 @@ static int ThreadDisplayRenderPicture(vout_thread_sys_t *vout, bool is_forced)
{
vout_thread_sys_t *sys = vout;
- picture_t *torender = picture_Hold(sys->displayed.current);
+ // hold it as the filter chain will release it or return it and we release it
+ picture_Hold(sys->displayed.current);
vout_chrono_Start(&sys->render);
vlc_mutex_lock(&sys->filter.lock);
- picture_t *filtered = filter_chain_VideoFilter(sys->filter.chain_interactive, torender);
+ picture_t *filtered = filter_chain_VideoFilter(sys->filter.chain_interactive, sys->displayed.current);
vlc_mutex_unlock(&sys->filter.lock);
if (!filtered)
More information about the vlc-commits
mailing list