waylandsink: don't advertise the local wl_display context
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Mon, 26 Oct 2015 14:30:08 +0000 (15:30 +0100)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Mon, 26 Oct 2015 15:11:56 +0000 (16:11 +0100)
commitc2f34b981427f2698ce47195627a40894b640962
treebd025aec7344bac2838f446d73dfb59f649e6849
parent8b0b68c4e89eadb05a60cfa3f38f3809da32ec49
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
ext/wayland/gstwaylandsink.c