diff --git a/configure.ac b/configure.ac index 1d31c1e703..6eba5b7432 100644 --- a/configure.ac +++ b/configure.ac @@ -1926,6 +1926,18 @@ AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [ AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no) ]) +dnl **** Smooth Streaming **** +translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true) +AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [ + PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4, + [HAVE_LIBXML2="yes" + HAVE_SMOOTHSTREAMING="yes"], + [HAVE_LIBXML2="no" + HAVE_SMOOTHSTREAMING="no"]) + AC_SUBST(LIBXML2_CFLAGS) + AC_SUBST(LIBXML2_LIBS) +]) + dnl *** sndfile *** translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true) AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [ @@ -2230,6 +2242,7 @@ AM_CONDITIONAL(USE_RSVG, false) AM_CONDITIONAL(USE_TIMIDITY, false) AM_CONDITIONAL(USE_WILDMIDI, false) AM_CONDITIONAL(USE_SDL, false) +AM_CONDITIONAL(USE_SMOOTHSTREAMING, false) AM_CONDITIONAL(USE_SNDFILE, false) AM_CONDITIONAL(USE_SOUNDTOUCH, false) AM_CONDITIONAL(USE_SPANDSP, false) @@ -2492,6 +2505,7 @@ ext/rtmp/Makefile ext/sbc/Makefile ext/schroedinger/Makefile ext/sdl/Makefile +ext/smoothstreaming/Makefile ext/sndfile/Makefile ext/soundtouch/Makefile ext/spandsp/Makefile diff --git a/ext/Makefile.am b/ext/Makefile.am index 7d37399975..8e4e467663 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -292,6 +292,12 @@ else SDL_DIR= endif +if USE_SMOOTHSTREAMING +SMOOTHSTREAMING_DIR = smoothstreaming +else +SMOOTHSTREAMING_DIR = +endif + # if USE_SMOOTHWAVE # SMOOTHWAVE_DIR=smoothwave # else @@ -426,6 +432,7 @@ SUBDIRS=\ $(SBC_DIR) \ $(SCHRO_DIR) \ $(SDL_DIR) \ + $(SMOOTHSTREAMING_DIR) \ $(SMOOTHWAVE_DIR) \ $(SNDFILE_DIR) \ $(SNDIO_DIR) \ @@ -486,6 +493,7 @@ DIST_SUBDIRS = \ sbc \ schroedinger \ sdl \ + smoothstreaming \ sndfile \ sndio \ soundtouch \ diff --git a/ext/smoothstreaming/Makefile.am b/ext/smoothstreaming/Makefile.am new file mode 100644 index 0000000000..935508a0b9 --- /dev/null +++ b/ext/smoothstreaming/Makefile.am @@ -0,0 +1,28 @@ + +plugin_LTLIBRARIES = libgstsmoothstreaming.la + +libgstsmoothstreaming_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) +libgstsmoothstreaming_la_LIBADD = \ + $(GST_PLUGINS_BASE_LIBS) \ + -lgsttag-@GST_MAJORMINOR@ \ + $(GST_BASE_LIBS) $(GST_LIBS) $(ZLIB_LIBS) +libgstsmoothstreaming_la_LDFLAGS = ${GST_PLUGIN_LDFLAGS} +libgstsmoothstreaming_la_SOURCES = gstsmoothstreaming-plugin.c +libgstsmoothstreaming_la_LIBTOOLFLAGS = --tag=disable-static + +#noinst_HEADERS = + +Android.mk: Makefile.am $(BUILT_SOURCES) + androgenizer \ + -:PROJECT libgstsmoothstreaming -:SHARED libgstsmoothstreaming \ + -:TAGS eng debug \ + -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ + -:SOURCES $(libgstsmoothstreaming_la_SOURCES) \ + -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) $(libgstsmoothstreaming_la_CFLAGS) \ + -:LDFLAGS $(libgstsmoothstreaming_la_LDFLAGS) \ + $(libgstsmoothstreaming_la_LIBADD) \ + -ldl \ + -:PASSTHROUGH LOCAL_ARM_MODE:=arm \ + LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-0.10' \ + > $@ + diff --git a/ext/smoothstreaming/gstsmoothstreaming-plugin.c b/ext/smoothstreaming/gstsmoothstreaming-plugin.c new file mode 100644 index 0000000000..9bf193e50b --- /dev/null +++ b/ext/smoothstreaming/gstsmoothstreaming-plugin.c @@ -0,0 +1,39 @@ +/* GStreamer + * Copyright (C) 2012 Smart TV Alliance + * Author: Thiago Sousa Santos , Collabora Ltd. + * + * gstsmoothstreaming-plugin.c: + * + * 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. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "gst/gst-i18n-plugin.h" +#include + +static gboolean +plugin_init (GstPlugin * plugin) +{ + return TRUE; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + "smoothstreaming", + "Microsoft's Smooth Streaming format support ", + plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);