vaapisink: keep handle_events flag except that if user want to set

When state of vaapisink is changed from PLAYING to NULL, the handle_events
flag is set to FALSE, and never recovered, and then event thread is never
going to run.

So we should allow to set the flag only when users try it.

https://bugzilla.gnome.org/show_bug.cgi?id=782543
This commit is contained in:
Hyunjun Ko 2017-05-12 13:08:30 +09:00 committed by Víctor Manuel Jáquez Leal
parent f09f21def7
commit 5ab5113f6f

View file

@ -588,6 +588,7 @@ gst_vaapisink_video_overlay_set_event_handling (GstVideoOverlay * overlay,
{
GstVaapiSink *const sink = GST_VAAPISINK (overlay);
sink->handle_events = handle_events;
gst_vaapisink_set_event_handling (sink, handle_events);
}
@ -934,7 +935,6 @@ gst_vaapisink_set_event_handling (GstVaapiSink * sink, gboolean handle_events)
return;
GST_OBJECT_LOCK (sink);
sink->handle_events = handle_events;
if (handle_events && !sink->event_thread) {
/* Setup our event listening thread */
GST_DEBUG ("starting xevent thread");