summaryrefslogtreecommitdiff
path: root/extra/gstreamer0.10-good
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-01 16:37:20 -0300
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-01 16:37:20 -0300
commit6124dfa10e2a69fc79efc85f611c8db582caf711 (patch)
treee9706ae64164967e8448140e9cb6534dfbb0a2a3 /extra/gstreamer0.10-good
parent385fda403f286573a778ee525fe56a86d11fc967 (diff)
parent5a81550adad5ccde4ad6924cfee2b2ef96d02c98 (diff)
Merge branch 'master' of gparabola:abslibre/abslibre-pre-mips64el
Conflicts: community/almanah/PKGBUILD community/audit/PKGBUILD community/bird/PKGBUILD community/blobby2/PKGBUILD community/blueman/PKGBUILD community/bomberclone/PKGBUILD community/botan/PKGBUILD community/cantata/PKGBUILD community/cinnamon-desktop/PKGBUILD community/cinnamon-settings-daemon/PKGBUILD community/cinnamon/PKGBUILD community/clearsilver/PKGBUILD community/clinica/PKGBUILD community/confuse/PKGBUILD community/deadbeef/PKGBUILD community/dvdrtools/PKGBUILD community/etl/PKGBUILD community/extremetuxracer/PKGBUILD community/fcitx-mozc/PKGBUILD community/flashrom/PKGBUILD community/freedroidrpg/PKGBUILD community/gcolor2/PKGBUILD community/geary/PKGBUILD community/glob2/PKGBUILD community/gnash/PKGBUILD community/gnome-commander/PKGBUILD community/gnome-settings-daemon-updates/PKGBUILD community/gnuchess/PKGBUILD community/haskell-bytestring-show/PKGBUILD community/haskell-hslogger/PKGBUILD community/haskell-vector/PKGBUILD community/hedgewars/PKGBUILD community/hitori/PKGBUILD community/inputattach/PKGBUILD community/jack2/PKGBUILD community/kid3/PKGBUILD community/lcdproc/PKGBUILD community/libcec/PKGBUILD community/libvirt/PKGBUILD community/libwww/PKGBUILD community/lightdm/PKGBUILD community/lincity-ng/PKGBUILD community/linux-tools/PKGBUILD community/linuxtv-dvb-apps/PKGBUILD community/lockdev/PKGBUILD community/log4cpp/PKGBUILD community/love/PKGBUILD community/luajit/PKGBUILD community/lxc/PKGBUILD community/metamail/PKGBUILD community/mingw32-binutils/PKGBUILD community/mingw32-gcc/PKGBUILD community/mingw32-pthreads/PKGBUILD community/mongodb/PKGBUILD community/nemo/PKGBUILD community/par2cmdline/PKGBUILD community/pdfedit/PKGBUILD community/perl-json-xs/PKGBUILD community/pidgin-talkfilters/PKGBUILD community/pokerth/PKGBUILD community/setconf/PKGBUILD community/stfl/PKGBUILD community/talkfilters/PKGBUILD community/tre/PKGBUILD community/ubuntuone-client-gnome/PKGBUILD community/ubuntuone-client/PKGBUILD community/vor/PKGBUILD community/warmux/PKGBUILD community/wdm/PKGBUILD community/xbmc-pvr-addons/PKGBUILD core/gcc/PKGBUILD core/lvm2/PKGBUILD core/systemd/PKGBUILD core/sysvinit-tools/PKGBUILD extra/aubio/PKGBUILD extra/avidemux/PKGBUILD extra/bluez4/PKGBUILD extra/boost/PKGBUILD extra/calligra/PKGBUILD extra/caribou/PKGBUILD extra/chemtool/PKGBUILD extra/cinepaint/PKGBUILD extra/conky/PKGBUILD extra/cups/PKGBUILD extra/enlightenment16/PKGBUILD extra/exo/PKGBUILD extra/fakechroot/PKGBUILD extra/farstream-0.1/PKGBUILD extra/ffmpeg-compat/PKGBUILD extra/fltk/PKGBUILD extra/git/PKGBUILD extra/gpart/PKGBUILD extra/gstreamer0.10-base/PKGBUILD extra/gstreamer0.10-ffmpeg/PKGBUILD extra/gstreamer0.10-good/PKGBUILD extra/gstreamer0.10-ugly/PKGBUILD extra/gtk-vnc/PKGBUILD extra/haveged/PKGBUILD extra/icewm/PKGBUILD extra/imagemagick/PKGBUILD extra/kactivities/PKGBUILD extra/kdeaccessibility-jovie/PKGBUILD extra/kdeaccessibility-kaccessible/PKGBUILD extra/kdeaccessibility-kmag/PKGBUILD extra/kdeaccessibility-kmousetool/PKGBUILD extra/kdeaccessibility-kmouth/PKGBUILD extra/kdeadmin-kcron/PKGBUILD extra/kdeadmin-ksystemlog/PKGBUILD extra/kdeadmin-kuser/PKGBUILD extra/kdeartwork/PKGBUILD extra/kdebase-konsole/PKGBUILD extra/kdebase-workspace/PKGBUILD extra/kdebase/PKGBUILD extra/kdebindings-kimono/PKGBUILD extra/kdebindings-korundum/PKGBUILD extra/kdebindings-kross/PKGBUILD extra/kdebindings-perlkde/PKGBUILD extra/kdebindings-perlqt/PKGBUILD extra/kdebindings-python/PKGBUILD extra/kdebindings-qtruby/PKGBUILD extra/kdebindings-qyoto/PKGBUILD extra/kdebindings-smokegen/PKGBUILD extra/kdebindings-smokekde/PKGBUILD extra/kdebindings-smokeqt/PKGBUILD extra/kdeedu-analitza/PKGBUILD extra/kdeedu-blinken/PKGBUILD extra/kdeedu-cantor/PKGBUILD extra/kdeedu-kalgebra/PKGBUILD extra/kdeedu-kalzium/PKGBUILD extra/kdeedu-kanagram/PKGBUILD extra/kdeedu-kbruch/PKGBUILD extra/kdeedu-kgeography/PKGBUILD extra/kdeedu-khangman/PKGBUILD extra/kdeedu-kig/PKGBUILD extra/kdeedu-kiten/PKGBUILD extra/kdeedu-klettres/PKGBUILD extra/kdeedu-kmplot/PKGBUILD extra/kdeedu-kstars/PKGBUILD extra/kdeedu-ktouch/PKGBUILD extra/kdeedu-kturtle/PKGBUILD extra/kdeedu-kwordquiz/PKGBUILD extra/kdeedu-marble/PKGBUILD extra/kdeedu-pairs/PKGBUILD extra/kdeedu-parley/PKGBUILD extra/kdeedu-rocs/PKGBUILD extra/kdeedu-step/PKGBUILD extra/kdegames-bomber/PKGBUILD extra/kdegames-bovo/PKGBUILD extra/kdegames-granatier/PKGBUILD extra/kdegames-kapman/PKGBUILD extra/kdegames-katomic/PKGBUILD extra/kdegames-kblackbox/PKGBUILD extra/kdegames-kblocks/PKGBUILD extra/kdegames-kbounce/PKGBUILD extra/kdegames-kbreakout/PKGBUILD extra/kdegames-kdiamond/PKGBUILD extra/kdegames-kfourinline/PKGBUILD extra/kdegames-kgoldrunner/PKGBUILD extra/kdegames-kigo/PKGBUILD extra/kdegames-killbots/PKGBUILD extra/kdegames-kiriki/PKGBUILD extra/kdegames-kjumpingcube/PKGBUILD extra/kdegames-klickety/PKGBUILD extra/kdegames-klines/PKGBUILD extra/kdegames-kmahjongg/PKGBUILD extra/kdegames-kmines/PKGBUILD extra/kdegames-knavalbattle/PKGBUILD extra/kdegames-knetwalk/PKGBUILD extra/kdegames-kolf/PKGBUILD extra/kdegames-kollision/PKGBUILD extra/kdegames-konquest/PKGBUILD extra/kdegames-kpatience/PKGBUILD extra/kdegames-kreversi/PKGBUILD extra/kdegames-kshisen/PKGBUILD extra/kdegames-ksirk/PKGBUILD extra/kdegames-ksnakeduel/PKGBUILD extra/kdegames-kspaceduel/PKGBUILD extra/kdegames-ksquares/PKGBUILD extra/kdegames-ksudoku/PKGBUILD extra/kdegames-ktuberling/PKGBUILD extra/kdegames-kubrick/PKGBUILD extra/kdegames-lskat/PKGBUILD extra/kdegames-palapeli/PKGBUILD extra/kdegames-picmi/PKGBUILD extra/kdegraphics-gwenview/PKGBUILD extra/kdegraphics-kamera/PKGBUILD extra/kdegraphics-kcolorchooser/PKGBUILD extra/kdegraphics-kgamma/PKGBUILD extra/kdegraphics-kolourpaint/PKGBUILD extra/kdegraphics-kruler/PKGBUILD extra/kdegraphics-ksaneplugin/PKGBUILD extra/kdegraphics-ksnapshot/PKGBUILD extra/kdegraphics-mobipocket/PKGBUILD extra/kdegraphics-okular/PKGBUILD extra/kdegraphics-strigi-analyzer/PKGBUILD extra/kdegraphics-svgpart/PKGBUILD extra/kdegraphics-thumbnailers/PKGBUILD extra/kdemultimedia-audiocd-kio/PKGBUILD extra/kdemultimedia-dragonplayer/PKGBUILD extra/kdemultimedia-ffmpegthumbs/PKGBUILD extra/kdemultimedia-juk/PKGBUILD extra/kdemultimedia-kmix/PKGBUILD extra/kdemultimedia-kscd/PKGBUILD extra/kdemultimedia-mplayerthumbs/PKGBUILD extra/kdenetwork-filesharing/PKGBUILD extra/kdenetwork-kdnssd/PKGBUILD extra/kdenetwork-kget/PKGBUILD extra/kdenetwork-kppp/PKGBUILD extra/kdenetwork-krdc/PKGBUILD extra/kdenetwork-krfb/PKGBUILD extra/kdenetwork-strigi-analyzers/PKGBUILD extra/kdepim-runtime/PKGBUILD extra/kdepim/PKGBUILD extra/kdepimlibs/PKGBUILD extra/kdeplasma-addons/PKGBUILD extra/kdesdk-cervisia/PKGBUILD extra/kdesdk-dev-scripts/PKGBUILD extra/kdesdk-dev-utils/PKGBUILD extra/kdesdk-dolphin-plugins/PKGBUILD extra/kdesdk-kapptemplate/PKGBUILD extra/kdesdk-kate/PKGBUILD extra/kdesdk-kcachegrind/PKGBUILD extra/kdesdk-kioslaves/PKGBUILD extra/kdesdk-kompare/PKGBUILD extra/kdesdk-lokalize/PKGBUILD extra/kdesdk-okteta/PKGBUILD extra/kdesdk-poxml/PKGBUILD extra/kdesdk-strigi-analyzers/PKGBUILD extra/kdesdk-thumbnailers/PKGBUILD extra/kdesdk-umbrello/PKGBUILD extra/kdetoys-amor/PKGBUILD extra/kdetoys-kteatime/PKGBUILD extra/kdetoys-ktux/PKGBUILD extra/kdeutils-filelight/PKGBUILD extra/kdeutils-kcalc/PKGBUILD extra/kdeutils-kcharselect/PKGBUILD extra/kdeutils-kdf/PKGBUILD extra/kdeutils-kfloppy/PKGBUILD extra/kdeutils-kgpg/PKGBUILD extra/kdeutils-kremotecontrol/PKGBUILD extra/kdeutils-ktimer/PKGBUILD extra/kdeutils-kwallet/PKGBUILD extra/kdeutils-print-manager/PKGBUILD extra/kdeutils-superkaramba/PKGBUILD extra/kdeutils-sweeper/PKGBUILD extra/kdewebdev/PKGBUILD extra/kino/PKGBUILD extra/libdrm/PKGBUILD extra/libiec61883/PKGBUILD extra/libkcddb/PKGBUILD extra/libkcompactdisc/PKGBUILD extra/libkdcraw/PKGBUILD extra/libkdeedu/PKGBUILD extra/libkdegames/PKGBUILD extra/libkexiv2/PKGBUILD extra/libkipi/PKGBUILD extra/libkmahjongg/PKGBUILD extra/libksane/PKGBUILD extra/libmikmod/PKGBUILD extra/libmp4v2/PKGBUILD extra/libnet/PKGBUILD extra/libpst/PKGBUILD extra/libsidplay/PKGBUILD extra/libsigsegv/PKGBUILD extra/libvpx/PKGBUILD extra/libxmi/PKGBUILD extra/lua51/PKGBUILD extra/mariadb/PKGBUILD extra/maxima/PKGBUILD extra/mesa/PKGBUILD extra/mjpegtools/PKGBUILD extra/mkvtoolnix/PKGBUILD extra/nepomuk-core/PKGBUILD extra/nepomuk-widgets/PKGBUILD extra/obexd/PKGBUILD extra/opencv/PKGBUILD extra/perl-dbd-mysql/PKGBUILD extra/phonon-gstreamer/PKGBUILD extra/phonon-vlc/PKGBUILD extra/phonon/PKGBUILD extra/plotutils/PKGBUILD extra/postgresql/PKGBUILD extra/pycrypto/PKGBUILD extra/python/PKGBUILD extra/qt4/PKGBUILD extra/qt5/PKGBUILD extra/rcs/PKGBUILD extra/rdesktop/PKGBUILD extra/rtmpdump/PKGBUILD extra/ruby/PKGBUILD extra/signon/PKGBUILD extra/sqlite/PKGBUILD extra/vigra/PKGBUILD extra/vim/PKGBUILD extra/vlc/PKGBUILD extra/w3m/PKGBUILD extra/wcslib/PKGBUILD extra/windowmaker/PKGBUILD extra/x264/PKGBUILD extra/xaos/PKGBUILD extra/xmlto/PKGBUILD libre/angband-libre/PKGBUILD libre/hplip-libre/PKGBUILD libre/kdebase-konqueror-libre/PKGBUILD libre/kdebase-runtime-libre/PKGBUILD libre/kdelibs-libre/PKGBUILD libre/kdenetwork-kopete-libre/PKGBUILD libre/kdepim-libre/PKGBUILD libre/kdeutils-ark-libre/PKGBUILD libre/linux-libre/PKGBUILD libre/mc-libre/PKGBUILD libre/xbmc-libre/PKGBUILD nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD nonprism/kdepim-runtime-nonprism/PKGBUILD pcr/libquvi-scripts-current/PKGBUILD
Diffstat (limited to 'extra/gstreamer0.10-good')
-rw-r--r--extra/gstreamer0.10-good/PKGBUILD32
-rw-r--r--extra/gstreamer0.10-good/linux-3.6.patch31
-rw-r--r--extra/gstreamer0.10-good/test-rtp-payloading.patch422
3 files changed, 438 insertions, 47 deletions
diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD
index 4831eb827..4721a06b2 100644
--- a/extra/gstreamer0.10-good/PKGBUILD
+++ b/extra/gstreamer0.10-good/PKGBUILD
@@ -1,36 +1,36 @@
-# $Id: PKGBUILD 198065 2013-10-30 12:35:19Z allan $
+# $Id: PKGBUILD 201392 2013-12-10 15:08:37Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gstreamer0.10-good
pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins')
pkgver=0.10.31
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
-makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'udev' 'gtk-doc')
+makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'gtk-doc' 'git' 'cairo')
url="http://gstreamer.freedesktop.org/"
options=(!emptydirs)
-source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz
- linux-3.6.patch)
-sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64'
- 'd14a9ebfdbff69a3dd27057d764ad0c68f62aa6ae9f20bb62a0d09b29c0c2cfe')
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good#commit=e28fd8886f05bb51c147f871f3a1db2fc2b735a9"
+ test-rtp-payloading.patch)
+sha256sums=('SKIP'
+ 'c2f7f07f9bf5ca3afddc81d0a44665d2d54b1e9aea0ef1b25d219cf34bf7bb29')
prepare() {
- cd "${srcdir}/gst-plugins-good-${pkgver}"
- # https://bugzilla.gnome.org/show_bug.cgi?id=681491
- patch -Np1 -i "${srcdir}/linux-3.6.patch"
+ cd gst-plugins-good
sed -i '/AC_PATH_XTRA/d' configure.ac
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
- ./autogen.sh
+ patch -Np1 -i ../test-rtp-payloading.patch
}
build() {
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
+ NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--disable-static --enable-experimental \
--disable-schemas-install \
--disable-hal \
--disable-esd \
+ --enable-gtk-doc \
--with-package-name="GStreamer Good Plugins (Parabola)" \
--with-package-origin="https://parabolagnulinux.org/"
@@ -39,7 +39,7 @@ build() {
}
check() {
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
make check
}
@@ -47,20 +47,20 @@ package_gstreamer0.10-good() {
depends=('gstreamer0.10-base>=0.10.34' 'bzip2')
pkgdesc="GStreamer Multimedia Framework Good plugin libraries"
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}/etc/gconf"
}
package_gstreamer0.10-good-plugins() {
- depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse' 'udev')
+ depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse' 'cairo' 'gdk-pixbuf2')
pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)"
groups=('gstreamer0.10-plugins')
replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
install=gstreamer0.10-good-plugins.install
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
make -C sys DESTDIR="${pkgdir}" install
make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
diff --git a/extra/gstreamer0.10-good/linux-3.6.patch b/extra/gstreamer0.10-good/linux-3.6.patch
deleted file mode 100644
index aad179198..000000000
--- a/extra/gstreamer0.10-good/linux-3.6.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bfb1ac952b4c3caaba0297bbe7dc73ea92f9b292 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Thu, 09 Aug 2012 07:35:23 +0000
-Subject: v4l2: fix build with recent kernels, the v4l2_buffer input field was removed
-
-This was unused apparently and removed in the kernel in commit:
-
- From 2b719d7baf490e24ce7d817c6337b7c87fda84c1 Mon Sep 17 00:00:00 2001
- From: Sakari Ailus <sakari.ailus@iki.fi>
- Date: Wed, 2 May 2012 09:40:03 -0300
- Subject: [PATCH] [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT
-
- Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which
- tells the former is valid. The flag is used by no driver currently.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681491
----
-diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
-index 2e3a563..5aaed5a 100644
---- a/sys/v4l2/gstv4l2bufferpool.c
-+++ b/sys/v4l2/gstv4l2bufferpool.c
-@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
- GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u",
- ret->vbuffer.m.offset);
- GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length);
-- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input);
-
- ret->mmap_length = ret->vbuffer.length;
- data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
---
-cgit v0.9.0.2-2-gbebe
diff --git a/extra/gstreamer0.10-good/test-rtp-payloading.patch b/extra/gstreamer0.10-good/test-rtp-payloading.patch
new file mode 100644
index 000000000..e8a943136
--- /dev/null
+++ b/extra/gstreamer0.10-good/test-rtp-payloading.patch
@@ -0,0 +1,422 @@
+From dca42d4767adff3578e5d5990604766735ec1f9b Mon Sep 17 00:00:00 2001
+From: Tim-Philipp Müller <tim.muller@collabora.co.uk>
+Date: Fri, 10 Feb 2012 13:44:43 +0000
+Subject: tests: clean up rtp-payloading test a little
+
+Feed data into the pipeline using appsrc instead of fdsrc and
+a pipe. Store unsigned byte values in guint8 instead of char.
+Getting rid of the capsfilter also helps to avoid 'format is
+not fully specified' warnings when pushing "video/x-h264" data
+into rtph264pay with fully specified h264 caps in the sink template.
+---
+diff --git a/tests/check/elements/rtp-payloading.c b/tests/check/elements/rtp-payloading.c
+index b2160f4..7b4985b 100644
+--- a/tests/check/elements/rtp-payloading.c
++++ b/tests/check/elements/rtp-payloading.c
+@@ -31,13 +31,11 @@
+ typedef struct
+ {
+ GstElement *pipeline;
+- GstElement *fdsrc;
+- GstElement *capsfilter;
++ GstElement *appsrc;
+ GstElement *rtppay;
+ GstElement *rtpdepay;
+ GstElement *fakesink;
+- int fd[2];
+- const char *frame_data;
++ const guint8 *frame_data;
+ int frame_data_size;
+ int frame_count;
+ } rtp_pipeline;
+@@ -140,13 +138,11 @@ rtp_bus_callback (GstBus * bus, GstMessage * message, gpointer data)
+ * The user must free the RTP pipeline when it's not used anymore.
+ */
+ static rtp_pipeline *
+-rtp_pipeline_create (const char *frame_data, int frame_data_size,
++rtp_pipeline_create (const guint8 * frame_data, int frame_data_size,
+ int frame_count, const char *filtercaps, const char *pay, const char *depay)
+ {
+ gchar *pipeline_name;
+-
+ rtp_pipeline *p;
+-
+ GstCaps *caps;
+
+ /* Check parameters. */
+@@ -165,60 +161,39 @@ rtp_pipeline_create (const char *frame_data, int frame_data_size,
+ pipeline_name = g_strdup_printf ("%s-%s-pipeline", pay, depay);
+ p->pipeline = gst_pipeline_new (pipeline_name);
+ g_free (pipeline_name);
+- p->fdsrc = gst_element_factory_make ("fdsrc", NULL);
+- p->capsfilter = gst_element_factory_make ("capsfilter", NULL);
++ p->appsrc = gst_element_factory_make ("appsrc", NULL);
+ p->rtppay = gst_element_factory_make (pay, NULL);
+ p->rtpdepay = gst_element_factory_make (depay, NULL);
+ p->fakesink = gst_element_factory_make ("fakesink", NULL);
+
+ /* One or more elements are not created successfully or failed to create p? */
+- if (!p->pipeline || !p->fdsrc || !p->capsfilter || !p->rtppay || !p->rtpdepay
+- || !p->fakesink || pipe (p->fd) == -1) {
++ if (!p->pipeline || !p->appsrc || !p->rtppay || !p->rtpdepay || !p->fakesink) {
+ /* Release created elements. */
+ RELEASE_ELEMENT (p->pipeline);
+- RELEASE_ELEMENT (p->fdsrc);
+- RELEASE_ELEMENT (p->capsfilter);
++ RELEASE_ELEMENT (p->appsrc);
+ RELEASE_ELEMENT (p->rtppay);
+ RELEASE_ELEMENT (p->rtpdepay);
+ RELEASE_ELEMENT (p->fakesink);
+
+- /* Close pipe. */
+- if (p->fd[0]) {
+- close (p->fd[0]);
+- }
+-
+- if (p->fd[1]) {
+- close (p->fd[1]);
+- }
+-
+ /* Release allocated memory. */
+ free (p);
+
+ return NULL;
+ }
+
+- /* Set fdsrc properties. */
+- g_object_set (p->fdsrc, "fd", p->fd[0], NULL);
+- g_object_set (p->fdsrc, "do-timestamp", TRUE, NULL);
+- g_object_set (p->fdsrc, "blocksize", p->frame_data_size, NULL);
+- g_object_set (p->fdsrc, "num-buffers", p->frame_count * LOOP_COUNT, NULL);
+-
+- /* Set caps filters. */
++ /* Set src properties. */
+ caps = gst_caps_from_string (filtercaps);
+-
+- g_object_set (p->capsfilter, "caps", caps, NULL);
++ g_object_set (p->appsrc, "do-timestamp", TRUE, "caps", caps, NULL);
+ gst_caps_unref (caps);
+
+ /* Add elements to the pipeline. */
+- gst_bin_add (GST_BIN (p->pipeline), p->fdsrc);
+- gst_bin_add (GST_BIN (p->pipeline), p->capsfilter);
++ gst_bin_add (GST_BIN (p->pipeline), p->appsrc);
+ gst_bin_add (GST_BIN (p->pipeline), p->rtppay);
+ gst_bin_add (GST_BIN (p->pipeline), p->rtpdepay);
+ gst_bin_add (GST_BIN (p->pipeline), p->fakesink);
+
+ /* Link elements. */
+- gst_element_link (p->fdsrc, p->capsfilter);
+- gst_element_link (p->capsfilter, p->rtppay);
++ gst_element_link (p->appsrc, p->rtppay);
+ gst_element_link (p->rtppay, p->rtpdepay);
+ gst_element_link (p->rtpdepay, p->fakesink);
+
+@@ -240,15 +215,6 @@ rtp_pipeline_destroy (rtp_pipeline * p)
+ /* Release pipeline. */
+ RELEASE_ELEMENT (p->pipeline);
+
+- /* Close pipe. */
+- if (p->fd[0]) {
+- close (p->fd[0]);
+- }
+-
+- if (p->fd[1]) {
+- close (p->fd[1]);
+- }
+-
+ /* Release allocated memory. */
+ free (p);
+ }
+@@ -260,11 +226,10 @@ rtp_pipeline_destroy (rtp_pipeline * p)
+ static void
+ rtp_pipeline_run (rtp_pipeline * p)
+ {
++ GstFlowReturn flow_ret;
+ GMainLoop *mainloop = NULL;
+-
+ GstBus *bus;
+-
+- gint i;
++ gint i, j;
+
+ /* Check parameters. */
+ if (p == NULL) {
+@@ -286,22 +251,28 @@ rtp_pipeline_run (rtp_pipeline * p)
+ /* Set pipeline to PLAYING. */
+ gst_element_set_state (p->pipeline, GST_STATE_PLAYING);
+
+- /* TODO: Writing may need some changes... */
+-
++ /* Push data into the pipeline */
+ for (i = 0; i < LOOP_COUNT; i++) {
+- const char *frame_data_pointer = p->frame_data;
+- int res;
+- int frame_count = p->frame_count;
+-
+- /* Write in to the pipe. */
+- while (frame_count > 0) {
+- res = write (p->fd[1], frame_data_pointer, p->frame_data_size);
+- fail_unless_equals_int (res, p->frame_data_size);
+- frame_data_pointer += p->frame_data_size;
+- frame_count--;
++ const guint8 *data = p->frame_data;
++
++ for (j = 0; j < p->frame_count; j++) {
++ GstBuffer *buf;
++
++ buf = gst_buffer_new ();
++ GST_BUFFER_DATA (buf) = (guint8 *) data;
++ GST_BUFFER_SIZE (buf) = p->frame_data_size;
++ GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_READONLY);
++
++ g_signal_emit_by_name (p->appsrc, "push-buffer", buf, &flow_ret);
++ fail_unless_equals_int (flow_ret, GST_FLOW_OK);
++ data += p->frame_data_size;
++
++ gst_buffer_unref (buf);
+ }
+ }
+
++ g_signal_emit_by_name (p->appsrc, "end-of-stream", &flow_ret);
++
+ /* Run mainloop. */
+ g_main_loop_run (mainloop);
+
+@@ -350,8 +321,8 @@ rtp_pipeline_enable_lists (rtp_pipeline * p, guint mtu_size)
+ * @use_lists enable buffer lists
+ */
+ static void
+-rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count,
+- const char *filtercaps, const char *pay, const char *depay,
++rtp_pipeline_test (const guint8 * frame_data, int frame_data_size,
++ int frame_count, const char *filtercaps, const char *pay, const char *depay,
+ guint bytes_sent, guint mtu_size, gboolean use_lists)
+ {
+ /* Create RTP pipeline. */
+@@ -380,7 +351,7 @@ rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count,
+ }
+ }
+
+-static char rtp_ilbc_frame_data[] =
++static const guint8 rtp_ilbc_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -397,7 +368,7 @@ GST_START_TEST (rtp_ilbc)
+ }
+
+ GST_END_TEST;
+-static char rtp_gsm_frame_data[] =
++static const guint8 rtp_gsm_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -414,7 +385,7 @@ GST_START_TEST (rtp_gsm)
+ }
+
+ GST_END_TEST;
+-static char rtp_amr_frame_data[] =
++static const guint8 rtp_amr_frame_data[] =
+ { 0x3c, 0x24, 0x03, 0xb3, 0x48, 0x10, 0x68, 0x46, 0x6c, 0xec, 0x03,
+ 0x7a, 0x37, 0x16, 0x41, 0x41, 0xc0, 0x00, 0x0d, 0xcd, 0x12, 0xed,
+ 0xad, 0x80, 0x00, 0x00, 0x11, 0x31, 0x00, 0x00, 0x0d, 0xa0
+@@ -432,7 +403,7 @@ GST_START_TEST (rtp_amr)
+ }
+
+ GST_END_TEST;
+-static char rtp_pcma_frame_data[] =
++static const guint8 rtp_pcma_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -449,7 +420,7 @@ GST_START_TEST (rtp_pcma)
+ }
+
+ GST_END_TEST;
+-static char rtp_pcmu_frame_data[] =
++static const guint8 rtp_pcmu_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -466,7 +437,7 @@ GST_START_TEST (rtp_pcmu)
+ }
+
+ GST_END_TEST;
+-static char rtp_mpa_frame_data[] =
++static const guint8 rtp_mpa_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -483,7 +454,7 @@ GST_START_TEST (rtp_mpa)
+ }
+
+ GST_END_TEST;
+-static char rtp_h263_frame_data[] =
++static const guint8 rtp_h263_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -495,12 +466,12 @@ static int rtp_h263_frame_count = 1;
+ GST_START_TEST (rtp_h263)
+ {
+ rtp_pipeline_test (rtp_h263_frame_data, rtp_h263_frame_data_size,
+- rtp_h263_frame_count, "video/x-h263,variant=itu,h263version=h263",
++ rtp_h263_frame_count, "video/x-h263,variant=(string)itu,h263version=h263",
+ "rtph263pay", "rtph263depay", 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h263p_frame_data[] =
++static const guint8 rtp_h263p_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -512,12 +483,12 @@ static int rtp_h263p_frame_count = 1;
+ GST_START_TEST (rtp_h263p)
+ {
+ rtp_pipeline_test (rtp_h263p_frame_data, rtp_h263p_frame_data_size,
+- rtp_h263p_frame_count, "video/x-h263,variant=itu", "rtph263ppay",
++ rtp_h263p_frame_count, "video/x-h263,variant=(string)itu", "rtph263ppay",
+ "rtph263pdepay", 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_frame_data[] =
++static const guint8 rtp_h264_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -528,13 +499,14 @@ static int rtp_h264_frame_count = 1;
+
+ GST_START_TEST (rtp_h264)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_frame_data, rtp_h264_frame_data_size,
+ rtp_h264_frame_count, "video/x-h264", "rtph264pay", "rtph264depay",
+ 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_list_lt_mtu_frame_data[] =
++static const guint8 rtp_h264_list_lt_mtu_frame_data[] =
+ /* not packetized, next NAL starts with 0001 */
+ { 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+@@ -552,6 +524,7 @@ static int rtp_h264_list_lt_mtu_mtu_size = 1024;
+
+ GST_START_TEST (rtp_h264_list_lt_mtu)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_list_lt_mtu_frame_data,
+ rtp_h264_list_lt_mtu_frame_data_size, rtp_h264_list_lt_mtu_frame_count,
+ "video/x-h264", "rtph264pay", "rtph264depay",
+@@ -559,7 +532,7 @@ GST_START_TEST (rtp_h264_list_lt_mtu)
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_list_gt_mtu_frame_data[] =
++static const guint8 rtp_h264_list_gt_mtu_frame_data[] =
+ /* not packetized, next NAL starts with 0001 */
+ { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+@@ -580,6 +553,7 @@ static int rtp_h264_list_gt_mtu_mty_size = 28;
+
+ GST_START_TEST (rtp_h264_list_gt_mtu)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_list_gt_mtu_frame_data,
+ rtp_h264_list_gt_mtu_frame_data_size, rtp_h264_list_gt_mtu_frame_count,
+ "video/x-h264", "rtph264pay", "rtph264depay",
+@@ -587,7 +561,7 @@ GST_START_TEST (rtp_h264_list_gt_mtu)
+ }
+
+ GST_END_TEST;
+-static char rtp_L16_frame_data[] =
++static const guint8 rtp_L16_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -605,7 +579,7 @@ GST_START_TEST (rtp_L16)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp2t_frame_data[] =
++static const guint8 rtp_mp2t_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -622,7 +596,7 @@ GST_START_TEST (rtp_mp2t)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4v_frame_data[] =
++static const guint8 rtp_mp4v_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -639,7 +613,7 @@ GST_START_TEST (rtp_mp4v)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4v_list_frame_data[] =
++static const guint8 rtp_mp4v_list_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -659,7 +633,7 @@ GST_START_TEST (rtp_mp4v_list)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4g_frame_data[] =
++static const guint8 rtp_mp4g_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -677,7 +651,7 @@ GST_START_TEST (rtp_mp4g)
+ }
+
+ GST_END_TEST;
+-static char rtp_theora_frame_data[] =
++static const guint8 rtp_theora_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -694,7 +668,7 @@ GST_START_TEST (rtp_theora)
+ }
+
+ GST_END_TEST;
+-static char rtp_vorbis_frame_data[] =
++static const guint8 rtp_vorbis_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -711,7 +685,7 @@ GST_START_TEST (rtp_vorbis)
+ }
+
+ GST_END_TEST;
+-static char rtp_jpeg_frame_data[] =
++static const guint8 rtp_jpeg_frame_data[] =
+ { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08,
+ 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08,
+ /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08,
+@@ -738,7 +712,7 @@ GST_START_TEST (rtp_jpeg)
+ }
+
+ GST_END_TEST;
+-static char rtp_jpeg_list_frame_data[] =
++static const guint8 rtp_jpeg_list_frame_data[] =
+ { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08,
+ 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08,
+ /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08,
+@@ -767,7 +741,7 @@ GST_START_TEST (rtp_jpeg_list)
+ }
+
+ GST_END_TEST;
+-static char rtp_g729_frame_data[] =
++static const guint8 rtp_g729_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+--
+cgit v0.9.0.2-2-gbebe