gstreamer/gst-libs/gst/vaapi
Víctor Manuel Jáquez Leal 522ec79d2e wayland: wl_display_dispatch_queue() can block forever.
wl_display_dispatch_queue() might prevent the pipeline from shutting
down. This can happen e.g. if the wayland compositor exits while the
pipeline is running.

This patch replaces it with these steps:

- With wl_display_prepare_read() all threads announce their intention
  to read.
- wl_display_read_events() is thread save. On threads reads, the other
  wait for it to finish.
- With wl_display_dispatch_queue_pending() each thread dispatches its
  own events.

wl_display_dispatch_queue_pending() was defined since wayland 1.0.2

Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
* stripped out the unlock() unlock_stop() logic
* stripped out the poll handling

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=749078

https://bugzilla.gnome.org/show_bug.cgi?id=747492
2015-05-15 17:10:37 +02:00
..
egl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
egl_vtable.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
glibcompat.h build: upgrade glib dependency to 2.32 2015-04-30 13:54:34 +02:00
gstvaapibufferproxy.c guard buffer export API if not available 2015-04-13 13:22:50 +02:00
gstvaapibufferproxy.h surface: add support for GEM buffer exports. 2015-01-28 17:35:16 +01:00
gstvaapibufferproxy_priv.h guard buffer export API if not available 2015-04-13 13:22:50 +02:00
gstvaapicodec_objects.c Add initial VP8 decoder. 2014-04-18 20:03:44 +02:00
gstvaapicodec_objects.h Add initial VP8 decoder. 2014-04-18 20:03:44 +02:00
gstvaapicodedbuffer.c encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbuffer.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbuffer_priv.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbufferpool.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapicodedbufferpool.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapicodedbufferproxy.c encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbufferproxy.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbufferproxy_priv.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicompat.h texture: drop support for VA/GLX interfaces. 2015-01-27 18:11:44 +01:00
gstvaapicontext.c gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation. 2015-02-04 11:17:58 +02:00
gstvaapicontext.h context: add support for non-YUV 4:2:0 formats. 2014-04-25 19:24:07 +02:00
gstvaapicontext_overlay.c Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro 2015-04-03 16:55:43 +03:00
gstvaapicontext_overlay.h context: move overlay composition to separate files. 2014-01-23 14:29:09 +01:00
gstvaapidebug.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder.c decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME 2015-04-08 16:20:55 +02:00
gstvaapidecoder.h vaapidecode: Check the condition after taking the lock 2015-02-04 18:34:59 +02:00
gstvaapidecoder_dpb.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder_dpb.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder_h264.c decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME 2015-04-08 16:20:55 +02:00
gstvaapidecoder_h264.h decoder: h264: add support for NALU "alignment" optimization. 2014-06-19 15:29:12 +02:00
gstvaapidecoder_h265.c decoder: hevc: cosmetics. 2015-04-17 10:43:47 +02:00
gstvaapidecoder_h265.h HEVC: Add HEVC(h265) decoder to core libgstvaapi 2015-04-13 15:41:45 +03:00
gstvaapidecoder_jpeg.c decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME 2015-04-08 16:20:55 +02:00
gstvaapidecoder_jpeg.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_mpeg2.c vaapidecode: Tell the base class about released frames on close 2015-04-20 12:50:09 +02:00
gstvaapidecoder_mpeg2.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_mpeg4.c decoder: mpeg4: remove an spurious comparison 2015-04-08 16:20:55 +02:00
gstvaapidecoder_mpeg4.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_objects.c decoder: h264: add initial support for repeat-first-field (RFF) flag. 2014-11-14 10:11:41 +01:00
gstvaapidecoder_objects.h decoder: h264: add initial support for repeat-first-field (RFF) flag. 2014-11-14 10:11:41 +01:00
gstvaapidecoder_priv.h vaapidecode: Check the condition after taking the lock 2015-02-04 18:34:59 +02:00
gstvaapidecoder_unit.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder_unit.h libs: check that private headers remain private. 2014-01-23 14:29:09 +01:00
gstvaapidecoder_vc1.c update and move gstcompat.h 2015-04-03 17:08:30 +03:00
gstvaapidecoder_vc1.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_vp8.c build: fix conditional compilation of VP8 decoder. 2014-05-09 14:41:52 +02:00
gstvaapidecoder_vp8.h Add initial VP8 decoder. 2014-04-18 20:03:44 +02:00
gstvaapidisplay.c vaapidisplay: mark X11 display as compatible with EGL 2015-03-14 22:12:19 +02:00
gstvaapidisplay.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
gstvaapidisplay_drm.c display: drm: fix race condition setting device type 2015-04-16 13:03:20 +02:00
gstvaapidisplay_drm.h display: re-indent all GstVaapiDisplay related source code. 2013-12-20 17:16:12 +01:00
gstvaapidisplay_drm_priv.h display: refine the meaning of display type. 2015-01-27 18:11:44 +01:00
gstvaapidisplay_egl.c libs: remove unused variables 2015-04-08 16:20:55 +02:00
gstvaapidisplay_egl.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
gstvaapidisplay_egl_priv.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
gstvaapidisplay_glx.c libs: remove unused variables 2015-04-08 18:21:49 +02:00
gstvaapidisplay_glx.h display: re-indent all GstVaapiDisplay related source code. 2013-12-20 17:16:12 +01:00
gstvaapidisplay_glx_priv.h display: refine the meaning of display type. 2015-01-27 18:11:44 +01:00
gstvaapidisplay_priv.h window: add toplevel display indirection for visualid and colormap. 2015-01-27 18:11:45 +01:00
gstvaapidisplay_wayland.c wayland: don't leak the registry proxy 2015-04-28 10:36:08 +02:00
gstvaapidisplay_wayland.h display: re-indent all GstVaapiDisplay related source code. 2013-12-20 17:16:12 +01:00
gstvaapidisplay_wayland_priv.h display: refine the meaning of display type. 2015-01-27 18:11:44 +01:00
gstvaapidisplay_x11.c window: add generic helper to create windows. 2015-01-27 18:11:45 +01:00
gstvaapidisplay_x11.h display: re-indent all GstVaapiDisplay related source code. 2013-12-20 17:16:12 +01:00
gstvaapidisplay_x11_priv.h display: refine the meaning of display type. 2015-01-27 18:11:44 +01:00
gstvaapidisplaycache.c display: use a recursive mutex for the display cache. 2015-01-27 18:11:44 +01:00
gstvaapidisplaycache.h display: use a recursive mutex for the display cache. 2015-01-27 18:11:44 +01:00
gstvaapiencoder.c encoder: Only support YUV420 native format as input for now 2015-02-05 12:13:38 +02:00
gstvaapiencoder.h libs: trivial documentation fix 2015-05-06 09:54:26 +02:00
gstvaapiencoder_h264.c encoder: h264: casts slice_param->slice_type 2015-04-08 16:20:55 +02:00
gstvaapiencoder_h264.h encoder: h264: add support for more than 2 views 2015-02-24 17:14:33 +02:00
gstvaapiencoder_jpeg.c Fix compiler warnings 2015-02-18 11:46:11 +02:00
gstvaapiencoder_jpeg.h encoder: Add JPEG Encoder 2015-02-04 11:16:05 +02:00
gstvaapiencoder_mpeg2.c encoder: mpeg2: use fabsf() instead of abs() 2015-04-08 16:20:55 +02:00
gstvaapiencoder_mpeg2.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencoder_mpeg2_priv.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencoder_objects.c encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable 2015-02-04 11:15:38 +02:00
gstvaapiencoder_objects.h encoder: avoid GstVaapiCodedBuffer redefinition 2015-04-08 16:20:55 +02:00
gstvaapiencoder_priv.h encoder: notify the encoder of the submitted packed headers. 2014-01-23 15:48:58 +01:00
gstvaapiencoder_vp8.c libs: remove unused variables 2015-04-08 16:20:55 +02:00
gstvaapiencoder_vp8.h Add VP8 Encoder to core libgstvaapi. 2015-02-13 13:42:04 +02:00
gstvaapifilter.c filter: add initial support for high quality scaling. 2014-10-29 17:33:48 +01:00
gstvaapifilter.h filter: add initial support for high quality scaling. 2014-10-29 17:33:48 +01:00
gstvaapiimage.c Removal of gstreamer-0.10 support 2015-04-03 16:55:27 +03:00
gstvaapiimage.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapiimage_priv.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapiimagepool.c videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiimagepool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiminiobject.c libs: expose GstVaapiMiniObject APIs to all backends. 2015-01-27 18:11:44 +01:00
gstvaapiminiobject.h libs: expose GstVaapiMiniObject APIs to all backends. 2015-01-27 18:11:44 +01:00
gstvaapiobject.c libs: re-indent all GstVaapiObject related source code. 2015-01-27 18:11:44 +01:00
gstvaapiobject.h libs: re-indent all GstVaapiObject related source code. 2015-01-27 18:11:44 +01:00
gstvaapiobject_priv.h display: record native display object. 2015-01-27 18:11:44 +01:00
gstvaapiparser_frame.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapiparser_frame.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapipixmap.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapipixmap.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapipixmap_priv.h libs: check that private headers remain private. 2014-01-23 14:29:09 +01:00
gstvaapipixmap_x11.c display: record native display object. 2015-01-27 18:11:44 +01:00
gstvaapipixmap_x11.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapiprofile.c HEVC: gstvaapiprofile: Add profile definitions 2015-04-13 14:52:53 +03:00
gstvaapiprofile.h HEVC: gstvaapiprofile: Add profile definitions 2015-04-13 14:52:53 +03:00
gstvaapisubpicture.c Removal of gstreamer-0.10 support 2015-04-03 16:55:27 +03:00
gstvaapisubpicture.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapisurface.c guard buffer export API if not available 2015-04-13 13:22:50 +02:00
gstvaapisurface.h surface: add initial support for foreign buffer imports. 2015-01-28 17:35:16 +01:00
gstvaapisurface_drm.c surface: add support for GEM buffer imports. 2015-01-28 17:35:16 +01:00
gstvaapisurface_drm.h surface: add support for GEM buffer imports. 2015-01-28 17:35:16 +01:00
gstvaapisurface_egl.c egl: allow for EGLImage imports into VA Surfaces. 2015-02-24 15:20:03 +01:00
gstvaapisurface_egl.h egl: allow for EGLImage imports into VA Surfaces. 2015-02-24 15:20:03 +01:00
gstvaapisurface_priv.h surface: add initial support for foreign buffer imports. 2015-01-28 17:35:16 +01:00
gstvaapisurfacepool.c videopool: add optional flags for surface pool allocation. 2015-01-27 18:11:45 +01:00
gstvaapisurfacepool.h videopool: add optional flags for surface pool allocation. 2015-01-27 18:11:45 +01:00
gstvaapisurfaceproxy.c surfaceproxy: add helper to create a wrapped surface object. 2015-01-27 18:11:44 +01:00
gstvaapisurfaceproxy.h surfaceproxy: add helper to create a wrapped surface object. 2015-01-27 18:11:44 +01:00
gstvaapisurfaceproxy_priv.h surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code. 2015-01-27 18:11:44 +01:00
gstvaapitexture.c plugins: add support for GstVideoGLTextureOrientation. 2015-02-24 15:20:03 +01:00
gstvaapitexture.h plugins: add support for GstVideoGLTextureOrientation. 2015-02-24 15:20:03 +01:00
gstvaapitexture_egl.c egl: add texture abstraction. 2015-02-24 15:20:03 +01:00
gstvaapitexture_egl.h egl: add texture abstraction. 2015-02-24 15:20:03 +01:00
gstvaapitexture_glx.c plugins: add support for GstVideoGLTextureOrientation. 2015-02-24 15:20:03 +01:00
gstvaapitexture_glx.h texture: move to core libgstvaapi base library. 2015-01-27 18:11:44 +01:00
gstvaapitexture_priv.h plugins: add support for GstVideoGLTextureOrientation. 2015-02-24 15:20:03 +01:00
gstvaapitypes.h libs: re-introduce a GST_VAAPI_ID_INVALID value. 2015-01-27 18:11:44 +01:00
gstvaapiutils.c Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro 2015-04-03 16:55:43 +03:00
gstvaapiutils.h filter: add initial support for high quality scaling. 2014-10-29 17:33:48 +01:00
gstvaapiutils_core.c libs: factor out usages of vaGetConfigAttributes(). 2014-01-23 18:51:59 +01:00
gstvaapiutils_core.h libs: factor out usages of vaGetConfigAttributes(). 2014-01-23 18:51:59 +01:00
gstvaapiutils_egl.c egl: add windowing support. 2015-02-24 15:20:03 +01:00
gstvaapiutils_egl.h egl: add windowing support. 2015-02-24 15:20:03 +01:00
gstvaapiutils_glx.c libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_glx.h libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_h264.c encoder: h264: add initial support for H.264 Stereo High profile. 2014-06-02 18:25:13 +02:00
gstvaapiutils_h264.h libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_h264_priv.h libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_h265.c HEVC: Add codec utility methods to core libgstvaapi 2015-04-13 14:53:46 +03:00
gstvaapiutils_h265.h HEVC: Add codec utility methods to core libgstvaapi 2015-04-13 14:53:46 +03:00
gstvaapiutils_h265_priv.h HEVC: Add codec utility methods to core libgstvaapi 2015-04-13 14:53:46 +03:00
gstvaapiutils_mpeg2.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiutils_mpeg2.h libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_mpeg2_priv.h libs: re-indent all source code related to VA utilities. 2014-01-23 18:51:59 +01:00
gstvaapiutils_x11.c window: add toplevel API to determine a visual id. 2015-01-27 18:11:45 +01:00
gstvaapiutils_x11.h window: add toplevel API to determine a visual id. 2015-01-27 18:11:45 +01:00
gstvaapivalue.c libs: initialize GValues in a thread-safe manner. 2015-02-24 15:20:03 +01:00
gstvaapivalue.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiversion.h.in display: dump gstreamer-vaapi version for debugging purposes. 2013-01-18 14:49:15 +01:00
gstvaapivideopool.c videopool: Release lock while allocating new object 2015-04-16 12:11:45 +02:00
gstvaapivideopool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapivideopool_priv.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiwindow.c window: add generic helper to create windows. 2015-01-27 18:11:45 +01:00
gstvaapiwindow.h window: add generic helper to create windows. 2015-01-27 18:11:45 +01:00
gstvaapiwindow_drm.c window: add generic helper to create windows. 2015-01-27 18:11:45 +01:00
gstvaapiwindow_drm.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_egl.c egl: add windowing support. 2015-02-24 15:20:03 +01:00
gstvaapiwindow_egl.h egl: add windowing support. 2015-02-24 15:20:03 +01:00
gstvaapiwindow_glx.c window: add toplevel API to determine the colormap. 2015-01-27 18:11:45 +01:00
gstvaapiwindow_glx.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_priv.h window: Correct prototype to match implementation 2015-05-04 18:07:46 +02:00
gstvaapiwindow_wayland.c wayland: wl_display_dispatch_queue() can block forever. 2015-05-15 17:10:37 +02:00
gstvaapiwindow_wayland.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_x11.c window: add toplevel display indirection for visualid and colormap. 2015-01-27 18:11:45 +01:00
gstvaapiwindow_x11.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_x11_priv.h window: add toplevel API to determine the colormap. 2015-01-27 18:11:45 +01:00
gstvaapiworkarounds.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
libgstvaapi_priv_check.h libs: add missing file (libgstvaapi_priv_check.h). 2014-01-23 17:06:08 +01:00
Makefile.am build: fix make distcheck 2015-05-13 15:21:07 +02:00
ogl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
sysdeps.h update and move gstcompat.h 2015-04-03 17:08:30 +03:00
video-format.c Removal of gstreamer-0.10 support 2015-04-03 16:55:27 +03:00
video-format.h Removal of gstreamer-0.10 support 2015-04-03 16:55:27 +03:00