From 175f08aa4ca46d9d0e9e0db74ecbcb51a8537bc3 Mon Sep 17 00:00:00 2001 From: Alexpux Date: Fri, 24 Jan 2014 21:44:53 +0400 Subject: [PATCH] Add gst-plugins-good0.10 package --- .../0001-fix-X-detection.mingw.patch | 13 + .../0002-fix-test-running.mingw.patch | 11 + mingw-w64-gst-plugins-good0.10/PKGBUILD | 75 ++++ ...ingw64-gst-plugins-good-waveform-git.patch | 121 +++++ .../test-rtp-payloading.patch | 422 ++++++++++++++++++ 5 files changed, 642 insertions(+) create mode 100644 mingw-w64-gst-plugins-good0.10/0001-fix-X-detection.mingw.patch create mode 100644 mingw-w64-gst-plugins-good0.10/0002-fix-test-running.mingw.patch create mode 100644 mingw-w64-gst-plugins-good0.10/PKGBUILD create mode 100644 mingw-w64-gst-plugins-good0.10/mingw64-gst-plugins-good-waveform-git.patch create mode 100644 mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch diff --git a/mingw-w64-gst-plugins-good0.10/0001-fix-X-detection.mingw.patch b/mingw-w64-gst-plugins-good0.10/0001-fix-X-detection.mingw.patch new file mode 100644 index 0000000000..5dadc9fe7e --- /dev/null +++ b/mingw-w64-gst-plugins-good0.10/0001-fix-X-detection.mingw.patch @@ -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 diff --git a/mingw-w64-gst-plugins-good0.10/0002-fix-test-running.mingw.patch b/mingw-w64-gst-plugins-good0.10/0002-fix-test-running.mingw.patch new file mode 100644 index 0000000000..c1ba4a5b4c --- /dev/null +++ b/mingw-w64-gst-plugins-good0.10/0002-fix-test-running.mingw.patch @@ -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 \ diff --git a/mingw-w64-gst-plugins-good0.10/PKGBUILD b/mingw-w64-gst-plugins-good0.10/PKGBUILD new file mode 100644 index 0000000000..434f33b4b7 --- /dev/null +++ b/mingw-w64-gst-plugins-good0.10/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Alexey Pavlov + +_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 +} diff --git a/mingw-w64-gst-plugins-good0.10/mingw64-gst-plugins-good-waveform-git.patch b/mingw-w64-gst-plugins-good0.10/mingw64-gst-plugins-good-waveform-git.patch new file mode 100644 index 0000000000..b09d655311 --- /dev/null +++ b/mingw-w64-gst-plugins-good0.10/mingw64-gst-plugins-good-waveform-git.patch @@ -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 ]) ++]) ++ + 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 diff --git a/mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch b/mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch new file mode 100644 index 0000000000..e8a9431360 --- /dev/null +++ b/mingw-w64-gst-plugins-good0.10/test-rtp-payloading.patch @@ -0,0 +1,422 @@ +From dca42d4767adff3578e5d5990604766735ec1f9b Mon Sep 17 00:00:00 2001 +From: Tim-Philipp Müller +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