static void
_test_query_new_gl (GstGLContext * context, gpointer data)
{
  GstGLQuery *q1;

  /* no usage */
  q1 = gst_gl_query_new (context, GST_GL_QUERY_TIMESTAMP);
  gst_gl_query_free (q1);
}
static void
_test_query_end_gl (GstGLContext * context, gpointer data)
{
  GstGLQuery *q1;

  /* test mismatched end() */
  q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
  fail_if (q1 == NULL);
  ASSERT_CRITICAL (gst_gl_query_end (q1));
  gst_gl_query_free (q1);
}
static void
_destroy_gl_objects (GstGLContext * context, GstGLBaseMemory * mem)
{
  GstGLBaseMemoryAllocatorClass *alloc_class;

  alloc_class = GST_GL_BASE_MEMORY_ALLOCATOR_GET_CLASS (mem->mem.allocator);

  g_return_if_fail (alloc_class->destroy != NULL);

  alloc_class->destroy (mem);

  if (mem->query)
    gst_gl_query_free (mem->query);
}
static void
_test_query_start_log_gl (GstGLContext * context, gpointer data)
{
  GstGLQuery *q1;

  q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
  fail_if (q1 == NULL);

  gst_gl_query_start_log (q1, NULL, GST_LEVEL_ERROR, NULL, "%s",
      "testing query proxy-logging for gst_gl_query_start_log()");
  gst_gl_query_end (q1);
  gst_gl_query_result (q1);

  gst_gl_query_free (q1);
}
static void
_test_query_time_elapsed_gl (GstGLContext * context, gpointer data)
{
  GstGLQuery *q1;

  q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
  fail_if (q1 == NULL);

  gst_gl_query_start (q1);
  gst_gl_query_end (q1);
  /* GST_GL_QUERY_TIME_ELAPSED doesn't supported counter() */
  ASSERT_CRITICAL (gst_gl_query_counter (q1));
  gst_gl_query_result (q1);

  gst_gl_query_free (q1);
}