libs: display: remove cache
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 26 Jun 2017 19:18:25 +0000 (21:18 +0200)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 18 Jul 2017 16:20:21 +0000 (18:20 +0200)
Remove a bunch of code that handles the VADisplay cache, since the
context sharing should be doing this correctly.

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

gst-libs/gst/vaapi/Makefile.am
gst-libs/gst/vaapi/gstvaapidisplay.c
gst-libs/gst/vaapi/gstvaapidisplay_drm.c
gst-libs/gst/vaapi/gstvaapidisplay_priv.h
gst-libs/gst/vaapi/gstvaapidisplay_wayland.c
gst-libs/gst/vaapi/gstvaapidisplay_x11.c
gst-libs/gst/vaapi/gstvaapidisplaycache.c [deleted file]
gst-libs/gst/vaapi/gstvaapidisplaycache.h [deleted file]

index 50bdef8e583630dc7fb9c4f8c53d34defe0e7606..5bf3c105b3379425e07adc78d1f792a17cbbfd5c 100644 (file)
@@ -58,7 +58,6 @@ libgstvaapi_source_c =                                \
        gstvaapidecoder_unit.c                  \
        gstvaapidecoder_vc1.c                   \
        gstvaapidisplay.c                       \
-       gstvaapidisplaycache.c                  \
        gstvaapifilter.c                        \
        gstvaapiimage.c                         \
        gstvaapiimagepool.c                     \
@@ -130,7 +129,6 @@ libgstvaapi_source_priv_h =                 \
        gstvaapidecoder_priv.h                  \
        gstvaapidecoder_unit.h                  \
        gstvaapidisplay_priv.h                  \
-       gstvaapidisplaycache.h                  \
        gstvaapiimage_priv.h                    \
        gstvaapiminiobject.h                    \
        gstvaapiobject_priv.h                   \
index 61bc8d76f65c32aa40c38ea52e9e2eeba08dbcef..3c74826928333a537d6f934d2a721a6c8bfeb1a4 100644 (file)
@@ -95,9 +95,6 @@ enum
   N_PROPERTIES
 };
 
-static GstVaapiDisplayCache *g_display_cache;
-static GMutex g_display_cache_lock;
-
 static GParamSpec *g_properties[N_PROPERTIES] = { NULL, };
 
 static void gst_vaapi_display_properties_init (void);
@@ -130,29 +127,6 @@ libgstvaapi_init_once (void)
   g_once_init_leave (&g_once, TRUE);
 }
 
-static GstVaapiDisplayCache *
-get_display_cache (void)
-{
-  GstVaapiDisplayCache *cache = NULL;
-
-  g_mutex_lock (&g_display_cache_lock);
-  if (!g_display_cache)
-    g_display_cache = gst_vaapi_display_cache_new ();
-  if (g_display_cache)
-    cache = gst_vaapi_display_cache_ref (g_display_cache);
-  g_mutex_unlock (&g_display_cache_lock);
-  return cache;
-}
-
-static void
-free_display_cache (void)
-{
-  g_mutex_lock (&g_display_cache_lock);
-  if (g_display_cache && gst_vaapi_display_cache_is_empty (g_display_cache))
-    gst_vaapi_display_cache_replace (&g_display_cache, NULL);
-  g_mutex_unlock (&g_display_cache_lock);
-}
-
 /* GstVaapiDisplayType enumerations */
 GType
 gst_vaapi_display_type_get_type (void)
@@ -874,14 +848,6 @@ gst_vaapi_display_destroy (GstVaapiDisplay * display)
   priv->vendor_string = NULL;
 
   gst_vaapi_display_replace_internal (&priv->parent, NULL);
-
-  if (priv->cache) {
-    gst_vaapi_display_cache_lock (priv->cache);
-    gst_vaapi_display_cache_remove (priv->cache, display);
-    gst_vaapi_display_cache_unlock (priv->cache);
-  }
-  gst_vaapi_display_cache_replace (&priv->cache, NULL);
-  free_display_cache ();
 }
 
 static gboolean
