diff options
Diffstat (limited to 'multimedia/gst0-plugins-good')
-rw-r--r-- | multimedia/gst0-plugins-good/README | 3 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/gst0-plugins-good.SlackBuild | 116 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/gst0-plugins-good.info | 10 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/patches/00-test-rtp-payloading.patch | 422 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/patches/01-souptest.patch | 28 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/patches/02-v4l.compile.fixes.diff | 57 | ||||
-rw-r--r-- | multimedia/gst0-plugins-good/slack-desc | 19 |
7 files changed, 655 insertions, 0 deletions
diff --git a/multimedia/gst0-plugins-good/README b/multimedia/gst0-plugins-good/README new file mode 100644 index 0000000000..c599a59421 --- /dev/null +++ b/multimedia/gst0-plugins-good/README @@ -0,0 +1,3 @@ +GStreamer Good Plug-ins is a set of plug-ins that have good quality +code, correct functionality, and a good license (LGPL for the plug-in +code, LGPL or LGPL-compatible for the supporting library). diff --git a/multimedia/gst0-plugins-good/gst0-plugins-good.SlackBuild b/multimedia/gst0-plugins-good/gst0-plugins-good.SlackBuild new file mode 100644 index 0000000000..ffa1a81d3e --- /dev/null +++ b/multimedia/gst0-plugins-good/gst0-plugins-good.SlackBuild @@ -0,0 +1,116 @@ +#!/bin/sh + +# Slackware build script for gst0-plugins-good + +# Copyright 2008 Michiel van Wessem <michiel@slackbuilds.org> +# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=gst0-plugins-good +SRCNAM=gst-plugins-good +VERSION=${VERSION:-0.10.31} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +DOCS="ABOUT-NLS AUTHORS COPYING* INSTALL NEWS README* RELEASE REQUIREMENTS" + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.xz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Thanks AUR for the patches +sed -i '/AC_PATH_XTRA/d' configure.ac +sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac + +for i in $CWD/patches/* ; do patch -p1 < $i ; done + +NOCONFIGURE=1 ./autogen.sh +find . -name 'Makefile.in' -exec sed -i -e 's/\\#include/#include/g' {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --disable-debug \ + --disable-static \ + --build=$ARCH-slackware-linux + +#quick and dirty fix + echo "#define GST_PLUGIN_DEFINE2(a,b,c,d,e,f,g,h,i) GST_PLUGIN_DEFINE(a,b, #c ,d,e,f,g,h,i)" >> config.h + +make +make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install DESTDIR=$PKG +rm -fR $PKG/etc/gconf + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/multimedia/gst0-plugins-good/gst0-plugins-good.info b/multimedia/gst0-plugins-good/gst0-plugins-good.info new file mode 100644 index 0000000000..3565b78242 --- /dev/null +++ b/multimedia/gst0-plugins-good/gst0-plugins-good.info @@ -0,0 +1,10 @@ +PRGNAM="gst0-plugins-good" +VERSION="0.10.31" +HOMEPAGE="https://gstreamer.freedesktop.org" +DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.xz" +MD5SUM="555845ceab722e517040bab57f9ace95" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="gst0-plugins-base" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/multimedia/gst0-plugins-good/patches/00-test-rtp-payloading.patch b/multimedia/gst0-plugins-good/patches/00-test-rtp-payloading.patch new file mode 100644 index 0000000000..e8a9431360 --- /dev/null +++ b/multimedia/gst0-plugins-good/patches/00-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 diff --git a/multimedia/gst0-plugins-good/patches/01-souptest.patch b/multimedia/gst0-plugins-good/patches/01-souptest.patch new file mode 100644 index 0000000000..a025eb6b98 --- /dev/null +++ b/multimedia/gst0-plugins-good/patches/01-souptest.patch @@ -0,0 +1,28 @@ +From 5765db50a19498e3d1576b4279cb2ca984da9dcd Mon Sep 17 00:00:00 2001 +From: Edward Hervey <bilboed@bilboed.com> +Date: Tue, 23 Sep 2014 09:47:31 +0200 +Subject: check/soup: Temporarily disable G_ENABLE_DIAGNOSTIC + +The SOUP_SERVER_PORT property has been deprecated in recent libsoup +versions. + +diff --git a/tests/check/elements/souphttpsrc.c b/tests/check/elements/souphttpsrc.c +index 33431ac..dfb682b 100644 +--- a/tests/check/elements/souphttpsrc.c ++++ b/tests/check/elements/souphttpsrc.c +@@ -602,7 +602,12 @@ run_server (guint * http_port, guint * https_port) + + *http_port = *https_port = 0; + ++ /* The G_ENABLE_DIAGNOSTIC is temporarily overriden to avoid ++ * property deprecation warnings (for the SOUP_SERVER_PORT ++ * property) */ ++ g_setenv ("G_ENABLE_DIAGNOSTIC", "0", TRUE); + server = soup_server_new (SOUP_SERVER_PORT, port, NULL); ++ g_setenv ("G_ENABLE_DIAGNOSTIC", "1", TRUE); + if (!server) { + GST_DEBUG ("Unable to bind to server port %u", port); + return FALSE; +-- +cgit v0.10.2 + diff --git a/multimedia/gst0-plugins-good/patches/02-v4l.compile.fixes.diff b/multimedia/gst0-plugins-good/patches/02-v4l.compile.fixes.diff new file mode 100644 index 0000000000..e03fdac894 --- /dev/null +++ b/multimedia/gst0-plugins-good/patches/02-v4l.compile.fixes.diff @@ -0,0 +1,57 @@ +From fa21c0bb253213c9dc48ce72faaf7090dc8a3554 Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Thu, 2 May 2013 16:16:46 -0400 +Subject: [PATCH] sys/v4l2: Some blind compilation fixes + +--- + sys/v4l2/gstv4l2bufferpool.c | 1 - + sys/v4l2/v4l2_calls.c | 12 ++++-------- + 2 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c +index a0b4c84..3916815 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, +diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c +index 309bfb6..ee3ff9f 100644 +--- a/sys/v4l2/v4l2_calls.c ++++ b/sys/v4l2/v4l2_calls.c +@@ -53,14 +53,6 @@ + + #include "gst/gst-i18n-plugin.h" + +-/* Those are ioctl calls */ +-#ifndef V4L2_CID_HCENTER +-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED +-#endif +-#ifndef V4L2_CID_VCENTER +-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED +-#endif +- + GST_DEBUG_CATEGORY_EXTERN (v4l2_debug); + #define GST_CAT_DEFAULT v4l2_debug + +@@ -294,8 +286,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) + break; + case V4L2_CID_HFLIP: + case V4L2_CID_VFLIP: ++#ifdef V4L2_CID_HCENTER + case V4L2_CID_HCENTER: ++#endif ++#ifdef V4L2_CID_VCENTER + case V4L2_CID_VCENTER: ++#endif + #ifdef V4L2_CID_PAN_RESET + case V4L2_CID_PAN_RESET: + #endif +-- +1.7.1 + diff --git a/multimedia/gst0-plugins-good/slack-desc b/multimedia/gst0-plugins-good/slack-desc new file mode 100644 index 0000000000..51d5272810 --- /dev/null +++ b/multimedia/gst0-plugins-good/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the good package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +gst0-plugins-good: gst0-plugins-good (good set of GStreamer plugins, v0) +gst0-plugins-good: +gst0-plugins-good: GStreamer Good Plug-ins is a set of plug-ins that have good quality +gst0-plugins-good: code, correct functionality, and a good license (LGPL for the plug-in +gst0-plugins-good: code, LGPL or LGPL-compatible for the supporting library). +gst0-plugins-good: +gst0-plugins-good: +gst0-plugins-good: +gst0-plugins-good: +gst0-plugins-good: +gst0-plugins-good: |