diff options
author | Hyunjun Ko <zzoon@igalia.com> | 2016-11-11 11:40:09 +0900 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> | 2016-11-11 11:17:25 +0100 |
commit | fdc51091708b6a2755c859823230b2c695a756e7 (patch) | |
tree | 07411cec495acf0cf869c1b4c18f1016993d5cce | |
parent | ebba348a44a2dca8b4e044f09ef63404a4c97abb (diff) |
vaapisink: finish event thread at stop()
The thread that handles window's events should be finished during
pipeline's shutdown, otherwise it will remain alive during pipeline
re-activation, leading to unexpected problems.
This patch fixes failures of intensive_state_change scenario of
gst-validate
https://bugzilla.gnome.org/show_bug.cgi?id=774241
-rw-r--r-- | gst/vaapi/gstvaapisink.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index cb593d2e..aada7d07 100644 --- a/gst/vaapi/gstvaapisink.c +++ b/gst/vaapi/gstvaapisink.c @@ -1224,6 +1224,7 @@ gst_vaapisink_stop (GstBaseSink * base_sink) { GstVaapiSink *const sink = GST_VAAPISINK_CAST (base_sink); + gst_vaapisink_set_event_handling (sink, FALSE); gst_buffer_replace (&sink->video_buffer, NULL); gst_vaapi_window_replace (&sink->window, NULL); @@ -1520,8 +1521,6 @@ gst_vaapisink_query (GstBaseSink * base_sink, GstQuery * query) static void gst_vaapisink_destroy (GstVaapiSink * sink) { - gst_vaapisink_set_event_handling (sink, FALSE); - cb_channels_finalize (sink); gst_buffer_replace (&sink->video_buffer, NULL); gst_caps_replace (&sink->caps, NULL); |