gstreamer/gst-libs/gst/allocators/gstdmabuf.h
Benjamin Gaignard 84a0934883 allocators: dmabuf: allow testing allocator type
In decide_allocation function some element may when to test the proposed allocator.
For example like this:
if (gst_query_get_n_allocation_params (query) > 0) {
	GstAllocator * allocator;
	GstAllocationParams params;
	gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
	if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
		GST_DEBUG("got dmabuf allocator");
	else
		GST_DEBUG("got an other allocator");
}

https://bugzilla.gnome.org/show_bug.cgi?id=703659
2013-07-15 15:43:07 +02:00

40 lines
1.3 KiB
C

/* GStreamer dmabuf allocator
* Copyright (C) 2013 Linaro SA
* Author: Benjamin Gaignard <benjamin.gaignard@linaro.org> for Linaro.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GST_DMABUF_H__
#define __GST_DMABUF_H__
#include <gst/gst.h>
G_BEGIN_DECLS
#define GST_ALLOCATOR_DMABUF "dmabuf"
GstAllocator * gst_dmabuf_allocator_obtain (void);
GstMemory * gst_dmabuf_allocator_alloc (GstAllocator * allocator, gint fd, gsize size);
gint gst_dmabuf_memory_get_fd (GstMemory * mem);
gboolean gst_is_dmabuf_memory (GstMemory * mem);
G_END_DECLS
#endif /* __GST_DMABUF_H__ */