[vlc-commits] vout: nul display pointer when appropriate
Rémi Denis-Courmont
git at videolan.org
Fri Jun 14 05:31:17 CEST 2019
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Jun 12 19:22:10 2019 +0300| [456780930113a07acab0ece74821d60c6920e971] | committer: Rémi Denis-Courmont
vout: nul display pointer when appropriate
This makes sure that the display pointer is NULL when there is no
display. That way, we can access the display outside the the vout
control thread.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=456780930113a07acab0ece74821d60c6920e971
---
src/video_output/video_output.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 90f389ab08..d399bea408 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1493,6 +1493,7 @@ static int vout_Start(vout_thread_t *vout, const vout_configuration_t *cfg)
vlc_mutex_unlock(&sys->window_lock);
if (vout_OpenWrapper(vout, sys->splitter_name, &dcfg)) {
+ assert(sys->display == NULL);
vlc_mutex_unlock(&sys->display_lock);
goto error;
}
@@ -1669,13 +1670,14 @@ void vout_StopDisplay(vout_thread_t *vout)
if (sys->spu_blend != NULL)
filter_DeleteBlend(sys->spu_blend);
- /* Destroy translation tables */
+ /* Destroy the rendering display */
if (sys->display != NULL) {
if (sys->decoder_pool != NULL)
vout_FlushUnlocked(vout, true, INT64_MAX);
vlc_mutex_lock(&sys->display_lock);
vout_CloseWrapper(vout);
+ sys->display = NULL;
vlc_mutex_unlock(&sys->display_lock);
}
@@ -1848,6 +1850,7 @@ vout_thread_t *vout_Create(vlc_object_t *object)
vlc_mutex_init(&sys->filter.lock);
/* Display */
+ sys->display = NULL;
vlc_mutex_init(&sys->display_lock);
/* Window */
More information about the vlc-commits
mailing list