Add gst-plugins-good0.10 package
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
--- gst-plugins-good-1.2.0/configure.ac.orig 2013-09-24 12:14:50.000000000 +0000
|
||||
+++ gst-plugins-good-1.2.0/configure.ac 2013-10-02 11:20:00.320123500 +0000
|
||||
@@ -644,7 +644,9 @@
|
||||
ac_cppflags_save="$CPPFLAGS"
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
- AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
|
||||
+ HAVE_X="yes"
|
||||
+ AC_CHECK_HEADER(X11/Xlib.h, [], HAVE_X="no")
|
||||
+ AC_CHECK_LIB(X11, XOpenDisplay, [], HAVE_X="no", $X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS)
|
||||
|
||||
if test "x$HAVE_X" = "xno"
|
||||
then
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gst-plugins-good-1.0.6/tests/check/Makefile.am.orig 2013-04-10 09:12:03 +0400
|
||||
+++ gst-plugins-good-1.0.6/tests/check/Makefile.am 2013-04-10 09:14:04 +0400
|
||||
@@ -10,7 +10,7 @@
|
||||
$(REGISTRY_ENVIRONMENT) \
|
||||
GST_PLUGIN_SYSTEM_PATH= \
|
||||
GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/ext:$(top_builddir)/sys:$(GSTPB_PLUGINS_DIR):$(GST_PLUGINS_DIR) \
|
||||
- GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good@$(top_builddir)" \
|
||||
+ GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good@$(subst /,\\,$(top_builddir))" \
|
||||
GST_STATE_IGNORE_ELEMENTS="aasink autoaudiosrc autoaudiosink autovideosrc autovideosink \
|
||||
cacasink cairotextoverlay gconfaudiosrc gconfvideosrc gconfaudiosink gconfvideosink \
|
||||
halaudiosrc halaudiosink jackaudiosrc jackaudiosink \
|
||||
75
mingw-w64-gst-plugins-good0.10/PKGBUILD
Normal file
75
mingw-w64-gst-plugins-good0.10/PKGBUILD
Normal file
@@ -0,0 +1,75 @@
|
||||
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
||||
|
||||
_realname=gst-plugins-good
|
||||
_mingw_suff=mingw-w64-${CARCH}
|
||||
pkgname="${_mingw_suff}-${_realname}0.10"
|
||||
pkgver=0.10.31
|
||||
pkgrel=1
|
||||
pkgdesc="GStreamer Multimedia Framework Base Plugins (mingw-w64)"
|
||||
arch=('any')
|
||||
url="http://gstreamer.freedesktop.org/"
|
||||
license=("LGPL")
|
||||
makedepends=("${_mingw_suff}-gcc"
|
||||
"${_mingw_suff}-pkg-config"
|
||||
"${_mingw_suff}-gstreamer0.10"
|
||||
"gtk-doc"
|
||||
"${_mingw_suff}-python2"
|
||||
"${_mingw_suff}-speex"
|
||||
)
|
||||
depends=(
|
||||
"${_mingw_suff}-cairo"
|
||||
"${_mingw_suff}-gdk-pixbuf2"
|
||||
"${_mingw_suff}-gst-plugins-base0.10"
|
||||
"${_mingw_suff}-libcaca"
|
||||
"${_mingw_suff}-libsoup"
|
||||
"${_mingw_suff}-libvpx"
|
||||
"${_mingw_suff}-taglib"
|
||||
"${_mingw_suff}-wavpack"
|
||||
)
|
||||
options=(!libtool strip staticlibs)
|
||||
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz
|
||||
test-rtp-payloading.patch
|
||||
mingw64-gst-plugins-good-waveform-git.patch
|
||||
0001-fix-X-detection.mingw.patch
|
||||
0002-fix-test-running.mingw.patch)
|
||||
md5sums=('555845ceab722e517040bab57f9ace95'
|
||||
'6781763eb752d57f3d111a41905d25bd'
|
||||
'86fbe1b55536e71bdb0474e6e41f83c8'
|
||||
'89b320a3a5d5585801eef1b8e0489483'
|
||||
'2416482a6ee486dd4d00acd90f4d7e86')
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${_realname}-${pkgver}
|
||||
sed -i '/AC_PATH_XTRA/d' configure.ac
|
||||
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
|
||||
patch -Np1 -i ${srcdir}/test-rtp-payloading.patch
|
||||
patch -Np0 -i ${srcdir}/mingw64-gst-plugins-good-waveform-git.patch
|
||||
patch -p1 -i ${srcdir}/0001-fix-X-detection.mingw.patch
|
||||
patch -p1 -i ${srcdir}/0002-fix-test-running.mingw.patch
|
||||
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
|
||||
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
|
||||
cp -r "${srcdir}/${_realname}-${pkgver}" "${srcdir}/build-${MINGW_CHOST}"
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
./configure \
|
||||
--prefix=${MINGW_PREFIX} \
|
||||
--build=${MINGW_CHOST} \
|
||||
--host=${MINGW_CHOST} \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--enable-silent-rules \
|
||||
--enable-experimental \
|
||||
--disable-gtk-doc
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
make -j1 DESTDIR="$pkgdir" install
|
||||
find "${pkgdir}${MINGW_PREFIX}" -name '*.def' -o -name '*.exp' | xargs -rtl1 rm
|
||||
rm -f ${pkgdir}${MINGW_PREFIX}/lib/gstreamer-*/*.a
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
--- configure.ac 0.10.31
|
||||
+++ configure.ac git
|
||||
@@ -444,6 +444,12 @@
|
||||
AC_SUBST(HAVE_DIRECTSOUND)
|
||||
])
|
||||
|
||||
+dnl *** Win32 WaveOut ***
|
||||
+translit(dnm, m, l) AM_CONDITIONAL(USE_WAVEFORM, true)
|
||||
+AG_GST_CHECK_FEATURE(WAVEFORM, [Win32 WaveForm], waveformsink, [
|
||||
+ AC_CHECK_HEADER(mmsystem.h, HAVE_WAVEFORM="yes", HAVE_WAVEFORM="no", [#include <windows.h>])
|
||||
+])
|
||||
+
|
||||
dnl *** OSS audio *** (Linux, *BSD)
|
||||
translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
|
||||
AG_GST_CHECK_FEATURE(OSS, [OSS audio], ossaudio, [
|
||||
@@ -1046,6 +1052,7 @@
|
||||
AM_CONDITIONAL(USE_SPEEX, false)
|
||||
AM_CONDITIONAL(USE_SUNAUDIO, false)
|
||||
AM_CONDITIONAL(USE_TAGLIB, false)
|
||||
+AM_CONDITIONAL(USE_WAVEFORM, false)
|
||||
AM_CONDITIONAL(USE_WAVPACK, false)
|
||||
AM_CONDITIONAL(USE_X, false)
|
||||
AM_CONDITIONAL(USE_XSHM, false)
|
||||
--- sys/Makefile.am 0.10.31
|
||||
+++ sys/Makefile.am git
|
||||
@@ -23,6 +23,12 @@
|
||||
DIRECTSOUND_DIR=
|
||||
endif
|
||||
|
||||
+if USE_WAVEFORM
|
||||
+WAVEFORM_DIR=waveform
|
||||
+else
|
||||
+WAVEFORM_DIR=
|
||||
+endif
|
||||
+
|
||||
if USE_SUNAUDIO
|
||||
SUNAUDIO_DIR=sunaudio
|
||||
else
|
||||
@@ -77,7 +83,7 @@
|
||||
XIMAGE_DIR=
|
||||
endif
|
||||
|
||||
-SUBDIRS=$(DIRECTSOUND_DIR) $(OSS_DIR) $(OSS4_DIR) $(OSX_AUDIO_DIR) $(OSX_VIDEO_DIR) $(SUNAUDIO_DIR) $(V4L2_DIR) $(XIMAGE_DIR)
|
||||
+SUBDIRS=$(DIRECTSOUND_DIR) $(WAVEFORM_DIR) $(OSS_DIR) $(OSS4_DIR) $(OSX_AUDIO_DIR) $(OSX_VIDEO_DIR) $(SUNAUDIO_DIR) $(V4L2_DIR) $(XIMAGE_DIR)
|
||||
|
||||
DIST_SUBDIRS=directsound oss oss4 osxaudio osxvideo sunaudio v4l2 waveform ximage
|
||||
|
||||
--- sys/waveform/gstwaveformsink.c 0.10.31
|
||||
+++ sys/waveform/gstwaveformsink.c git
|
||||
@@ -49,10 +49,6 @@
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (waveformsink_debug);
|
||||
|
||||
-static void gst_waveform_sink_base_init (gpointer g_class);
|
||||
-static void gst_waveform_sink_class_init (GstWaveFormSinkClass * klass);
|
||||
-static void gst_waveform_sink_init (GstWaveFormSink * wfsink,
|
||||
- GstWaveFormSinkClass * g_class);
|
||||
static void gst_waveform_sink_finalise (GObject * object);
|
||||
static void gst_waveform_sink_set_property (GObject * object,
|
||||
guint prop_id, const GValue * value, GParamSpec * pspec);
|
||||
@@ -154,7 +150,7 @@
|
||||
gst_waveform_sink_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
- GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (object);
|
||||
+ /* GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (object); */
|
||||
|
||||
switch (prop_id) {
|
||||
default:
|
||||
@@ -167,7 +163,7 @@
|
||||
gst_waveform_sink_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
- GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (object);
|
||||
+ /* GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (object); */
|
||||
|
||||
switch (prop_id) {
|
||||
default:
|
||||
@@ -348,7 +344,7 @@
|
||||
static gboolean
|
||||
gst_waveform_sink_open (GstAudioSink * asink)
|
||||
{
|
||||
- GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (asink);
|
||||
+ /* GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (asink); */
|
||||
|
||||
/* nothing to do here as the device needs to be opened with the format we will use */
|
||||
|
||||
@@ -448,7 +444,7 @@
|
||||
static gboolean
|
||||
gst_waveform_sink_close (GstAudioSink * asink)
|
||||
{
|
||||
- GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (asink);
|
||||
+ /* GstWaveFormSink *wfsink = GST_WAVEFORM_SINK (asink); */
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
--- sys/waveform/Makefile.am 0.10.31
|
||||
+++ sys/waveform/Makefile.am git
|
||||
@@ -1,19 +1,15 @@
|
||||
plugin_LTLIBRARIES = libgstwaveformsink.la
|
||||
|
||||
-# FIXME: Replace DIRECTSOUND CFLAGS+LIBS with waveform related ones and fix
|
||||
-# the configure.ac + sys/Makefile.am to get this stuff building in MingW
|
||||
-# For now, it's just disted for use in the VS builds.
|
||||
-
|
||||
libgstwaveformsink_la_SOURCES = gstwaveformsink.c gstwaveformplugin.c
|
||||
libgstwaveformsink_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \
|
||||
- $(GST_PLUGINS_BASE_CFLAGS) $(DIRECTSOUND_CFLAGS)
|
||||
+ $(GST_PLUGINS_BASE_CFLAGS)
|
||||
libgstwaveformsink_la_LIBADD = \
|
||||
$(GST_PLUGINS_BASE_LIBS) \
|
||||
-lgstaudio-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) \
|
||||
$(GST_BASE_LIBS) \
|
||||
$(GST_LIBS) \
|
||||
- $(DIRECTSOUND_LIBS)
|
||||
-libgstwaveformsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DIRECTSOUND_LDFLAGS)
|
||||
+ -lwinmm
|
||||
+libgstwaveformsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||
libgstwaveformsink_la_LIBTOOLFLAGS = --tag=disable-static
|
||||
|
||||
noinst_HEADERS = gstwaveformsink.h
|
||||
422
mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch
Normal file
422
mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user