From 347dbf123d74cd0bdd36c0b9fd1b87920ec8d087 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Wed, 17 Oct 2012 17:56:33 -0400 Subject: [PATCH] androidmedia: Add androidmedia plugin --- sys/androidcamera/Makefile.am | 74 ++++++++++++++++++++++++++++ sys/androidcamera/gst-androidmedia.c | 49 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 sys/androidcamera/Makefile.am create mode 100644 sys/androidcamera/gst-androidmedia.c diff --git a/sys/androidcamera/Makefile.am b/sys/androidcamera/Makefile.am new file mode 100644 index 0000000000..b10a327601 --- /dev/null +++ b/sys/androidcamera/Makefile.am @@ -0,0 +1,74 @@ +plugin_LTLIBRARIES = libgstandroidmedia.la + +VIDEO_BASE_CLASSES_C = + video/video.c \ + video/gstvideodecoder.c \ + video/gstvideoencoder.c \ + video/gstvideoutils.c +VIDEO_BASE_CLASSES_H = + video/video.h \ + video/gstvideodecoder.h \ + video/gstvideoencoder.h \ + video/gstvideoutils.h + +libgstandroidmedia_la_SOURCES = \ + gst-androidmedia.c \ + gstamc.c \ + gstamcaudiodec.c \ + gstamcvideodec.c \ + video/video.c \ + video/gstvideodecoder.c \ + video/gstvideoencoder.c \ + video/gstvideoutils.c + +noinst_HEADERS = \ + gstamc.h \ + gstamc-constants.h \ + gstamcaudiodec.h \ + gstamcvideodec.h \ + video/video.h \ + video/gstvideodecoder.h \ + video/gstvideoencoder.h \ + video/gstvideoutils.h + +if !HAVE_GST_0_10_37 +libgstandroidmedia_la_SOURCES += $(VIDEO_BASE_CLASSES_C) +noinst_HEADERS += $(VIDEO_BASE_CLASSES_H) +endif + +libgstandroidmedia_la_CFLAGS = \ + $(GST_PLUGINS_BASE_CFLAGS) \ + $(GST_BASE_CFLAGS) \ + $(GST_CFLAGS) \ + $(ORC_CFLAGS) \ + $(JAVA_CFLAGS) \ + -I$(srcdir) +libgstandroidmedia_la_LIBADD = \ + $(GST_PLUGINS_BASE_LIBS) \ + -lgstaudio-@GST_MAJORMINOR@ \ + -lgstpbutils-@GST_MAJORMINOR@ \ + -lgstvideo-@GST_MAJORMINOR@ \ + $(GST_BASE_LIBS) \ + $(GST_LIBS) \ + $(ORC_LIBS) +libgstandroidmedia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +if !GST_PLUGIN_BUILD_STATIC +libgstandroidmedia_la_LIBTOOLFLAGS = --tag=disable-static +endif + +EXTRA_DIST = $(VIDEO_BASE_CLASSES_C) $(VIDEO_BASE_CLASSES_H) + +Android.mk: Makefile.am $(BUILT_SOURCES) + androgenizer \ + -:PROJECT libgstandroidmedia -:SHARED libgstandroidmedia \ + -:TAGS eng debug \ + -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ + -:SOURCES $(libgstandroidmedia_la_SOURCES) \ + $(nodist_libgstandroidmedia_la_SOURCES) \ + -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstandroidmedia_la_CFLAGS) \ + -:LDFLAGS $(libgstandroidmedia_la_LDFLAGS) \ + $(libgstandroidmedia_la_LIBADD) \ + -ldl \ + -:PASSTHROUGH LOCAL_ARM_MODE:=arm \ + LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-@GST_MAJOR_MINOR@' \ + > $@ diff --git a/sys/androidcamera/gst-androidmedia.c b/sys/androidcamera/gst-androidmedia.c new file mode 100644 index 0000000000..065f5525b3 --- /dev/null +++ b/sys/androidcamera/gst-androidmedia.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2012, Collabora Ltd. + * Author: Sebastian Dröge + * + * 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 + * version 2.1 of the License. + * + * 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 "gstamc.h" + +#include + +static gboolean +plugin_init (GstPlugin * plugin) +{ + return gst_amc_init (plugin); +} + +#ifdef GST_PLUGIN_DEFINE2 +GST_PLUGIN_DEFINE2 (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + androidmedia, + "Android Media plugin", + plugin_init, + PACKAGE_VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) +#else +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + "androidmedia", + "Android Media plugin", + plugin_init, + PACKAGE_VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) +#endif