Group all plugins into the same bundle

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
This commit is contained in:
Nicolas Dufresne 2011-09-14 15:12:41 -04:00 committed by Gwenole Beauchesne
parent 0b54e451c2
commit 48b3d02143
13 changed files with 82 additions and 151 deletions

View file

@ -333,9 +333,7 @@ pkgconfig/gstreamer-vaapi-glx.pc.in
pkgconfig/gstreamer-vaapi-x11-$GST_MAJORMINOR.pc:\ pkgconfig/gstreamer-vaapi-x11-$GST_MAJORMINOR.pc:\
pkgconfig/gstreamer-vaapi-x11.pc.in pkgconfig/gstreamer-vaapi-x11.pc.in
gst/Makefile gst/Makefile
gst/vaapiconvert/Makefile gst/vaapi/Makefile
gst/vaapidecode/Makefile
gst/vaapisink/Makefile
tests/Makefile tests/Makefile
]) ])

View file

@ -90,9 +90,7 @@ INCLUDES = \
GTKDOC_LIBS = \ GTKDOC_LIBS = \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-$(GST_MAJORMINOR).la \ $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-$(GST_MAJORMINOR).la \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-x11-$(GST_MAJORMINOR).la \ $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-x11-$(GST_MAJORMINOR).la \
$(top_builddir)/gst/vaapidecode/libgstvaapidecode.la \ $(top_builddir)/gst/vaapi/libgstvaapi.la \
$(top_builddir)/gst/vaapiconvert/libgstvaapiconvert.la \
$(top_builddir)/gst/vaapisink/libgstvaapisink.la \
$(GLIB_LIBS) \ $(GLIB_LIBS) \
$(GST_LIBS) \ $(GST_LIBS) \
$(NULL) $(NULL)

View file

@ -1,4 +1,4 @@
SUBDIRS = vaapiconvert vaapidecode vaapisink SUBDIRS = vaapi
# Extra clean files so that maintainer-clean removes *everything* # Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in MAINTAINERCLEANFILES = Makefile.in

View file