@@ -892,7 +858,6 @@ gst_vaapi_display_create_unlocked (GstVaapiDisplay * display,
   const GstVaapiDisplayClass *const klass =
       GST_VAAPI_DISPLAY_GET_CLASS (display);
   GstVaapiDisplayInfo info;
-  const GstVaapiDisplayInfo *cached_info = NULL;
 
   memset (&info, 0, sizeof (info));
   info.display = display;
@@ -928,23 +893,11 @@ gst_vaapi_display_create_unlocked (GstVaapiDisplay * display,
   if (!priv->display)
     return FALSE;
 
-  cached_info = gst_vaapi_display_cache_lookup_by_va_display (priv->cache,
-      info.va_display);
-  if (cached_info) {
-    gst_vaapi_display_replace_internal (&priv->parent, cached_info->display);
-    priv->display_type = cached_info->display_type;
-  }
-
   if (!priv->parent) {
     if (!vaapi_initialize (priv->display))
       return FALSE;
   }
 
-  if (!cached_info) {
-    if (!gst_vaapi_display_cache_add (priv->cache, &info))
-      return FALSE;
-  }
-
   GST_INFO_OBJECT (display, "new display addr=%p", display);
   g_free (priv->display_name);
   priv->display_name = g_strdup (info.display_name);
@@ -955,20 +908,7 @@ static gboolean
 gst_vaapi_display_create (GstVaapiDisplay * display,
     GstVaapiDisplayInitType init_type, gpointer init_value)
 {
-  GstVaapiDisplayPrivate *const priv = GST_VAAPI_DISPLAY_GET_PRIVATE (display);
-  GstVaapiDisplayCache *cache;
-  gboolean success;
-
-  cache = get_display_cache ();
-  if (!cache)
-    return FALSE;
-  gst_vaapi_display_cache_replace (&priv->cache, cache);
-  gst_vaapi_display_cache_unref (cache);
-
-  gst_vaapi_display_cache_lock (cache);
-  success = gst_vaapi_display_create_unlocked (display, init_type, init_value);
-  gst_vaapi_display_cache_unlock (cache);
-  return success;
+  return gst_vaapi_display_create_unlocked (display, init_type, init_value);
 }
 
 static void
@@ -1128,16 +1068,6 @@ error:
 GstVaapiDisplay *
 gst_vaapi_display_new_with_display (VADisplay va_display)
 {
-  GstVaapiDisplayCache *const cache = get_display_cache ();
-  const GstVaapiDisplayInfo *info;
-
-  g_return_val_if_fail (va_display != NULL, NULL);
-  g_return_val_if_fail (cache != NULL, NULL);
-
-  info = gst_vaapi_display_cache_lookup_by_va_display (cache, va_display);
-  if (info)
-    return gst_vaapi_display_ref_internal (info->display);
-
   return gst_vaapi_display_new (g_object_new (GST_TYPE_VAAPI_DISPLAY, NULL),
       GST_VAAPI_DISPLAY_INIT_FROM_VA_DISPLAY, va_display);
 }
index 00ff03954662fd385e3024b770a0f1d2ca28f257..a129cce758c69606b9b575ff429e05a50fbd9a73 100644 (file)
@@ -48,8 +48,6 @@
 G_DEFINE_TYPE_WITH_CODE (GstVaapiDisplayDRM, gst_vaapi_display_drm,
     GST_TYPE_VAAPI_DISPLAY, _do_init);
 
-static const guint g_display_types = 1U << GST_VAAPI_DISPLAY_TYPE_DRM;
-
 typedef enum
 {
   DRM_DEVICE_LEGACY = 1,
@@ -265,23 +263,15 @@ gst_vaapi_display_drm_open_display (GstVaapiDisplay * display,
 {
   GstVaapiDisplayDRMPrivate *const priv =
       GST_VAAPI_DISPLAY_DRM_PRIVATE (display);
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *info;
 
   if (!set_device_path (display, name))
     return FALSE;
 
-  info = gst_vaapi_display_cache_lookup_by_name (cache, priv->device_path,
-      g_display_types);
-  if (info) {
-    priv->drm_device = GPOINTER_TO_INT (info->native_display);
-    priv->use_foreign_display = TRUE;
-  } else {
-    priv->drm_device = open (get_device_path (display), O_RDWR | O_CLOEXEC);
-    if (priv->drm_device < 0)
-      return FALSE;
-    priv->use_foreign_display = FALSE;
-  }
+  priv->drm_device = open (get_device_path (display), O_RDWR | O_CLOEXEC);
+  if (priv->drm_device < 0)
+    return FALSE;
+  priv->use_foreign_display = FALSE;
+
   return TRUE;
 }
 
@@ -314,18 +304,7 @@ gst_vaapi_display_drm_get_display_info (GstVaapiDisplay * display,
 {
   GstVaapiDisplayDRMPrivate *const priv =
       GST_VAAPI_DISPLAY_DRM_PRIVATE (display);
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *cached_info;
-
-  /* Return any cached info even if child has its own VA display */
-  cached_info = gst_vaapi_display_cache_lookup_by_native_display (cache,
-      GINT_TO_POINTER (priv->drm_device), g_display_types);
-  if (cached_info) {
-    *info = *cached_info;
-    return TRUE;
-  }
 
-  /* Otherwise, create VA display if there is none already */
   info->native_display = GINT_TO_POINTER (priv->drm_device);
   info->display_name = priv->device_path;
   if (!info->va_display) {
index d914e954d83eb4e9594853453bb451ca03a79ef2..c4ef59fed7f7b828655c144d79c649acb9e8c941 100644 (file)
@@ -26,7 +26,6 @@
 #define GST_VAAPI_DISPLAY_PRIV_H
 
 #include <gst/vaapi/gstvaapidisplay.h>
-#include <gst/vaapi/gstvaapidisplaycache.h>
 #include <gst/vaapi/gstvaapiwindow.h>
 #include <gst/vaapi/gstvaapitexture.h>
 #include <gst/vaapi/gstvaapitexturemap.h>
@@ -108,21 +107,9 @@ typedef enum _GstVaapiDisplayInitType           GstVaapiDisplayInitType;
 #define GST_VAAPI_DISPLAY_HAS_VPP(display) \
   gst_vaapi_display_has_video_processing (GST_VAAPI_DISPLAY_CAST (display))
 
-/**
- * GST_VAAPI_DISPLAY_CACHE:
- * @display: a @GstVaapiDisplay
- *
- * Returns the #GstVaapiDisplayCache attached to the supplied @display object.
- * This is an internal macro that does not do any run-time type check.
- */
-#undef  GST_VAAPI_DISPLAY_CACHE
-#define GST_VAAPI_DISPLAY_CACHE(display) \
-  (GST_VAAPI_DISPLAY_GET_PRIVATE (display)->cache)
-
 struct _GstVaapiDisplayPrivate
 {
   GstVaapiDisplay *parent;
-  GstVaapiDisplayCache *cache;
   GRecMutex mutex;
   GstVaapiDisplayType display_type;
   gchar *display_name;
index 08a61c4f14ffe0cf9932bf1bf0b8e46338609b7c..951e0307bea427db1fd2ab387ad9cd917fc9fc3e 100644 (file)
@@ -42,8 +42,6 @@
 G_DEFINE_TYPE_WITH_CODE (GstVaapiDisplayWayland, gst_vaapi_display_wayland,
     GST_TYPE_VAAPI_DISPLAY, _do_init);
 
-static const guint g_display_types = 1U << GST_VAAPI_DISPLAY_TYPE_WAYLAND;
-
 static inline const gchar *
 get_default_display_name (void)
 {
@@ -54,39 +52,6 @@ get_default_display_name (void)
   return g_display_name;
 }
 
-static inline guint
-get_display_name_length (const gchar * display_name)
-{
-  const gchar *str;
-
-  str = strchr (display_name, '-');
-  if (str)
-    return str - display_name;
-  return strlen (display_name);
-}
-
-static gint
-compare_display_name (gconstpointer a, gconstpointer b)
-{
-  const GstVaapiDisplayInfo *const info = a;
-  const gchar *cached_name = info->display_name;
-  const gchar *tested_name = b;
-  guint cached_name_length, tested_name_length;
-
-  g_return_val_if_fail (cached_name, FALSE);
-  g_return_val_if_fail (tested_name, FALSE);
-
-  cached_name_length = get_display_name_length (cached_name);
-  tested_name_length = get_display_name_length (tested_name);
-
-  /* XXX: handle screen number and default WAYLAND_DISPLAY name */
-  if (cached_name_length != tested_name_length)
-    return FALSE;
-  if (strncmp (cached_name, tested_name, cached_name_length) != 0)
-    return FALSE;
-  return TRUE;
-}
-
 /* Mangle display name with our prefix */
 static gboolean
 set_display_name (GstVaapiDisplay * display, const gchar * display_name)
@@ -211,29 +176,15 @@ gst_vaapi_display_wayland_open_display (GstVaapiDisplay * display,
 {
   GstVaapiDisplayWaylandPrivate *const priv =
       GST_VAAPI_DISPLAY_WAYLAND_GET_PRIVATE (display);
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *info;
-  int dsp_error = 0;
 
   if (!set_display_name (display, name))
     return FALSE;
 
-  info = gst_vaapi_display_cache_lookup_custom (cache, compare_display_name,
-      priv->display_name, g_display_types);
-  if (info) {
-    wl_display_roundtrip (info->native_display);
-    if ((dsp_error = wl_display_get_error (info->native_display)))
-      GST_ERROR ("wayland display error detected: %d", dsp_error);
-  }
-  if (info && !dsp_error) {
-    priv->wl_display = info->native_display;
-    priv->use_foreign_display = TRUE;
-  } else {
-    priv->wl_display = wl_display_connect (name);
-    if (!priv->wl_display)
-      return FALSE;
-    priv->use_foreign_display = FALSE;
-  }
+  priv->wl_display = wl_display_connect (name);
+  if (!priv->wl_display)
+    return FALSE;
+  priv->use_foreign_display = FALSE;
+
   return gst_vaapi_display_wayland_setup (display);
 }
 
@@ -281,18 +232,7 @@ gst_vaapi_display_wayland_get_display_info (GstVaapiDisplay * display,
 {
   GstVaapiDisplayWaylandPrivate *const priv =
       GST_VAAPI_DISPLAY_WAYLAND_GET_PRIVATE (display);
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *cached_info;
-
-  /* Return any cached info even if child has its own VA display */
-  cached_info = gst_vaapi_display_cache_lookup_by_native_display (cache,
-      priv->wl_display, g_display_types);
-  if (cached_info) {
-    *info = *cached_info;
-    return TRUE;
-  }
 
-  /* Otherwise, create VA display if there is none already */
   info->native_display = priv->wl_display;
   info->display_name = priv->display_name;
   if (!info->va_display) {
index 08bfb1a361f90423a2cb617bae4166a618e5e3f3..ca7fa5c584098f630cd17a66b4ad524f10df78ea 100644 (file)
 G_DEFINE_TYPE_WITH_CODE (GstVaapiDisplayX11, gst_vaapi_display_x11,
     GST_TYPE_VAAPI_DISPLAY, _do_init);
 
-static const guint g_display_types = 1U << GST_VAAPI_DISPLAY_TYPE_X11;
-
-static gboolean
-parse_display_name (const gchar * name, guint * len_ptr, guint * id_ptr,
-    guint * screen_ptr)
-{
-  gulong len, id = 0, screen = 0;
-  gchar *end;
-
-  end = strchr (name, ':');
-  len = end ? end - name : strlen (name);
-
-  if (end) {
-    id = strtoul (&end[1], &end, 10);
-    if (*end == '.')
-      screen = strtoul (&end[1], &end, 10);
-    if (*end != '\0')
-      return FALSE;
-  }
-
-  if (len_ptr)
-    *len_ptr = len;
-  if (id_ptr)
-    *id_ptr = id;
-  if (screen_ptr)
-    *screen_ptr = screen;
-  return TRUE;
-}
-
-static gint
-compare_display_name (gconstpointer a, gconstpointer b)
-{
-  const GstVaapiDisplayInfo *const info = a;
-  const gchar *const cached_name = info->display_name;
-  const gchar *const tested_name = b;
-  guint cached_name_length, cached_id;
-  guint tested_name_length, tested_id;
-
-  g_return_val_if_fail (cached_name, FALSE);
-  g_return_val_if_fail (tested_name, FALSE);
-
-  if (!parse_display_name (cached_name, &cached_name_length, &cached_id, NULL))
-    return FALSE;
-  if (!parse_display_name (tested_name, &tested_name_length, &tested_id, NULL))
-    return FALSE;
-  if (cached_name_length != tested_name_length)
-    return FALSE;
-  if (strncmp (cached_name, tested_name, cached_name_length) != 0)
-    return FALSE;
-  if (cached_id != tested_id)
-    return FALSE;
-  return TRUE;
-}
-
 static inline const gchar *
 get_default_display_name (void)
 {
@@ -203,23 +149,14 @@ gst_vaapi_display_x11_open_display (GstVaapiDisplay * base_display,
   GstVaapiDisplayX11 *const display = GST_VAAPI_DISPLAY_X11_CAST (base_display);
   GstVaapiDisplayX11Private *const priv = display->priv;
 
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *info;
-
   if (!set_display_name (display, name))
     return FALSE;
 
-  info = gst_vaapi_display_cache_lookup_custom (cache, compare_display_name,
-      priv->display_name, g_display_types);
-  if (info) {
-    priv->x11_display = info->native_display;
-    priv->use_foreign_display = TRUE;
-  } else {
-    priv->x11_display = XOpenDisplay (get_display_name (display));
-    if (!priv->x11_display)
-      return FALSE;
-    priv->use_foreign_display = FALSE;
-  }
+  priv->x11_display = XOpenDisplay (get_display_name (display));
+  if (!priv->x11_display)
+    return FALSE;
+  priv->use_foreign_display = FALSE;
+
   priv->x11_screen = DefaultScreen (priv->x11_display);
 
   check_extensions (display);
@@ -281,18 +218,7 @@ gst_vaapi_display_x11_get_display_info (GstVaapiDisplay * display,
 {
   GstVaapiDisplayX11Private *const priv =
       GST_VAAPI_DISPLAY_X11_PRIVATE (display);
-  GstVaapiDisplayCache *const cache = GST_VAAPI_DISPLAY_CACHE (display);
-  const GstVaapiDisplayInfo *cached_info;
-
-  /* Return any cached info even if child has its own VA display */
-  cached_info = gst_vaapi_display_cache_lookup_by_native_display (cache,
-      priv->x11_display, g_display_types);
-  if (cached_info) {
-    *info = *cached_info;
-    return TRUE;
-  }
 
-  /* Otherwise, create VA display if there is none already */
   info->native_display = priv->x11_display;
   info->display_name = priv->display_name;
   if (!info->va_display) {
diff --git a/gst-libs/gst/vaapi/gstvaapidisplaycache.c b/gst-libs/gst/vaapi/gstvaapidisplaycache.c
deleted file mode 100644 (file)
index 9c4680c..0000000
+++ /dev/null
@@ -1,415 +0,0 @@
-/*
- *  gstvaapidisplaycache.c - VA display cache
- *
- *  Copyright (C) 2012-2013 Intel Corporation
- *    Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1
- *  of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free
- *  Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- *  Boston, MA 02110-1301 USA
- */
-
-#include "sysdeps.h"
-#include <glib.h>
-#include <string.h>
-#include "gstvaapidisplaycache.h"
-
-#define DEBUG 1
-#include "gstvaapidebug.h"
-
-typedef struct _CacheEntry CacheEntry;
-struct _CacheEntry
-{
-  GstVaapiDisplayInfo info;
-};
-
-struct _GstVaapiDisplayCache
-{
-  GstVaapiMiniObject parent_instance;
-  GRecMutex mutex;
-  GList *list;
-};
-
-static void
-cache_entry_free (CacheEntry * entry)
-{
-  GstVaapiDisplayInfo *info;
-
-  if (!entry)
-    return;
-
-  info = &entry->info;
-
-  if (info->display_name) {
-    g_free (info->display_name);
-    info->display_name = NULL;
-  }
-  g_slice_free (CacheEntry, entry);
-}
-
-static CacheEntry *
-cache_entry_new (const GstVaapiDisplayInfo * di)
-{
-  GstVaapiDisplayInfo *info;
-  CacheEntry *entry;
-
-  entry = g_slice_new (CacheEntry);
-  if (!entry)
-    return NULL;
-
-  info = &entry->info;
-  info->display = di->display;
-  info->va_display = di->va_display;
-  info->native_display = di->native_display;
-  info->display_type = di->display_type;
-  info->display_name = NULL;
-
-  if (di->display_name) {
-    info->display_name = g_strdup (di->display_name);
-    if (!info->display_name)
-      goto error;
-  }
-  return entry;
-
-  /* ERRORS */
-error:
-  {
-    cache_entry_free (entry);
-    return NULL;
-  }
-}
-
-static inline gboolean
-is_compatible_display_type (const GstVaapiDisplayType display_type,
-    guint display_types)
-{
-  if (display_type == GST_VAAPI_DISPLAY_TYPE_ANY)
-    return TRUE;
-  if (display_types == GST_VAAPI_DISPLAY_TYPE_ANY)
-    return TRUE;
-  return ((1U << display_type) & display_types) != 0;
-}
-
-static GList *
-cache_lookup_1 (GstVaapiDisplayCache * cache, GCompareFunc func,
-    gconstpointer data, guint display_types)
-{
-  GList *l;
-
-  for (l = cache->list; l != NULL; l = l->next) {
-    GstVaapiDisplayInfo *const info = &((CacheEntry *) l->data)->info;
-    if (!is_compatible_display_type (info->display_type, display_types))
-      continue;
-    if (func (info, data))
-      break;
-  }
-  return l;
-}
-
-static inline const GstVaapiDisplayInfo *
-cache_lookup (GstVaapiDisplayCache * cache, GCompareFunc func,
-    gconstpointer data, guint display_types)
-{
-  GList *const m = cache_lookup_1 (cache, func, data, display_types);
-
-  return m ? &((CacheEntry *) m->data)->info : NULL;
-}
-
-static gint
-compare_display (gconstpointer a, gconstpointer display)
-{
-  const GstVaapiDisplayInfo *const info = a;
-
-  return info->display == display;
-}
-
-static gint
-compare_va_display (gconstpointer a, gconstpointer va_display)
-{
-  const GstVaapiDisplayInfo *const info = a;
-
-  return info->va_display == va_display;
-}
-
-static gint
-compare_native_display (gconstpointer a, gconstpointer native_display)
-{
-  const GstVaapiDisplayInfo *const info = a;
-
-  return info->native_display == native_display;
-}
-
-static gint
-compare_display_name (gconstpointer a, gconstpointer b)
-{
-  const GstVaapiDisplayInfo *const info = a;
-  const gchar *const display_name = b;
-
-  if (info->display_name == NULL && display_name == NULL)
-    return TRUE;
-  if (!info->display_name || !display_name)
-    return FALSE;
-  return strcmp (info->display_name, display_name) == 0;
-}
-
-static void
-gst_vaapi_display_cache_finalize (GstVaapiDisplayCache * cache)
-{
-  GList *l;
-
-  if (cache->list) {
-    for (l = cache->list; l != NULL; l = l->next)
-      cache_entry_free (l->data);
-    g_list_free (cache->list);
-    cache->list = NULL;
-  }
-  g_rec_mutex_clear (&cache->mutex);
-}
-
-static const GstVaapiMiniObjectClass *
-gst_vaapi_display_cache_class (void)
-{
-  static const GstVaapiMiniObjectClass GstVaapiDisplayCacheClass = {
-    .size = sizeof (GstVaapiDisplayCache),
-    .finalize = (GDestroyNotify) gst_vaapi_display_cache_finalize
-  };
-  return &GstVaapiDisplayCacheClass;
-}
-
-/**
- * gst_vaapi_display_cache_new:
- *
- * Creates a new VA display cache.
- *
- * Return value: the newly created #GstVaapiDisplayCache object
- */
-GstVaapiDisplayCache *
-gst_vaapi_display_cache_new (void)
-{
-  GstVaapiDisplayCache *cache;
-
-  cache = (GstVaapiDisplayCache *)
-      gst_vaapi_mini_object_new (gst_vaapi_display_cache_class ());
-  if (!cache)
-    return NULL;
-
-  g_rec_mutex_init (&cache->mutex);
-  cache->list = NULL;
-  return cache;
-}
-
-/**
- * gst_vaapi_display_cache_lock:
- * @cache: the #GstVaapiDisplayCache
- *
- * Locks the display cache @cache.
- */
-void
-gst_vaapi_display_cache_lock (GstVaapiDisplayCache * cache)
-{
-  g_return_if_fail (cache != NULL);
-
-  g_rec_mutex_lock (&cache->mutex);
-}
-
-/**
- * gst_vaapi_display_cache_unlock:
- * @cache: the #GstVaapiDisplayCache
- *
- * Unlocks the display cache @cache.
- */
-void
-gst_vaapi_display_cache_unlock (GstVaapiDisplayCache * cache)
-{
-  g_return_if_fail (cache != NULL);
-
-  g_rec_mutex_unlock (&cache->mutex);
-}
-
-/**
- * gst_vaapi_display_cache_is_empty:
- * @cache: the #GstVaapiDisplayCache
- *
- * Checks whether the display cache @cache is empty.
- *
- * Return value: %TRUE if the display @cache is empty, %FALSE otherwise.
- */
-gboolean
-gst_vaapi_display_cache_is_empty (GstVaapiDisplayCache * cache)
-{
-  g_return_val_if_fail (cache != NULL, 0);
-
-  return cache->list == NULL;
-}
-
-/**
- * gst_vaapi_display_cache_add:
- * @cache: the #GstVaapiDisplayCache
- * @info: the display cache info to add
- *
- * Adds a new entry with data from @info. The display @info data is
- * copied into the newly created cache entry.
- *
- * Return value: %TRUE on success
- */
-gboolean
-gst_vaapi_display_cache_add (GstVaapiDisplayCache * cache,
-    GstVaapiDisplayInfo * info)
-{
-  CacheEntry *entry;
-
-  g_return_val_if_fail (cache != NULL, FALSE);
-  g_return_val_if_fail (info != NULL, FALSE);
-
-  entry = cache_entry_new (info);
-  if (!entry)
-    return FALSE;
-
-  cache->list = g_list_prepend (cache->list, entry);
-  return TRUE;
-}
-
-/**
- * gst_vaapi_display_cache_remove:
- * @cache: the #GstVaapiDisplayCache
- * @display: the display to remove from cache
- *
- * Removes any cache entry that matches the specified #GstVaapiDisplay.
- */
-void
-gst_vaapi_display_cache_remove (GstVaapiDisplayCache * cache,
-    GstVaapiDisplay * display)
-{
-  GList *m;
-
-  m = cache_lookup_1 (cache, compare_display, display,
-      GST_VAAPI_DISPLAY_TYPE_ANY);
-  if (!m)
-    return;
-
-  cache_entry_free (m->data);
-  cache->list = g_list_delete_link (cache->list, m);
-}
-
-/**
- * gst_vaapi_display_cache_lookup:
- * @cache: the #GstVaapiDisplayCache
- * @display: the display to find
- *
- * Looks up the display cache for the specified #GstVaapiDisplay.
- *
- * Return value: a #GstVaapiDisplayInfo matching @display, or %NULL if
- *   none was found
- */
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup (GstVaapiDisplayCache * cache,
-    GstVaapiDisplay * display)
-{
-  g_return_val_if_fail (cache != NULL, NULL);
-  g_return_val_if_fail (display != NULL, NULL);
-
-  return cache_lookup (cache, compare_display, display,
-      GST_VAAPI_DISPLAY_TYPE_ANY);
-}
-
-/**
- * gst_vaapi_display_cache_lookup_custom:
- * @cache: the #GstVaapiDisplayCache
- * @func: an comparison function
- * @data: user data passed to the function
- *
- * Looks up an element in the display @cache using the supplied
- * function @func to find the desired element. It iterates over all
- * elements in cache, calling the given function which should return
- * %TRUE when the desired element is found.
- *
- * The comparison function takes two gconstpointer arguments, a
- * #GstVaapiDisplayInfo as the first argument, and that is used to
- * compare against the given user @data argument as the second
- * argument.
- *
- * Return value: a #GstVaapiDisplayInfo causing @func to succeed
- *   (i.e. returning %TRUE), or %NULL if none was found
- */
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_custom (GstVaapiDisplayCache * cache,
-    GCompareFunc func, gconstpointer data, guint display_types)
-{
-  g_return_val_if_fail (cache != NULL, NULL);
-  g_return_val_if_fail (func != NULL, NULL);
-
-  return cache_lookup (cache, func, data, display_types);
-}
-
-/**
- * gst_vaapi_display_cache_lookup_by_va_display:
- * @cache: the #GstVaapiDisplayCache
- * @va_display: the VA display to find
- *
- * Looks up the display cache for the specified VA display.
- *
- * Return value: a #GstVaapiDisplayInfo matching @va_display, or %NULL
- *   if none was found
- */
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_va_display (GstVaapiDisplayCache * cache,
-    VADisplay va_display)
-{
-  g_return_val_if_fail (cache != NULL, NULL);
-  g_return_val_if_fail (va_display != NULL, NULL);
-
-  return cache_lookup (cache, compare_va_display, va_display,
-      GST_VAAPI_DISPLAY_TYPE_ANY);
-}
-
-/**
- * gst_vaapi_display_cache_lookup_by_native_display:
- * @cache: the #GstVaapiDisplayCache
- * @native_display: the native display to find
- *
- * Looks up the display cache for the specified native display.
- *
- * Return value: a #GstVaapiDisplayInfo matching @native_display, or
- *   %NULL if none was found
- */
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_native_display (GstVaapiDisplayCache * cache,
-    gpointer native_display, guint display_types)
-{
-  g_return_val_if_fail (cache != NULL, NULL);
-  g_return_val_if_fail (native_display != NULL, NULL);
-
-  return cache_lookup (cache, compare_native_display, native_display,
-      display_types);
-}
-
-/**
- * gst_vaapi_display_cache_lookup_by_name:
- * @cache: the #GstVaapiDisplayCache
- * @display_name: the display name to match
- *
- * Looks up the display cache for the specified display name.
- *
- * Return value: a #GstVaapiDisplayInfo matching @display_name, or
- *   %NULL if none was found
- */
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_name (GstVaapiDisplayCache * cache,
-    const gchar * display_name, guint display_types)
-{
-  g_return_val_if_fail (cache != NULL, NULL);
-
-  return cache_lookup (cache, compare_display_name, display_name,
-      display_types);
-}
diff --git a/gst-libs/gst/vaapi/gstvaapidisplaycache.h b/gst-libs/gst/vaapi/gstvaapidisplaycache.h
deleted file mode 100644 (file)
index 9d0abb7..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- *  gstvaapidisplaycache.h - VA display cache
- *
- *  Copyright (C) 2012-2013 Intel Corporation
- *    Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1
- *  of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free
- *  Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- *  Boston, MA 02110-1301 USA
- */
-
-#ifndef GSTVAAPIDISPLAYCACHE_H
-#define GSTVAAPIDISPLAYCACHE_H
-
-#include "libgstvaapi_priv_check.h"
-#include <gst/vaapi/gstvaapidisplay.h>
-#include "gstvaapiminiobject.h"
-
-typedef struct _GstVaapiDisplayCache            GstVaapiDisplayCache;
-
-G_GNUC_INTERNAL
-GstVaapiDisplayCache *
-gst_vaapi_display_cache_new (void);
-
-#define gst_vaapi_display_cache_ref(cache) \
-    ((GstVaapiDisplayCache *) gst_vaapi_mini_object_ref ( \
-        GST_VAAPI_MINI_OBJECT (cache)))
-#define gst_vaapi_display_cache_unref(cache) \
-    gst_vaapi_mini_object_unref (GST_VAAPI_MINI_OBJECT (cache))
-#define gst_vaapi_display_cache_replace(old_cache_ptr, new_cache) \
-    gst_vaapi_mini_object_replace ((GstVaapiMiniObject **) (old_cache_ptr), \
-        GST_VAAPI_MINI_OBJECT (new_cache))
-
-G_GNUC_INTERNAL
-void
-gst_vaapi_display_cache_lock (GstVaapiDisplayCache * cache);
-
-G_GNUC_INTERNAL
-void
-gst_vaapi_display_cache_unlock (GstVaapiDisplayCache * cache);
-
-G_GNUC_INTERNAL
-gboolean
-gst_vaapi_display_cache_is_empty (GstVaapiDisplayCache * cache);
-
-G_GNUC_INTERNAL
-gboolean
-gst_vaapi_display_cache_add (GstVaapiDisplayCache * cache,
-    GstVaapiDisplayInfo * info);
-
-G_GNUC_INTERNAL
-void
-gst_vaapi_display_cache_remove (GstVaapiDisplayCache * cache,
-    GstVaapiDisplay * display);
-
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup (GstVaapiDisplayCache
-    * cache, GstVaapiDisplay * display);
-
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_custom (GstVaapiDisplayCache * cache,
-    GCompareFunc func, gconstpointer data, guint display_types);
-
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_va_display (GstVaapiDisplayCache * cache,
-    VADisplay va_display);
-
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_native_display (GstVaapiDisplayCache *
-    cache, gpointer native_display, guint display_types);
-
-const GstVaapiDisplayInfo *
-gst_vaapi_display_cache_lookup_by_name (GstVaapiDisplayCache * cache,
-    const gchar * display_name, guint display_types);
-
-#endif /* GSTVAAPIDISPLAYCACHE_H */