--- /dev/null
-upstream_branch = upstream/1.6
+ [general]
++upstream_branch = upstream/1.12
+ upstream_tag = ${upstreamversion}
;;
*)
if test "x$NEED_GL" != "xno"; then
- AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
+ AG_GST_PKG_CHECK_MODULES(GL, gl)
+ if test "x$HAVE_GL" != "xyes"; then
+ AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
+ fi
fi
if test "x$NEED_GLES2" != "xno"; then
- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
+ AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
+ if test "x$HAVE_GLES2" != "xyes"; then
+ AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
+ fi
- AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
++ AC_CHECK_HEADER([GLES3/gl3.h GLES3/gl3ext.h], [HAVE_GLES3_H=yes])
fi
if test "x$NEED_EGL" != "xno"; then
- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
+ AG_GST_PKG_CHECK_MODULES(EGL, egl)
+ if test "x$HAVE_EGL" != "xyes"; then
+ AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
+ fi
fi
old_LIBS=$LIBS
AC_SUBST(LIBUSB_CFLAGS)
AC_SUBST(LIBUSB_LIBS)
+ dnl check for tv profile
+ AC_ARG_ENABLE(tv, AC_HELP_STRING([--enable-tv], [enable tv profile]),
+ [
+ case "${enableval}" in
+ yes) TV_PROFILE=yes ;;
+ no) TV_PROFILE=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tv) ;;
+ esac
+ ],
+ [TV_PROFILE=no])
+ AM_CONDITIONAL([TV_PROFILE], [test "x$TV_PROFILE" = "xyes"])
+
+dnl *** NVENC ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
+AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
+ AC_ARG_WITH([cuda-prefix],
+ AS_HELP_STRING([--with-cuda-prefix],
+ [Use the provided prefix for detecting the cuda installation]),
+ [AS_IF([test "x$with_cuda_prefix" != "x"],
+ [CUDA_PREFIX="$with_cuda_prefix"])],
+ [CUDA_PREFIX=""])
+
+ HAVE_CUDA="yes"
+ if test "x$CUDA_PREFIX" != "x"; then
+ dnl only override if not already set
+ if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
+ dnl this is an educated guess, user can always override these
+ CUDA_CFLAGS="-I$CUDA_PREFIX/include"
+ CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
+ fi
+ else
+ PKG_CHECK_MODULES([CUDA], [cuda-8.0 cudart-8.0],, [
+ PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
+ PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
+ PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
+ AC_MSG_WARN([Could not find cuda headers/libraries])])])])])
+ fi
+
+ HAVE_CUDA_H=no
+ HAVE_CUDART_H=no
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
+ AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
+ AC_MSG_WARN([Could not find cuda.h]))
+ AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
+ AC_MSG_WARN([Could not find cuda_runtime_api.h]))
+ CPPFLAGS=$save_CPPFLAGS
+
+ dnl libcuda and libcudart libraries
+ save_LIBS="$LIBS"
+ LIBS="$CUDA_LIBS $save_LIBS"
+ HAVE_CUDART_LIB="no"
+ AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
+ AC_MSG_WARN([Could not find cudart library])])
+ HAVE_CUDA_LIB="no"
+ AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
+ AC_MSG_WARN([Could not find cuda library])])
+ LIBS="$save_LIBS"
+
+ dnl nvEncodeAPI.h header
+ HAVE_NVENCODEAPI_H=no
+ AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
+ AC_CHECK_HEADER([nvEncodeAPI.h], [
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
+ #if NVENCAPI_MAJOR_VERSION < 5
+ #error "Need nvEncodeAPI.h >= 5.0"
+ #endif
+ ]])], [
+ HAVE_NVENCODEAPI_H=yes
+ ], [
+ AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
+ ])
+ ],
+ AC_MSG_WARN([Could not find nvEncodeAPI.h]))
+ AC_SUBST(NVENCODE_CFLAGS)
+ CPPFLAGS="$save_CPPFLAGS"
+
+ dnl libnvnidia-encode library
+ HAVE_NVENCODE_LIB=no
+ AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
+ saved_LIBS="$LIBS"
+ LIBS="$NVENCODE_LIBS $saved_LIBS"
+ AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
+ AC_MSG_WARN([Could not find library nvidia-encode]))
+ NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
+ AC_SUBST(NVENCODE_LIBS)
+ LIBS="$saved_LIBS"
+
+ USE_NVENC_GST_GL=no
+ if test "x$HAVE_CUDA_H" = "xyes" \
+ -a "x$HAVE_CUDART_H" = "xyes" \
+ -a "x$HAVE_CUDA_LIB" = "xyes" \
+ -a "x$HAVE_CUDART_LIB" = "xyes" \
+ -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
+ -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
+ HAVE_NVENC="yes"
+ if test x"$USE_OPENGL" = x"yes"; then
+ dnl cuda-gl interop header
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
+ AC_CHECK_HEADER([cuda_gl_interop.h], [
+ USE_NVENC_GST_GL="yes"
+ AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
+ ])
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ else
+ HAVE_NVENC="no"
+ fi
+])
+AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
+
+dnl check for tinyalsa
+translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
+AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
+ AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
+])
+
+dnl check for intel mediasdk
+translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
+AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
+ AC_ARG_WITH([msdk-prefix],
+ AS_HELP_STRING([--with-msdk-prefix],
+ [Use the provided prefix for detecting the Intel MediaSDK]),
+ [AS_IF([test "x$with_msdk_prefix" != "x"],
+ [MSDK_PREFIX="$with_msdk_prefix"])],
+ [AS_IF([test "x$MFX_HOME" != "x"],
+ [MSDK_PREFIX="$MFX_HOME"],
+ [MSDK_PREFIX="/opt/intel/media"])])
+ MSDK_CFLAGS="-I$MSDK_PREFIX/include"
+ MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
+ AC_SUBST(MSDK_CFLAGS)
+ AC_SUBST(MSDK_LIBS)
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
+ AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
+ CPPFLAGS="$save_CPPFLAGS"
+
+ save_LIBS="$LIBS"
+ LIBS="$MSDK_LIBS $LIBS"
+ AC_LANG_PUSH([C++])
+ AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
+ AC_LANG_POP([C++])
+ LIBS="$save_LIBS"
+
+ PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
+
+ if test "x$HAVE_MFXDEFS_H" = "xyes" \
+ -a "x$HAVE_MFX_LIB" = "xyes" \
+ -a "x$HAVE_LIBVA_DRM" = "xyes"; then
+ HAVE_MSDK="yes"
+ else
+ HAVE_MSDK="no"
+ fi
+])
+AM_CONDITIONAL(USE_MSDK_LIBVA,
+ test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
+
dnl *** ext plug-ins ***
dnl keep this list sorted alphabetically !
}
if (tmpl != NULL) {
- srcpad =
- GST_PAD_CAST (gst_ghost_pad_new_no_target_from_template (name, tmpl));
+ srcpad = GST_PAD_CAST (gst_pad_new_from_template (tmpl, name));
- g_free (name);
gst_object_unref (tmpl);
}
+ g_free (name);
+
if (!srcpad) {
GST_WARNING_OBJECT (mssdemux, "Ignoring unknown type stream");
return NULL;
WAYLAND_DIR=wayland
endif
+if USE_OPENCV
+OPENCV_DIR=opencv
+endif
+
+ if TV_PROFILE
+ SUBDIRS = codecparsers mpegts $(WAYLAND_DIR)
+ else
SUBDIRS = uridownloader adaptivedemux interfaces basecamerabinsrc codecparsers \
- insertbin mpegts base video $(GL_DIR) $(WAYLAND_DIR)
+ insertbin mpegts base video audio player allocators $(GL_DIR) $(WAYLAND_DIR) \
+ $(OPENCV_DIR)
+ endif
noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h
+
+ if TV_PROFILE
+ DIST_SUBDIRS = codecparsers mpegts wayland
+ else
DIST_SUBDIRS = uridownloader adaptivedemux interfaces gl basecamerabinsrc \
- codecparsers insertbin mpegts wayland base video
+ codecparsers insertbin mpegts wayland opencv base video audio player allocators
+ endif
#dependencies
-video: base
+video, audio: base
+gl: allocators
adaptivedemux: uridownloader
+ if TV_PROFILE
+ INDEPENDENT_SUBDIRS = \
+ codecparsers mpegts $(WAYLAND_DIR)
+ else
INDEPENDENT_SUBDIRS = \
interfaces basecamerabinsrc codecparsers insertbin uridownloader \
- mpegts base $(GL_DIR) $(WAYLAND_DIR)
+ mpegts base player allocators $(GL_DIR) $(WAYLAND_DIR) $(OPENCV_DIR)
+ endif
.PHONY: independent-subdirs $(INDEPENDENT_SUBDIRS)
enum
{
PROP_0,
- PROP_LOOKBACK_FRAGMENTS,
PROP_CONNECTION_SPEED,
PROP_BITRATE_LIMIT,
+ #ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+ PROP_MAX_BANDWIDTH,
+ PROP_MAX_WIDTH,
+ PROP_MAX_HEIGHT,
+ #endif
PROP_LAST
};
* Since: 1.6
*/
#define GST_ADAPTIVE_DEMUX_STATISTICS_MESSAGE_NAME "adaptive-streaming-statistics"
+ #ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+ #define GST_ADAPTIVE_DEMUX_VARIANT_MESSAGE_NAME "adaptive-streaming-variant"
+ #endif
-#define GST_MANIFEST_GET_LOCK(d) (&(GST_ADAPTIVE_DEMUX_CAST(d)->manifest_lock))
-#define GST_MANIFEST_LOCK(d) (g_mutex_lock (GST_MANIFEST_GET_LOCK (d)))
-#define GST_MANIFEST_UNLOCK(d) (g_mutex_unlock (GST_MANIFEST_GET_LOCK (d)))
-
#define GST_ELEMENT_ERROR_FROM_ERROR(el, msg, err) G_STMT_START { \
gchar *__dbg = g_strdup_printf ("%s: %s", msg, err->message); \
GST_WARNING_OBJECT (el, "error: %s", __dbg); \
g_clear_error (&err); \
} G_STMT_END
-#define DEFAULT_ADAPTIVE_RETRY -1
-#define DEFAULT_ADAPTIVE_TIMEOUT -1
-#define PLAYLIST_ADAPTIVE_RETRY 3
-#define PLAYLIST_ADAPTIVE_TIMEOUT 2
+#define GST_ADAPTIVE_DEMUX_FLOW_END_OF_FRAGMENT GST_FLOW_CUSTOM_SUCCESS_1
+ #ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+ #define DEFAULT_ADAPTIVE_VARIANT -1
+ #endif
typedef struct _GstAdaptiveDemuxStreamFragment GstAdaptiveDemuxStreamFragment;
typedef struct _GstAdaptiveDemuxStream GstAdaptiveDemuxStream;
gboolean have_group_id;
guint group_id;
+ /* Realtime clock */
+ GstClock *realtime_clock;
+ gint64 clock_offset; /* offset between realtime_clock and UTC (in usec) */
+
/* < private > */
GstAdaptiveDemuxPrivate *priv;
- guint dash_error_count;
- gchar *dash_newest_segment;
+ #ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+ gint max_bandwidth;
+ gint max_width;
+ gint max_height;
+ #endif
};
/**
mxf_jpeg2000_essence_element_writer.pad_template =
gst_pad_template_new ("jpeg2000_video_sink_%u", GST_PAD_SINK,
GST_PAD_REQUEST,
- gst_caps_from_string ("image/x-jpc, width = "
- tmp = gst_caps_from_string ("image/x-jpc, fields = 1, width = "
++ tmp = gst_caps_from_string ("image/x-jpc, width = "
GST_VIDEO_SIZE_RANGE ", height = " GST_VIDEO_SIZE_RANGE
", framerate = " GST_VIDEO_FPS_RANGE
", colorspace = (string) { \"sRGB\", \"sYUV\" }"));
gst_video_diff_class_init (GstVideoDiffClass * klass)
{
GstVideoFilterClass *video_filter_class = GST_VIDEO_FILTER_CLASS (klass);
+ GstCaps *tmp = NULL;
- /* Setting up pads and setting metadata should be moved to
- base_class_init if you intend to subclass this class. */
gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
- gst_caps_from_string (VIDEO_SRC_CAPS)));
+ tmp = gst_caps_from_string (VIDEO_SRC_CAPS)));
+ gst_caps_unref (tmp);
gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
- gst_caps_from_string (VIDEO_SINK_CAPS)));
+ tmp = gst_caps_from_string (VIDEO_SINK_CAPS)));
+ gst_caps_unref (tmp);
gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
- "FIXME Long name", "Generic", "FIXME Description",
- "FIXME <fixme@example.com>");
+ "Video Diff", "Video/Filter",
+ "Visualize differences between adjacent video frames",
+ "David Schleef <ds@schleef.org>");
video_filter_class->transform_frame =
GST_DEBUG_FUNCPTR (gst_video_diff_transform_frame);
--- /dev/null
-Version: 1.6.1
-Release: 15
+ %bcond_with wayland
+ #%bcond_with x
+ %define gst_branch 1.0
+
+ Name: gst-plugins-bad
-#BuildRequires: SDL-devel
++Version: 1.12.2
++Release: 0
+ Summary: GStreamer Streaming-Media Framework Plug-Ins
+ License: LGPL-2.0+
+ Group: Multimedia/Framework
+ Url: http://gstreamer.freedesktop.org/
+ Source: http://gstreamer.freedesktop.org/src/gst-plugins-bad/%{name}-%{version}.tar.xz
+ Source100: common.tar.gz
+ BuildRequires: gettext-tools
-BuildRequires: pkgconfig(gstreamer-1.0)
-BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
+ BuildRequires: autoconf
+ BuildRequires: gcc-c++
+ BuildRequires: pkgconfig(glib-2.0) >= 2.31.14
-#BuildRequires: pkgconfig(cairo)
++BuildRequires: pkgconfig(gstreamer-1.0) >= 1.12.0
++BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.12.0
+ BuildRequires: pkgconfig(orc-0.4) >= 0.4.11
+ BuildRequires: python
+ BuildRequires: xsltproc
-BuildRequires: pkgconfig(libdrm)
-BuildRequires: pkgconfig(libtbm)
-BuildRequires: pkgconfig(mm-common)
-#BuildRequires: mesa-libGLESv2
-#BuildRequires: mesa-libEGL
+ BuildRequires: pkgconfig(libusb-1.0)
+ BuildRequires: pkgconfig(gio-2.0) >= 2.25.0
+ BuildRequires: pkgconfig(libcrypto)
+ BuildRequires: pkgconfig(libcurl) >= 7.21.0
+ BuildRequires: pkgconfig(libexif) >= 0.6.16
+ BuildRequires: pkgconfig(openssl) >= 0.9.5
+ BuildRequires: pkgconfig(sndfile) >= 1.0.16
-#BuildRequires: opengl-es-devel
++BuildRequires: pkgconfig(openal)
+ %if %{with wayland}
-BuildRequires: pkgconfig(wayland-tbm-client)
-BuildRequires: pkgconfig(openal)
-BuildRequires: pkgconfig(tizen-extension-client)
+ BuildRequires: pkgconfig(gles20)
+ BuildRequires: pkgconfig(wayland-egl) >= 9.0
+ BuildRequires: pkgconfig(wayland-client) >= 1.0.0
+ BuildRequires: pkgconfig(wayland-cursor) >= 1.0.0
-Requires: gstreamer >= 1.0.2
-#Enhances: gstreamer
+ BuildRequires: pkgconfig(libxml-2.0)
+ %endif
+ %if %{with x}
+ BuildRequires: pkgconfig(x11)
+ %endif
-%{_libdir}/gstreamer-%{gst_branch}/libgstcamerabin2.so
++Requires: gstreamer >= 1.12.0
+
+ %description
+ GStreamer is a streaming media framework based on graphs of filters
+ that operate on media data. Applications using this library can do
+ anything media-related,from real-time sound processing to playing
+ videos. Its plug-in-based architecture means that new data types or
+ processing capabilities can be added simply by installing new plug-ins.
+
+
+ %package devel
+ Summary: GStreamer Streaming-Media Framework Plug-Ins
+ Requires: %{name} = %{version}-%{release}
+ Requires: gst-plugins-base-devel
+
+ %description devel
+ GStreamer is a streaming media framework based on graphs of filters
+ that operate on media data. Applications using this library can do
+ anything media-related,from real-time sound processing to playing
+ videos. Its plug-in-based architecture means that new data types or
+ processing capabilities can be added simply by installing new plug-ins.
+
+
+ %prep
+ %setup -q -n %{name}-%{version}
+ %setup -q -T -D -a 100
+
+ %build
+ export V=1
+ NOCONFIGURE=1 ./autogen.sh
+ export CFLAGS+=" -Wall -g -fPIC\
+ -DTIZEN_FEATURE_WLSINK_ENHANCEMENT\
+ -DTIZEN_FEATURE_AVOID_PAD_SWITCHING\
+ -DTIZEN_FEATURE_ADAPTIVE_MODIFICATION\
+ -DTIZEN_FEATURE_TSDEMUX_MODIFICATION\
+ -DTIZEN_FEATURE_OALSINK_MODIFICATION\
+ -DTIZEN_FEATURE_UPSTREAM"
+
+ %configure\
+ --disable-static\
+ --disable-examples\
+ --enable-experimental\
+ %if "%{TIZEN_PRODUCT_TV}" == "1"
+ --enable-tv\
+ --disable-autoconvert\
+ --disable-camerabin2\
+ --disable-dash\
+ --disable-hls\
+ --disable-id3tag\
+ --disable-jpegformat\
+ --disable-mpegdemux\
+ --disable-smoothstreaming\
+ --disable-coloreffects\
+ --disable-rtp\
+ --disable-gl\
+ %endif
+ --disable-accurip\
+ --disable-adpcmdec\
+ --disable-audiofxbad\
+ --disable-decklink\
+ --disable-dvb\
+ --disable-fieldanalysis\
+ --disable-gdp\
+ --disable-ivtc\
+ --disable-liveadder\
+ --disable-rawparse\
+ --disable-videofilters\
+ --disable-yadif\
+ --disable-curl\
+ --disable-dtls\
+ --disable-fbdev\
+ --disable-uvch264\
+ --disable-vcd\
+ --disable-y4m\
+ --disable-adpcmenc\
+ --disable-aiff\
+ --disable-asfmux\
+ --disable-audiomixer\
+ --disable-compositor\
+ --disable-audiovisualizers\
+ --disable-bayer\
+ --disable-cdxaparse\
+ --disable-dataurisrc\
+ --disable-dccp\
+ --disable-dvbsuboverlay\
+ --disable-dvdspu\
+ --disable-faceoverlay\
+ --disable-festival\
+ --disable-freeverb\
+ --disable-frei0r\
+ --disable-gaudieffects\
+ --disable-geometrictransform\
+ --disable-hdvparse\
+ --disable-inter\
+ --disable-interlace\
+ --disable-ivfparse\
+ --disable-jp2kdecimator\
+ --disable-librfb\
+ --disable-mve\
+ --disable-mxf\
+ --disable-nuvdemux\
+ --disable-onvif\
+ --disable-pcapparse\
+ --disable-pnm\
+ --disable-removesilence\
+ --disable-sdi\
+ --disable-segmentclip\
+ --disable-siren\
+ --disable-smooth\
+ --disable-speed\
+ --disable-subenc\
+ --disable-stereo\
+ --disable-tta\
+ --disable-videomeasure\
+ --disable-videosignal\
+ --disable-vmnc\
+ --disable-opengl\
+ --enable-egl=yes\
+ --enable-wayland=yes\
+ --enable-gles2=yes\
+ --disable-glx\
+ --enable-openal=yes\
+ --disable-sndfile\
+ --disable-gtk-doc\
+ --disable-warnings-as-errors\
+ --disable-mpegpsmux
+ %__make %{?_smp_mflags} V=1
+
+ %install
+ %make_install
+ %find_lang %{name}-%{gst_branch}
+ mv %{name}-%{gst_branch}.lang %{name}.lang
+
+ %lang_package
+
+
+ %clean
+ rm -rf $RPM_BUILD_ROOT
+
+ %post -p /sbin/ldconfig
+
+
+ %postun -p /sbin/ldconfig
+
+
+ %files
+ %manifest %{name}.manifest
+ %defattr(-, root, root)
+ %license COPYING.LIB
+ %if "%{TIZEN_PRODUCT_TV}" != "1"
+ %{_libdir}/gstreamer-%{gst_branch}/libgstautoconvert.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstrtpbad.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfragmented.so
++%{_libdir}/gstreamer-%{gst_branch}/libgstcamerabin.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstcoloreffects.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstid3tag.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstjpegformat.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstmpegpsdemux.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstsmoothstreaming.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstdashdemux.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstopengl.so
-%{_libdir}/libgstadaptivedemux-1.0.so.0
-%{_libdir}/libgstadaptivedemux-1.0.so.0.601.0
-%{_libdir}/libgstgl-1.0.so.0
-%{_libdir}/libgstgl-1.0.so.0.601.0
+
+ %{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
+ %{_libdir}/libgstphotography-%{gst_branch}.so.0*
+ %{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
+ %{_libdir}/libgstbadbase-%{gst_branch}.so.0*
+ %{_libdir}/libgstbadvideo-%{gst_branch}.so.0*
+ %{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
-#%{_libdir}/gstreamer-%{gst_branch}/libgstadpcmdec.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstadpcmenc.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstasfmux.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstaudiovisualizers.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstbayer.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstcurl.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdataurisrc.so
++%{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
++%{_libdir}/libgstgl-%{gst_branch}.so.0*
+ %endif
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdvb.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdvbsuboverlay.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstfestival.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstgaudieffects.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstgdp.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstgeometrictransform.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstinter.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstinterlace.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstliveadder.so
-
+ %{_libdir}/gstreamer-%{gst_branch}/libgstdebugutilsbad.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstpcapparse.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstpnm.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstrawparse.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstremovesilence.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsdemux.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsmux.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstsegmentclip.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstsdpelem.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstsmooth.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstspeed.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstshm.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgsty4mdec.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdvdspu.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstfieldanalysis.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstfrei0r.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstsiren.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstsubenc.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstmpegpsmux.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdecklink.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstaccurip.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstaiff.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstaudiofxbad.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstfbdevsink.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstfreeverb.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstivtc.so
+ %{_libdir}/gstreamer-%{gst_branch}/libgstvideoparsersbad.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstmxf.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstrfbsrc.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstvideofiltersbad.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstyadif.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstuvch264.so
-
-
-%if %{with wayland}
-%{_libdir}/libgstwayland-%{gst_branch}.so.0*
-%{_libdir}/gstreamer-%{gst_branch}/libgstwaylandsink.so
-%endif
+ %{_libdir}/gstreamer-%{gst_branch}/libgstmidi.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstcompositor.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstdtls.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstrtponvif.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstvcdsrc.so
-#%{_libdir}/gstreamer-%{gst_branch}/libgstwaylandsink.so
-#%{_libdir}/libgstwayland-1.0.so.0
-#%{_libdir}/libgstwayland-1.0.so.0.601.0
-#/usr/share/gstreamer-%{gst_branch}/presets/GstFreeverb.prs
-
+ %{_libdir}/gstreamer-%{gst_branch}/libgstopenal.so
++%{_libdir}/gstreamer-%{gst_branch}/libgsthls.so
++%{_libdir}/gstreamer-%{gst_branch}/libgstnetsim.so
++%{_libdir}/gstreamer-%{gst_branch}/libgsttimecode.so
++%{_libdir}/gstreamer-%{gst_branch}/libgstvideoframe_audiolevel.so
++%{_libdir}/gstreamer-%{gst_branch}/libgstaudiomixmatrix.so
++%{_libdir}/gstreamer-%{gst_branch}/libgstaudiobuffersplit.so
+
+ %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
+ %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
-%if %{with wayland}
-%{_libdir}/pkgconfig/gstreamer-wayland-%{gst_branch}.pc
-%{_includedir}/gstreamer-%{gst_branch}/gst/wayland/wayland.h
-%endif
-
++%{_libdir}/libgstbadallocators-%{gst_branch}.so.0*
++%{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
++%{_libdir}/libgstplayer-%{gst_branch}.so.0*
+
+ %files devel
+ %manifest %{name}.manifest
+ %defattr(-, root, root)
+ %{_includedir}/gstreamer-%{gst_branch}
+ %if "%{TIZEN_PRODUCT_TV}" != "1"
+ %{_libdir}/gstreamer-%{gst_branch}/include/gst/gl/gstglconfig.h
+ %endif
+ %{_libdir}/*.so
+ %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
+ %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{gst_branch}.pc
+ %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
+ %{_libdir}/pkgconfig/gstreamer-mpegts-%{gst_branch}.pc
+ %{_libdir}/pkgconfig/gstreamer-gl-1.0.pc
++%{_libdir}/pkgconfig/gstreamer-bad-allocators-1.0.pc
++%{_libdir}/pkgconfig/gstreamer-bad-audio-1.0.pc
++%{_libdir}/pkgconfig/gstreamer-bad-base-1.0.pc
++%{_libdir}/pkgconfig/gstreamer-bad-video-1.0.pc
++%{_libdir}/pkgconfig/gstreamer-player-1.0.pc
/*
- * dvbbasebin.c -
+ * dvbbasebin.c -
* Copyright (C) 2007 Alessandro Decina
* Copyright (C) 2014 Samsung Electronics. All rights reserved.
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
- * Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+ * Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
pad_name = gst_pad_get_name (pad);
ghost = gst_ghost_pad_new (pad_name, pad);
+ gst_object_unref (pad);
g_free (pad_name);
gst_element_add_pad (element, ghost);
+ gst_object_unref(pad);
return ghost;
}