@ -1,4 +1,4 @@
plugin_LTLIBRARIES = libgstvaapisink.la plugin_LTLIBRARIES = libgstvaapi.la
libgstvaapi_CFLAGS = \ libgstvaapi_CFLAGS = \
$(LIBVA_CFLAGS) \ $(LIBVA_CFLAGS) \
@ -12,30 +12,37 @@ libgstvaapi_LIBS = \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-x11-$(GST_MAJORMINOR).la $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-x11-$(GST_MAJORMINOR).la
endif endif
libgstvaapisink_la_SOURCES = \ libgstvaapi_la_SOURCES = \
gstvaapi.c \
gstvaapiconvert.c \
gstvaapidecode.c \
gstvaapisink.c \ gstvaapisink.c \
$(NULL) $(NULL)
noinst_HEADERS = \ noinst_HEADERS = \
gstvaapiconvert.h \
gstvaapidecode.h \
gstvaapisink.h \ gstvaapisink.h \
$(NULL) $(NULL)
libgstvaapisink_la_CFLAGS = \ libgstvaapi_la_CFLAGS = \
$(libgstvaapi_CFLAGS) \ $(libgstvaapi_CFLAGS) \
$(GST_CFLAGS) \ $(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \ $(GST_VIDEO_CFLAGS) \
$(GST_INTERFACES_CFLAGS) \ $(GST_INTERFACES_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
libgstvaapisink_la_LIBADD = \ libgstvaapi_la_LIBADD = \
$(libgstvaapi_LIBS) \ $(libgstvaapi_LIBS) \
$(GST_LIBS) \ $(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \ $(GST_VIDEO_LIBS) \
$(GST_INTERFACES_LIBS) \ $(GST_INTERFACES_LIBS) \
$(GST_PLUGINS_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS)
libgstvaapisink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstvaapi_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstvaapisink_la_LIBTOOLFLAGS = --tag=disable-static libgstvaapi_la_LIBTOOLFLAGS = --tag=disable-static
# Extra clean files so that maintainer-clean removes *everything* # Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in MAINTAINERCLEANFILES = Makefile.in

57
gst/vaapi/gstvaapi.c Normal file
View file

@ -0,0 +1,57 @@
/*
* gstvaapi.c - VA-API element registration
*
* Copyright (C) 2011 Intel Corporation
* Copyright (C) 2011 Collabora Ltd.
* Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
*
* 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <gst/gst.h>
#include "gstvaapiconvert.h"
#include "gstvaapidecode.h"
#include "gstvaapisink.h"
static gboolean
plugin_init (GstPlugin *plugin)
{
gst_element_register(plugin, "vaapiconvert",
GST_RANK_PRIMARY,
GST_TYPE_VAAPICONVERT);
gst_element_register(plugin, "vaapidecode",
GST_RANK_PRIMARY,
GST_TYPE_VAAPIDECODE);
gst_element_register(plugin, "vaapisink",
GST_RANK_PRIMARY,
GST_TYPE_VAAPISINK);
return TRUE;
}
GST_PLUGIN_DEFINE(
GST_VERSION_MAJOR, GST_VERSION_MINOR,
"vaapi",
"VA-API based elements",
plugin_init,
PACKAGE_VERSION,
"LGPL",
PACKAGE,
PACKAGE_BUGREPORT);

View file

@ -240,6 +240,9 @@ gst_vaapiconvert_class_init(GstVaapiConvertClass *klass)
GObjectClass * const object_class = G_OBJECT_CLASS(klass); GObjectClass * const object_class = G_OBJECT_CLASS(klass);
GstBaseTransformClass * const trans_class = GST_BASE_TRANSFORM_CLASS(klass); GstBaseTransformClass * const trans_class = GST_BASE_TRANSFORM_CLASS(klass);
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapiconvert,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
object_class->finalize = gst_vaapiconvert_finalize; object_class->finalize = gst_vaapiconvert_finalize;
object_class->set_property = gst_vaapiconvert_set_property; object_class->set_property = gst_vaapiconvert_set_property;
object_class->get_property = gst_vaapiconvert_get_property; object_class->get_property = gst_vaapiconvert_get_property;
@ -762,25 +765,3 @@ gst_vaapiconvert_prepare_output_buffer(
*poutbuf = buffer; *poutbuf = buffer;
return GST_FLOW_OK; return GST_FLOW_OK;
} }
static gboolean
plugin_init(GstPlugin *plugin)
{
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapiconvert,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
return gst_element_register(plugin,
GST_PLUGIN_NAME,
GST_RANK_SECONDARY,
GST_TYPE_VAAPICONVERT);
}
GST_PLUGIN_DEFINE(
GST_VERSION_MAJOR, GST_VERSION_MINOR,
GST_PLUGIN_NAME,
GST_PLUGIN_DESC,
plugin_init,
PACKAGE_VERSION,
"LGPL",
PACKAGE,
PACKAGE_BUGREPORT);

View file

@ -465,6 +465,9 @@ gst_vaapidecode_class_init(GstVaapiDecodeClass *klass)
GObjectClass * const object_class = G_OBJECT_CLASS(klass); GObjectClass * const object_class = G_OBJECT_CLASS(klass);
GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); GstElementClass * const element_class = GST_ELEMENT_CLASS(klass);
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapidecode,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
object_class->finalize = gst_vaapidecode_finalize; object_class->finalize = gst_vaapidecode_finalize;
object_class->set_property = gst_vaapidecode_set_property; object_class->set_property = gst_vaapidecode_set_property;
object_class->get_property = gst_vaapidecode_get_property; object_class->get_property = gst_vaapidecode_get_property;
@ -655,25 +658,3 @@ gst_vaapidecode_init(GstVaapiDecode *decode, GstVaapiDecodeClass *klass)
gst_pad_set_event_function(decode->srcpad, gst_vaapidecode_src_event); gst_pad_set_event_function(decode->srcpad, gst_vaapidecode_src_event);
gst_element_add_pad(GST_ELEMENT(decode), decode->srcpad); gst_element_add_pad(GST_ELEMENT(decode), decode->srcpad);
} }
static gboolean
plugin_init(GstPlugin *plugin)
{
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapidecode,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
return gst_element_register(plugin,
GST_PLUGIN_NAME,
GST_RANK_PRIMARY,
GST_TYPE_VAAPIDECODE);
}
GST_PLUGIN_DEFINE(
GST_VERSION_MAJOR, GST_VERSION_MINOR,
GST_PLUGIN_NAME,
GST_PLUGIN_DESC,
plugin_init,
PACKAGE_VERSION,
"LGPL",
PACKAGE,
PACKAGE_BUGREPORT);

View file

@ -808,6 +808,9 @@ gst_vaapisink_class_init(GstVaapiSinkClass *klass)
GObjectClass * const object_class = G_OBJECT_CLASS(klass); GObjectClass * const object_class = G_OBJECT_CLASS(klass);
GstBaseSinkClass * const basesink_class = GST_BASE_SINK_CLASS(klass); GstBaseSinkClass * const basesink_class = GST_BASE_SINK_CLASS(klass);
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapisink,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
object_class->finalize = gst_vaapisink_finalize; object_class->finalize = gst_vaapisink_finalize;
object_class->set_property = gst_vaapisink_set_property; object_class->set_property = gst_vaapisink_set_property;
object_class->get_property = gst_vaapisink_get_property; object_class->get_property = gst_vaapisink_get_property;
@ -900,25 +903,3 @@ gst_vaapisink_get_display(GstVaapiSink *sink)
return NULL; return NULL;
return sink->display; return sink->display;
} }
static gboolean
plugin_init(GstPlugin *plugin)
{
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapisink,
GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);
return gst_element_register(plugin,
GST_PLUGIN_NAME,
GST_RANK_PRIMARY,
GST_TYPE_VAAPISINK);
}
GST_PLUGIN_DEFINE(
GST_VERSION_MAJOR, GST_VERSION_MINOR,
GST_PLUGIN_NAME,
GST_PLUGIN_DESC,
plugin_init,
PACKAGE_VERSION,
"LGPL",
PACKAGE,
PACKAGE_BUGREPORT);

View file

@ -1,36 +0,0 @@
plugin_LTLIBRARIES = libgstvaapiconvert.la
libgstvaapi_CFLAGS = \
$(LIBVA_CFLAGS) \
-I$(top_srcdir)/gst-libs
libgstvaapi_LIBS = \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-$(GST_MAJORMINOR).la
libgstvaapiconvert_la_SOURCES = \
gstvaapiconvert.c \
$(NULL)
noinst_HEADERS = \
gstvaapiconvert.h \
$(NULL)
libgstvaapiconvert_la_CFLAGS = \
$(libgstvaapi_CFLAGS) \
$(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS)
libgstvaapiconvert_la_LIBADD = \
$(libgstvaapi_LIBS) \
$(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \
$(GST_PLUGINS_BASE_LIBS)
libgstvaapiconvert_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstvaapiconvert_la_LIBTOOLFLAGS = --tag=disable-static
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in

View file

@ -1,36 +0,0 @@
plugin_LTLIBRARIES = libgstvaapidecode.la
libgstvaapi_CFLAGS = \
$(LIBVA_CFLAGS) \
-I$(top_srcdir)/gst-libs
libgstvaapi_LIBS = \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-x11-$(GST_MAJORMINOR).la
libgstvaapidecode_la_SOURCES = \
gstvaapidecode.c \
$(NULL)
noinst_HEADERS = \
gstvaapidecode.h \
$(NULL)
libgstvaapidecode_la_CFLAGS = \
$(libgstvaapi_CFLAGS) \
$(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS)
libgstvaapidecode_la_LIBADD = \
$(libgstvaapi_LIBS) \
$(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \
$(GST_PLUGINS_BASE_LIBS)
libgstvaapidecode_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstvaapidecode_la_LIBTOOLFLAGS = --tag=disable-static
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in