[vlc-commits] vout: kill the control queue from vout_Close()
Rémi Denis-Courmont
git at videolan.org
Sun Jan 27 22:10:15 CET 2019
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Jan 27 21:52:45 2019 +0200| [fa96f7d6ca87fe60881a86aaaf4aeef80d897aaf] | committer: Rémi Denis-Courmont
vout: kill the control queue from vout_Close()
...like the snapshot queue. This makes no practical differences... yet.
There are only two ways that the video output (control) thread can end:
- vout_Request() requests REINIT, then ThreadReinit() fails;
vout_Close() will be called.
- vout_Close() requests CLEAN and the ensuing ThreadStop() completes.
Either way, we will hit the vlc_join(). This is a suitable place to
mark the "death" of the control queue.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fa96f7d6ca87fe60881a86aaaf4aeef80d897aaf
---
src/video_output/video_output.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 24076da552..ef9d36c7bc 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1618,7 +1618,6 @@ static void *Thread(void *object)
out:
vout->p->dead = true;
- vout_control_Dead(&vout->p->control);
return NULL;
}
@@ -1641,6 +1640,7 @@ void vout_Close(vout_thread_t *vout)
vout_snapshot_End(vout->p->snapshot);
vout_control_PushVoid(&vout->p->control, VOUT_CONTROL_CLEAN);
+ vout_control_Dead(&vout->p->control);
vlc_join(vout->p->thread, NULL);
vout_chrono_Clean(&vout->p->render);
More information about the vlc-commits
mailing list