Commit f7ea79cc authored by Brendan Long's avatar Brendan Long

Merged in restructure (pull request #1)

Created separate subdirectories for each test program.  Moved general test program from dlnasrc repo to this repo.  Modified so make is performed in individual directories
parents 630ac6c8 e2a490ec
......@@ -14,14 +14,17 @@ config.*
configure
configure.in
depcomp
/general
INSTALL
install-sh
libtool
ltmain.sh
Makefile
Makefile.in
missing
m4/*.m4
/playspeeds
stamp-h1
playspeeds-test
*.mkv
*.ogv
*.mpg
......
CableLabs
Put your license in here!
2013-07-08 CableLabs
* initial creation
playspeeds-test: playspeeds-test.c
gcc playspeeds-test.c -o playspeeds-test `pkg-config --cflags --libs gstreamer-1.0`
.PHONY: clean
clean:
rm -f *.o playspeeds-test *~ core
\ No newline at end of file
ACLOCAL_AMFLAGS = -I m4
bin_PROGRAMS = general playspeeds
general_SOURCES = src/general-test.c
general_CFLAGS = $(GST_CFLAGS)
general_LDADD = $(GST_LIBS) -lm
general_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
general_LIBTOOLFLAGS = --tag=disable-static
playspeeds_SOURCES = src/playspeeds-test.c
playspeeds_CFLAGS = $(GST_CFLAGS)
playspeeds_LDADD = $(GST_LIBS)
playspeeds_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
playspeeds_LIBTOOLFLAGS = --tag=disable-static
Nothing much yet.
WHAT IT IS
----------
This is a collection of C test programs to assist in development of CableLabs supplied GStreamer elements.
HOW TO BUILD IT
---------------
Issue the following commands from the test directory:
./autogen.sh
This will produce a Makefile, initiate the make via:
make
Install the plugin via:
(sudo make install) no longer necessary???
This plugin will be built when entering the same commands from gst-plugins-cl (parent directory) or
individual test subdirectories
TESTING
-------
The "general" test program has a bunch of options to test many different scenarios. It can be used to test GStreamer playbin pipeline or a manually built pipeline. See help for complete listing of options.
The "playspeeds" test program is from a GStreamer tutorial modified to support GStreamer 1.0 and to take command line args for UI. It also is built via the make target and has a script to run the program.
#!/bin/sh
# you can either set the environment variables AUTOCONF, AUTOHEADER, AUTOMAKE,
# ACLOCAL, AUTOPOINT and/or LIBTOOLIZE to the right versions, or leave them
# unset and get the defaults
autoreconf --verbose --force --install || {
echo 'autogen.sh failed';
exit 1;
}
./configure || {
echo 'configure failed';
exit 1;
}
echo
echo "Now type 'make' to compile this module."
echo
dnl required version of autoconf
AC_PREREQ([2.53])
AC_INIT([general-test],[1.0.0])
dnl required versions of gstreamer and plugins-base
GST_REQUIRED=1.0.0
GSTPB_REQUIRED=1.0.0
AC_CONFIG_SRCDIR([src/general-test.c])
AC_CONFIG_HEADERS([config.h])
dnl required version of automake
AM_INIT_AUTOMAKE([1.11 subdir-objects])
AM_SILENT_RULES([yes])
dnl enable mainainer mode by default
AM_MAINTAINER_MODE([enable])
dnl check for tools (compiler etc.)
AC_PROG_CC
AM_PROG_CC_C_O
dnl required version of libtool
LT_PREREQ([2.2.6])
LT_INIT
dnl give error and exit if we don't have pkgconfig
AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, [ ], [
AC_MSG_ERROR([You need to have pkg-config installed!])
])
dnl Check for the required version of GStreamer core (and gst-plugins-base)
dnl This will export GST_CFLAGS and GST_LIBS variables for use in Makefile.am
dnl
dnl If you need libraries from gst-plugins-base here, also add:
dnl for libgstaudio-1.0: gstreamer-audio-1.0 >= $GST_REQUIRED
dnl for libgstvideo-1.0: gstreamer-video-1.0 >= $GST_REQUIRED
dnl for libgsttag-1.0: gstreamer-tag-1.0 >= $GST_REQUIRED
dnl for libgstpbutils-1.0: gstreamer-pbutils-1.0 >= $GST_REQUIRED
dnl for libgstfft-1.0: gstreamer-fft-1.0 >= $GST_REQUIRED
dnl for libgstinterfaces-1.0: gstreamer-interfaces-1.0 >= $GST_REQUIRED
dnl for libgstrtp-1.0: gstreamer-rtp-1.0 >= $GST_REQUIRED
dnl for libgstrtsp-1.0: gstreamer-rtsp-1.0 >= $GST_REQUIRED
dnl etc.
PKG_CHECK_MODULES(GST, [
gstreamer-1.0 >= $GST_REQUIRED
gstreamer-base-1.0 >= $GST_REQUIRED
gstreamer-controller-1.0 >= $GST_REQUIRED
], [
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
], [
AC_MSG_ERROR([
You need to install or upgrade the GStreamer development
packages on your system. On debian-based systems these are
libgstreamer1.0-dev and libgstreamer-plugins-base1.0-dev.
on RPM-based systems gstreamer1.0-devel, libgstreamer1.0-devel
or similar. The minimum version required is $GST_REQUIRED.
])
])
dnl *** soup ***
PKG_CHECK_MODULES(SOUP, [
libsoup-2.4 >= 2.3.2
], [
AC_SUBST(SOUP_CFLAGS)
AC_SUBST(SOUP_LIBS)
], [
AC_MSG_ERROR([
You need to install or upgrade the libsoup on your system.
The minimum version required is 2.3.2.
])
])
dnl check if compiler understands -Wall (if yes, add -Wall to GST_CFLAGS)
AC_MSG_CHECKING([to see if compiler understands -Wall])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall -Werror"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ ], [ ])], [
GST_CFLAGS="$GST_CFLAGS -Wall -Werror"
AC_MSG_RESULT([yes])
], [
AC_MSG_RESULT([no])
])
dnl set the plugindir where plugins should be installed (for src/Makefile.am)
if test "x${prefix}" = "x$HOME"; then
plugindir="$HOME/.gstreamer-1.0/plugins"
else
plugindir="\$(libdir)/gstreamer-1.0"
fi
AC_SUBST(plugindir)
dnl set proper LDFLAGS for plugins
GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*'
AC_SUBST(GST_PLUGIN_LDFLAGS)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
This diff is collapsed.
......@@ -44,6 +44,9 @@
#include <gst/gst.h>
#include <stdio.h>
#include <stdlib.h>
#include <glib.h>
#include <glib/gprintf.h>
typedef struct _CustomData {
GstElement *pipeline;
......@@ -231,7 +234,6 @@ static gboolean launch_playbin_pipeline(CustomData* data)
static gboolean send_seek_event (CustomData *data) {
gint64 position;
GstFormat format = GST_FORMAT_TIME;
GstEvent *seek_event;
g_print ("Sending Seek Event\n");
......@@ -246,11 +248,16 @@ static gboolean send_seek_event (CustomData *data) {
if (!gst_element_seek (data->pipeline, data->rate,
format, GST_SEEK_FLAG_FLUSH,
GST_SEEK_TYPE_SET, position,
GST_SEEK_TYPE_NONE, 0))
GST_SEEK_TYPE_SET, -1))
//GST_SEEK_TYPE_NONE, 0))
{
g_printerr("%s - Problems seeking.\n", __FUNCTION__);
return FALSE;
}
else
{
g_printf("%s - seek was successful\n", __FUNCTION__);
}
return TRUE;
}
......
#!/bin/sh
#rm ./tmp/*.dot
#
TEST_FILE_URL_PREFIX=file:///home/landerson/gst/git/gst-plugins-cl/test/videos/
export TEST_FILE_URL_PREFIX
#
#RUIH_GST_DTCP_DISABLE=true
#export RUIH_GST_DTCP_DISABLE
#
RUIH_GST_DTCP_KEY_STORAGE=/media/RUIH_RI_2/test_keys
RUIH_GST_DTCP_DLL=/media/RUIH_RI_2/dtcp_greg/dtcpip_test_nodebug.so
#RUIH_GST_DTCP_DLL=/media/RUIH_RI_2/dtcp_greg/dtcpip_test_debug.so
#
#RUIH_GST_DTCP_KEY_STORAGE=/media/RUIH-RI-3/test_keys
#RUIH_GST_DTCP_DLL=/media/RUIH-RI-3/dtcpip_v1.1_Linux_test.so
#
#RUIH_GST_DTCP_KEY_STORAGE=/home/landerson/RUIHRI/dtcp/test_keys
#RUIH_GST_DTCP_DLL=/home/landerson/RUIHRI/dtcp/dtcpip_v1.1_Linux_test.so
#
export RUIH_GST_DTCP_KEY_STORAGE
export RUIH_GST_DTCP_DLL
#
GST_DEBUG=*:1,dlnasrc:4,souphttpsrc:4,mpeg2dec:3,tsdemux:4,mpegtsbase:4,mpegtspacketizer:4,dtcpip:5,basesrc:4
#uridecodebin:3,filesrc:5,dtcpip:4,playbin:3,passthru:1,\
#basesrc:3,pushsrc:5,baseparse:1,task:1,queue2:2,multiqueue:2,bin:1,\
#mpegtsdemux:4,xvimagesink:3,fakesink:5,structure:1,\
#GST_REGISTRY:1,GST_EVENT:3,GST_SEGMENT:5,GST_ELEMENT_FACTORY:1,GST_ELEMENT_PAD:1,\
#GST_PADS:2,GST_STATES:1,GST_BUFFER:1,GST_BUS:1,GST_REFCOUNTING:1,GST_TYPEFIND:1,\
#GST_PLUGIN_LOADING:1,GST_MEMORY:1
export GST_DEBUG
#
GST_DEBUG_NO_COLOR=1
export GST_DEBUG_NO_COLOR
#
# This doesn't seem to work here - need to export in terminal window using ./tmp as value
#export GST_DEBUG_DUMP_DOT_DIR=tmp
#
#gst-git ./general host=192.168.2.16 rrid=35 wait=10 rate=2
gst-git ./general file=clock.mpg
#gst-git ./general uri=http://10.36.32.195:80/fxi/us.ts
#gst-git ./general uri=http://10.36.32.195/fxi/Ultimate-Stream-1280x720-5Mb-mpeg2v-ac3_0100_CC_Trim.ts
#gst-git ./general uri=http://192.168.2.16:8895/resource/1/MEDIA_ITEM/MPEG_TS_SD_KO_ISO-0/ORIGINAL
#gst-git ./general uri=http://dveo.com/downloads/TS-sample-files/San_Diego_Clip.ts
#gst-git ./general uri=http://192.168.0.106:60656/mal/I/AM2/1.mpeg
#gst-git ./general uri="http://192.168.2.16:8008/ocaphn/service?ocaploc=0x45a&profile=MPEG_TS_SD_NA_ISO&mime=video/mpeg"
#
# Bunch of possible cmd line args to include
#rate=8 wait=15 host=192.168.0.106 or 192.168.2.2 pipeline switch position seek file=clock.mpg file=two_videos.mkv file=scte20_7.mpg dtcp byte dot manual_elements
#
# To debug with gdb debugger, use this line
#gst-git gdb --args ./test host=192.168.2.2 rrid=19
#gst-git gdb --args ./test file=0.mpg wait=10 rate=4
#!/bin/sh
#
TEST_FILE_URL_PREFIX=file:///home/landerson/gst/git/gst-plugins-cl/test/
TEST_FILE_URL_PREFIX=file:///home/landerson/gst/git/gst-plugins-cl/test/videos/
export TEST_FILE_URL_PREFIX
#
GST_DEBUG=*:3,GST_EVENT:3
#,playbin:3,basesrc:3,tsdemux:4,mpegtsbase:4,mpegtspacketizer:4
#dlnasrc:4,souphttpsrc:4,mpeg2dec:3,tsdemux:4,mpegtsbase:4,mpegtspacketizer:4,GST_PADS:1
GST_DEBUG=*:1,dlnasrc:5,souphttpsrc:4,basesrc:4,playbin:4,GST_EVENT:2,tsdemux:4,mpegtsbase:4,playsink:3
#GST_EVENT:3,playbin:3,basesrc:3,tsdemux:4,mpegtsbase:4,mpegtspacketizer:4,GST_PADS:1
#uridecodebin:3,filesrc:5,dtcpip:4,playbin:3,passthru:1,\
#basesrc:3,pushsrc:5,baseparse:1,task:1,queue2:2,multiqueue:2,bin:1,\
#mpegtsdemux:4,xvimagesink:3,fakesink:5,structure:1,\
......@@ -17,5 +16,7 @@ export GST_DEBUG
GST_DEBUG_NO_COLOR=1
export GST_DEBUG_NO_COLOR
#
#gst-git ./playspeeds-test file=parkrun.mpg
gst-git ./playspeeds-test host=192.168.2.16 rrid=33
gst-git ./playspeeds file=clock.mpg
#gst-git ./playspeeds host=192.168.2.16 rrid=35
#gst-git ./playspeeds uri=http://192.168.0.106:60753/mal/I/AL10/51.mpeg
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment