waylandsink: create/destroy the display when entering/leaving the READY state instead...
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Wed, 12 Mar 2014 12:28:44 +0000 (14:28 +0200)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Tue, 17 Jun 2014 11:51:26 +0000 (13:51 +0200)
commitc015a96ddaf5fcc4fafe34d17846eb02d634b524
treed23177e0e8b39c0ae4f29756fc9a9516624a11a4
parentf6e824ecba902c9b8722ef0add885446daad5b73
waylandsink: create/destroy the display when entering/leaving the READY state instead of PAUSED

This is the only way to get the negotiation working with the dynamic
detection of formats from the display, because the pipeline needs
to know the supported formats in the READY state and the supported
formats can only be known if we open the display.

Unfortunately,in wayland we cannot have a separate connection to
the display from the rest of the application, so we need to ask for a
window handle when going to READY in order to get the display from it.

And since it's too early to create a top level window from the state
change to READY, create it in render() when there is no other window.

This also changes set_window_handle() to not support window handle
changes in PAUSED/PLAYING (because it's complex to handle and useless
in practice) and make sure that there is always a valid display pointer
around in the READY state.
ext/wayland/gstwaylandsink.c