diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2015-10-26 15:30:08 +0100 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2015-10-26 16:16:32 +0100 |
commit | 450bac6ce59a72ce45cda6bc128fef56dada419a (patch) | |
tree | 1794f2018c0fdedb4649c691d41900e5cfb310f4 /ext | |
parent | b1fca495d772f69ed765d8638349e3104943792e (diff) | |
download | gstreamer-plugins-bad-450bac6ce59a72ce45cda6bc128fef56dada419a.tar.gz |
waylandsink: don't advertise the local wl_display context
This wl_display proxy is temporary only until waylandsink goes NULL,
at which point the connection to the display is disposed. Unfortunately,
if this is advertised as a GstContext, playbin will cache it and re-feed
it to the sink when it goes PLAYING again, but the wl_display pointer
will at that point be invalid and cause a crash.
Another solution to the problem would be to also cache the GstWlDisplay
object inside the GstContext, which would automatically ref-count
the display connection, but I see no reason in doing that at the moment,
as there are no known users of this GstContext outside waylandsink.
It's probably better to avoid chasing hidden refcounts.
https://bugzilla.gnome.org/show_bug.cgi?id=756567
Diffstat (limited to 'ext')
-rw-r--r-- | ext/wayland/gstwaylandsink.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c index b4d6f61a8..7cc4bbace 100644 --- a/ext/wayland/gstwaylandsink.c +++ b/ext/wayland/gstwaylandsink.c @@ -290,12 +290,6 @@ gst_wayland_sink_find_display (GstWaylandSink * sink) ("Failed to create GstWlDisplay: '%s'", error->message)); g_error_free (error); ret = FALSE; - } else { - /* inform the world about the new display */ - context = - gst_wayland_display_handle_context_new (sink->display->display); - msg = gst_message_new_have_context (GST_OBJECT_CAST (sink), context); - gst_element_post_message (GST_ELEMENT_CAST (sink), msg); } } } |