glbufferpool: introduce check for GLMemory allocators

The last missing piece of EGLImage support has been pushed.
This commit is contained in:
Matthew Waters 2016-11-15 14:36:11 +11:00 committed by Tim-Philipp Müller
parent 0aae67d261
commit 28d3ab2922

View file

@ -115,8 +115,13 @@ gst_gl_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
if (priv->allocator)
gst_object_unref (priv->allocator);
if (allocator /* && GST_IS_GL_MEMORY_ALLOCATOR (allocator) FIXME EGLImage */ ) {
priv->allocator = gst_object_ref (allocator);
if (allocator) {
if (!GST_IS_GL_MEMORY_ALLOCATOR (allocator)) {
gst_object_unref (allocator);
goto wrong_allocator;
} else {
priv->allocator = gst_object_ref (allocator);
}
} else {
priv->allocator =
GST_ALLOCATOR (gst_gl_memory_allocator_get_default (glpool->context));
@ -241,6 +246,11 @@ wrong_caps:
"failed getting geometry from caps %" GST_PTR_FORMAT, caps);
return FALSE;
}
wrong_allocator:
{
GST_WARNING_OBJECT (pool, "Incorrect allocator type for this pool");
return FALSE;
}
}
static gboolean