summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Isorce <julien.isorce@collabora.co.uk>2013-07-22 19:04:07 +0100
committerJulien Isorce <julien.isorce@collabora.co.uk>2013-07-22 19:04:07 +0100
commite0c85e17a56a64a2396e6e12ee2505ccc96bcabe (patch)
tree535875493c9065e95a1cbd4c4f1620e399aa4389
parent6c21e5df46e3241d354ffde46ccceed5334b4238 (diff)
tests/examples: fix 'doublecube' and 'pipelines'. Port 'recordgraphic'.
-rw-r--r--configure.ac1
-rw-r--r--tests/examples/generic/Makefile.am2
-rw-r--r--tests/examples/generic/doublecube/main.cpp58
-rw-r--r--tests/examples/generic/recordgraphic/Makefile44
-rw-r--r--tests/examples/generic/recordgraphic/Makefile.am8
-rw-r--r--tests/examples/generic/recordgraphic/main.cpp42
-rwxr-xr-x[-rw-r--r--]tests/pipelines83
7 files changed, 107 insertions, 131 deletions
diff --git a/configure.ac b/configure.ac
index 0f08087..b87a069 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1048,6 +1048,7 @@ tests/examples/generic/Makefile
tests/examples/generic/cube/Makefile
tests/examples/generic/cubeyuv/Makefile
tests/examples/generic/doublecube/Makefile
+tests/examples/generic/recordgraphic/Makefile
tests/examples/clutter/Makefile
tests/examples/gtk/Makefile
tests/examples/gtk/gtkvideooverlay/Makefile
diff --git a/tests/examples/generic/Makefile.am b/tests/examples/generic/Makefile.am
index dabd563..a334e12 100644
--- a/tests/examples/generic/Makefile.am
+++ b/tests/examples/generic/Makefile.am
@@ -1,2 +1,2 @@
-SUBDIRS = cube cubeyuv doublecube #recordgraphic
+SUBDIRS = cube cubeyuv doublecube recordgraphic
diff --git a/tests/examples/generic/doublecube/main.cpp b/tests/examples/generic/doublecube/main.cpp
index 4725b04..9388133 100644
--- a/tests/examples/generic/doublecube/main.cpp
+++ b/tests/examples/generic/doublecube/main.cpp
@@ -51,7 +51,7 @@ static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data)
if (debug)
{
- g_print ("Debug deails: %s\n", debug);
+ g_print ("Debug details: %s\n", debug);
g_free (debug);
}
@@ -67,22 +67,24 @@ static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data)
//display video framerate
-static void identityCallback (GstElement *src, GstBuffer *buffer, GstElement* textoverlay)
+static GstPadProbeReturn textoverlay_sink_pad_probe_cb (GstPad *pad, GstPadProbeInfo *info, GstElement* textoverlay)
{
static GstClockTime last_timestamp = 0;
static gint nbFrames = 0 ;
//display estimated video FPS
nbFrames++ ;
- if (GST_BUFFER_TIMESTAMP(buffer) - last_timestamp >= 1000000000)
+ if (GST_BUFFER_TIMESTAMP(info->data) - last_timestamp >= 1000000000)
{
std::ostringstream oss ;
oss << "video framerate = " << nbFrames ;
std::string s(oss.str()) ;
g_object_set(G_OBJECT(textoverlay), "text", s.c_str(), NULL);
- last_timestamp = GST_BUFFER_TIMESTAMP(buffer) ;
+ last_timestamp = GST_BUFFER_TIMESTAMP(info->data) ;
nbFrames = 0 ;
}
+
+ return GST_PAD_PROBE_OK;
}
@@ -188,30 +190,35 @@ gboolean drawCallback (GLuint texture, GLuint width, GLuint height)
}
-static void cb_new_pad (GstElement* decodebin, GstPad* pad, GstElement* identity)
+static void cb_new_pad (GstElement* decodebin, GstPad* pad, GstElement* element)
{
- GstPad* identity_pad = gst_element_get_static_pad (identity, "sink");
+ GstPad* element_pad = gst_element_get_static_pad (element, "sink");
//only link once
- if (GST_PAD_IS_LINKED (identity_pad))
+ if (!element_pad || GST_PAD_IS_LINKED (element_pad))
{
- gst_object_unref (identity_pad);
+ gst_object_unref (element_pad);
return;
}
GstCaps* caps = gst_pad_get_current_caps (pad);
GstStructure* str = gst_caps_get_structure (caps, 0);
+
+ GstCaps* caps2 = gst_pad_query_caps (element_pad, NULL);
+ gst_caps_unref (caps2);
+
if (!g_strrstr (gst_structure_get_name (str), "video"))
{
gst_caps_unref (caps);
- gst_object_unref (identity_pad);
+ gst_object_unref (element_pad);
return;
}
gst_caps_unref (caps);
- GstPadLinkReturn ret = gst_pad_link (pad, identity_pad);
+ GstPadLinkReturn ret = gst_pad_link (pad, element_pad);
if (ret != GST_PAD_LINK_OK)
- g_warning ("Failed to link with decodebin!\n");
+ g_warning ("Failed to link with decodebin %d!\n", ret);
+ gst_object_unref (element_pad);
}
@@ -242,7 +249,7 @@ gint main (gint argc, gchar *argv[])
/* create elements */
GstElement* videosrc = gst_element_factory_make ("filesrc", "filesrc0");
GstElement* decodebin = gst_element_factory_make ("decodebin", "decodebin0");
- GstElement* identity = gst_element_factory_make ("identity", "identity0");
+ GstElement* videoconvert = gst_element_factory_make ("videoscale", "videoconvert0");
GstElement* textoverlay = gst_element_factory_make ("textoverlay", "textoverlay0"); //textoverlay required I420
GstElement* tee = gst_element_factory_make ("tee", "tee0");
@@ -257,7 +264,7 @@ gint main (gint argc, gchar *argv[])
GstElement* glimagesink2 = gst_element_factory_make ("glimagesink", "glimagesink2");
- if (!videosrc || !decodebin || !identity || !textoverlay || !tee ||
+ if (!videosrc || !decodebin || !videoconvert || !textoverlay || !tee ||
!queue0 || !glimagesink0 ||
!queue1 || !glfiltercube || !glimagesink1 ||
!queue2 || !glimagesink2)
@@ -274,31 +281,38 @@ gint main (gint argc, gchar *argv[])
/* configure elements */
g_object_set(G_OBJECT(videosrc), "num-buffers", 1000, NULL);
g_object_set(G_OBJECT(videosrc), "location", video_location.c_str(), NULL);
- g_signal_connect(identity, "handoff", G_CALLBACK(identityCallback), textoverlay) ;
g_object_set(G_OBJECT(textoverlay), "font_desc", "Ahafoni CLM Bold 30", NULL);
g_object_set(G_OBJECT(glimagesink0), "client-reshape-callback", reshapeCallback, NULL);
g_object_set(G_OBJECT(glimagesink0), "client-draw-callback", drawCallback, NULL);
/* add elements */
- gst_bin_add_many (GST_BIN (pipeline), videosrc, decodebin, identity, textoverlay, tee,
+ gst_bin_add_many (GST_BIN (pipeline), videosrc, decodebin, videoconvert, textoverlay, tee,
queue0, glimagesink0,
queue1, glfiltercube, glimagesink1,
queue2, glimagesink2, NULL);
+ GstPad* textoverlay_sink_pad = gst_element_get_static_pad (textoverlay, "video_sink");
+ gst_pad_add_probe (textoverlay_sink_pad, GST_PAD_PROBE_TYPE_BUFFER,
+ (GstPadProbeCallback) textoverlay_sink_pad_probe_cb, (gpointer)textoverlay, NULL);
+ gst_object_unref (textoverlay_sink_pad);
- gst_element_link_pads (videosrc, "src", decodebin, "sink");
-
- g_signal_connect (decodebin, "pad-added", G_CALLBACK (cb_new_pad), identity);
+ if (!gst_element_link_many(videoconvert, textoverlay, tee, NULL))
+ {
+ g_print ("Failed to link videoconvert to tee!\n");
+ return -1;
+ }
- if (!gst_element_link_pads(identity, "src", textoverlay, "video_sink"))
+ if (!gst_element_link(videosrc, decodebin))
{
- g_print ("Failed to link identity to textoverlay!\n");
+ g_print ("Failed to link videosrc to decodebin!\n");
return -1;
}
+
+ g_signal_connect (decodebin, "pad-added", G_CALLBACK (cb_new_pad), videoconvert);
- if (!gst_element_link_many(textoverlay, tee, queue0, NULL))
+ if (!gst_element_link_many(tee, queue0, NULL))
{
- g_warning ("Failed to link one or more elements bettween textoverlay and queue0!\n");
+ g_warning ("Failed to link one or more elements bettween tee and queue0!\n");
return -1;
}
diff --git a/tests/examples/generic/recordgraphic/Makefile b/tests/examples/generic/recordgraphic/Makefile
deleted file mode 100644
index b7a4359..0000000
--- a/tests/examples/generic/recordgraphic/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-SRC=main.cpp
-OBJ=$(SRC:.cpp=.o)
-EXE=recordgraphic
-
-CPP=g++
-CPPFLAGS=-Wall -Werror -O3 -march=i686 -msse2 -mfpmath=sse
-LDFLAGS=
-LIBS=-lgstreamer-1.0
-RM=rm
-
-ifeq ($(OS),Windows_NT)
-# Put Windows-specific stuff here (usefull for mingw32)
-REXE=$(EXE).exe
-CPPFLAGS=-I../../../../libxml2-2.6.30+.win32/include \
- -I../../../../libiconv/include \
- -I../../../../glib/include \
- -I../../../../gstreamer/include
-#ld tool from mingw needs dll too
-LDFLAGS+=-L../../../../glib/lib \
- -L../../../../gstreamer/lib \
- -L../../../../glib/bin \
- -L../../../../gstreamer/bin/bin
-LIBS+=-lglib-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
- -lopengl32 -lglu32
-else
-# Put Linux-specific stuff here
-REXE=$(EXE)
-CPPFLAGS+=-I/usr/include/gstreamer-1.0 \
- -I/usr/include/glib-2.0 \
- -I/usr/lib/glib-2.0/include \
- -I/usr/include/libxml2
-LIBS+=-lgstreamer-1.0 -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lGLU -lGL
-endif
-
-
-.PHONY : all
-all: $(REXE)
-
-$(REXE): $(OBJ)
- $(CPP) $(OBJ) $(LDFLAGS) $(LIBS) -o $@
-
-.PHONY : clean
-clean:
- -$(RM) $(OBJ) core
diff --git a/tests/examples/generic/recordgraphic/Makefile.am b/tests/examples/generic/recordgraphic/Makefile.am
new file mode 100644
index 0000000..964176b
--- /dev/null
+++ b/tests/examples/generic/recordgraphic/Makefile.am
@@ -0,0 +1,8 @@
+
+noinst_PROGRAMS = recordgraphic
+
+recordgraphic_SOURCES = main.cpp
+
+recordgraphic_CXXFLAGS=$(GST_PLUGINS_GL_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
+recordgraphic_LDADD=$(GST_PLUGINS_GL_LIBS) $(GST_LIBS) $(GL_LIBS)
+
diff --git a/tests/examples/generic/recordgraphic/main.cpp b/tests/examples/generic/recordgraphic/main.cpp
index 6bc1947..c242df9 100644
--- a/tests/examples/generic/recordgraphic/main.cpp
+++ b/tests/examples/generic/recordgraphic/main.cpp
@@ -19,6 +19,10 @@
*/
#include <GL/gl.h>
+#include <GL/glu.h>
+#if __WIN32__ || _WIN32
+# include <GL/glext.h>
+#endif
#include <gst/gst.h>
#include <gst/video/video.h>
@@ -47,7 +51,7 @@ static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data)
if (debug)
{
- g_print ("Debug deails: %s\n", debug);
+ g_print ("Debug details: %s\n", debug);
g_free (debug);
}
@@ -156,15 +160,15 @@ gboolean drawCallback (GLuint width, GLuint height, GLuint texture, gpointer dat
//equivalent command line:
-//gst-launch-1.0 videotestsrc num_buffers=400 ! glupload ! gldownload !
-//ffenc_mpeg4 ! avimux ! filesink location="record.avi"
+//gst-launch-1.0 videotestsrc num_buffers=400 ! gleffects effect=0 !
+//avenc_mpeg4 ! avimux ! filesink location="record.avi"
// or
-//gst-launch-1.0 videotestsrc num_buffers=400 ! glupload ! "video/x-raw, width=320, height=240" ! glfiltercube ! "video/x-raw, width=720, height=576" !
-//gldownload ! ffenc_mpeg4 ! avimux ! filesink location="record.avi"
+//gst-launch-1.0 videotestsrc num_buffers=400 ! gleffects effect=0 ! "video/x-raw, width=320, height=240" ! glfiltercube ! "video/x-raw, width=720, height=576" !
+//avenc_mpeg4 ! avimux ! filesink location="record.avi"
gint main (gint argc, gchar *argv[])
{
GstStateChangeReturn ret;
- GstElement *pipeline, *videosrc, *glupload, *glfilterapp, *gldownload, *ffenc_mpeg4, *avimux, *filesink;
+ GstElement *pipeline, *videosrc, *glfilterapp, *avenc_mpeg4, *avimux, *filesink;
GMainLoop *loop;
GstBus *bus;
@@ -183,15 +187,13 @@ gint main (gint argc, gchar *argv[])
/* create elements */
videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc0");
- glupload = gst_element_factory_make ("glupload", "glupload0");
glfilterapp = gst_element_factory_make ("glfilterapp", "glfilterapp0");
- gldownload = gst_element_factory_make ("gldownload", "gldownload0");
- ffenc_mpeg4 = gst_element_factory_make ("ffenc_mpeg4", "ffenc_mpeg40");
+ avenc_mpeg4 = gst_element_factory_make ("avenc_mpeg4", "avenc_mpeg40");
avimux = gst_element_factory_make ("avimux", "avimux0");
filesink = gst_element_factory_make ("filesink", "filesink0");
- if (!videosrc || !glupload || !glfilterapp || !gldownload || !ffenc_mpeg4 || !avimux || !filesink)
+ if (!videosrc || !glfilterapp || !avenc_mpeg4 || !avimux || !filesink)
{
g_print ("one element could not be found \n");
return -1;
@@ -219,30 +221,26 @@ gint main (gint argc, gchar *argv[])
g_object_set(G_OBJECT(filesink), "location", "record.avi", NULL);
/* add elements */
- gst_bin_add_many (GST_BIN (pipeline), videosrc, glupload, glfilterapp, gldownload,
- ffenc_mpeg4, avimux, filesink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), videosrc, glfilterapp,
+ avenc_mpeg4, avimux, filesink, NULL);
/* link elements */
- gboolean link_ok = gst_element_link_filtered(videosrc, glupload, caps) ;
+ gboolean link_ok = gst_element_link_filtered(videosrc, glfilterapp, caps) ;
gst_caps_unref(caps) ;
if(!link_ok)
{
- g_warning("Failed to link videosrc to glupload!\n") ;
+ g_warning("Failed to link videosrc to glfilterapp!\n") ;
return -1 ;
}
- if (!gst_element_link_many(glupload, glfilterapp, gldownload, NULL))
- {
- g_print ("Failed to link one or more elements!\n");
- return -1;
- }
- link_ok = gst_element_link_filtered(gldownload, ffenc_mpeg4, outcaps) ;
+
+ link_ok = gst_element_link_filtered(glfilterapp, avenc_mpeg4, outcaps) ;
gst_caps_unref(outcaps) ;
if(!link_ok)
{
- g_warning("Failed to link glvideomaker to ffenc_mpeg4!\n") ;
+ g_warning("Failed to link glfilterapp to avenc_mpeg4!\n") ;
return -1 ;
}
- if (!gst_element_link_many(ffenc_mpeg4, avimux, filesink, NULL))
+ if (!gst_element_link_many(avenc_mpeg4, avimux, filesink, NULL))
{
g_print ("Failed to link one or more elements!\n");
return -1;
diff --git a/tests/pipelines b/tests/pipelines
index d4b8e02..4fafcc8 100644..100755
--- a/tests/pipelines
+++ b/tests/pipelines
@@ -1,5 +1,5 @@
-//list of pipelines that show the gst-plugins-gl capabilities
-//(can use gst-launch-1.0 --gst-debug=gldisplay:3 pipeline)
+#list of pipelines that show the gst-plugins-gl capabilities
+#(can use gst-launch-1.0 --gst-debug=gldisplay:3 pipeline)
gst-launch-1.0 videotestsrc ! glimagesink
gst-launch-1.0 videotestsrc num_buffers = 200 ! glimagesink
@@ -10,70 +10,69 @@ gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YV12" ! glimagesink
gst-launch-1.0 gltestsrc ! glimagesink
gst-launch-1.0 gltestsrc ! "video/x-raw, width=720, height=576" ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! "video/x-raw, width=720, height=576" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)AYUV, width=380, height=288" ! glupload ! "video/x-raw, width=720, height=576" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)I420, width=720,height=576" ! glupload ! "video/x-raw, width=240, height=320" ! glimagesink
-
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube ! glfiltercube ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube ! glimagesink force-aspect-ratio=1
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube red=1.0 green=0.5 blue=0.1 ! glfiltercube red=0.6 green=0.9 blue=1.0 ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube red=0.6 green=0.2 blue=1.0 ! glfiltercube fovy=50.0 znear=0.2 zfar=1000.0 ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! "video/x-raw, width=720, height=576" ! glfiltercube ! "video/x-raw, width=320, height=240" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)AYUV, width=320, height=240" ! glupload ! "video/x-raw, width=720, height=576" ! glfiltercube ! "video/x-raw, width=320, height=240" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, width=320, height=240" ! glupload ! "video/x-raw, width=800, height=600" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YUY2, width=320, height=240" ! glupload ! "video/x-raw, width=800, height=600" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)I420, width=320, height=240" ! glupload ! "video/x-raw, width=800, height=600" ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! "video/x-raw, width=720, height=576" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)AYUV, width=380, height=288" ! gleffects effect=0 ! "video/x-raw, width=720, height=576" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)I420, width=720,height=576" ! gleffects effect=0 ! "video/x-raw, width=240, height=320" ! glimagesink
+
+gst-launch-1.0 videotestsrc ! glfiltercube ! glimagesink
+gst-launch-1.0 videotestsrc ! glfiltercube ! glfiltercube ! glimagesink
+gst-launch-1.0 videotestsrc ! glfiltercube ! glimagesink force-aspect-ratio=1
+gst-launch-1.0 videotestsrc ! glfiltercube red=1.0 green=0.5 blue=0.1 ! glfiltercube red=0.6 green=0.9 blue=1.0 ! glimagesink
+gst-launch-1.0 videotestsrc ! glfiltercube red=0.6 green=0.2 blue=1.0 ! glfiltercube fovy=50.0 znear=0.2 zfar=1000.0 ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! "video/x-raw, width=720, height=576" ! glfiltercube ! "video/x-raw, width=320, height=240" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)AYUV, width=320, height=240" ! gleffects effect=0 ! "video/x-raw, width=720, height=576" ! glfiltercube ! "video/x-raw, width=320, height=240" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, width=320, height=240" ! gleffects effect=0 ! "video/x-raw, width=800, height=600" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YUY2, width=320, height=240" ! gleffects effect=0 ! "video/x-raw, width=800, height=600" ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)I420, width=320, height=240" ! gleffects effect=0 ! "video/x-raw, width=800, height=600" ! glimagesink
gst-launch-1.0 gltestsrc ! glfiltercube ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfilterapp ! glimagesink
+gst-launch-1.0 videotestsrc ! glfilterapp ! glimagesink
gst-launch-1.0 gltestsrc ! glfilterapp ! glimagesink
gst-launch-1.0 videotestsrc ! glcolorscale ! ximagesink
gst-launch-1.0 videotestsrc ! glcolorscale ! glimagesink
gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YV12, width=640, height=480" ! glcolorscale ! "video/x-raw, width=320, height=240" ! ximagesink
-gst-launch-1.0 gltestsrc ! gldownload ! glcolorscale ! glimagesink
+gst-launch-1.0 gltestsrc ! videoconvert ! glcolorscale ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! gldownload ! ximagesink
-gst-launch-1.0 videotestsrc ! glupload ! gldownload ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! gldownload ! "video/x-raw, format=(string)UYVY" ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! gldownload ! "video/x-raw, format=(string)AYUV" ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! ximagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! "video/x-raw, format=(string)UYVY" ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! "video/x-raw, format=(string)AYUV" ! glimagesink
-gst-launch-1.0 videotestsrc num_buffers=200 ! glupload ! video/x-raw, width=720, height=576 ! glfiltercube ! video/x-raw, width=320, height=240 ! gldownload ! ffenc_mpeg4 ! avimux ! filesink location="record.avi"
-gst-launch-1.0 gltestsrc ! glfiltercube ! gldownload ! ximagesink
-gst-launch-1.0 videotestsrc ! glupload ! gldownload ! glupload ! gldownload ! glupload ! glimagesink
+gst-launch-1.0 videotestsrc num_buffers=200 ! gleffects effect=0 ! video/x-raw, width=720, height=576 ! glfiltercube ! video/x-raw, width=320, height=240 ! gleffects effect=0 ! avenc_mpeg4 ! avimux ! filesink location="record.avi"
+gst-launch-1.0 gltestsrc ! glfiltercube ! ximagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! videoconvert ! gleffects effect=0 ! videoconvert ! glimagesink
gst-launch-1.0 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glimagesink t. ! queue ! glimagesink
-gst-launch-1.0 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glupload ! glfiltercube ! glimagesink
-gst-launch-1.0 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glupload ! glfiltercube ! glimagesink t. ! queue ! glcolorscale ! glimagesink
+gst-launch-1.0 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glfiltercube ! glimagesink
+gst-launch-1.0 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glfiltercube ! glimagesink t. ! queue ! glcolorscale ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube ! glfilterlaplacian ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfilterlaplacian ! glfiltercube ! glimagesink
+gst-launch-1.0 videotestsrc ! glfiltercube ! glfilterlaplacian ! glimagesink
+gst-launch-1.0 videotestsrc ! glfilterlaplacian ! glfiltercube ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfilterblur ! glimagesink
+gst-launch-1.0 videotestsrc ! glfilterblur ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfiltercube ! gleffects effect=3 ! glimagesink
+gst-launch-1.0 videotestsrc ! glfiltercube ! gleffects effect=3 ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glbumper location=normalmap.png ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glbumper location=bumpwall.png ! "video/x-raw, width=1200, height=800" ! glimagesink
+gst-launch-1.0 videotestsrc ! glbumper location=normalmap.png ! glimagesink
+gst-launch-1.0 videotestsrc ! glbumper location=bumpwall.png ! "video/x-raw, width=1200, height=800" ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! glfilterglass ! glimagesink
-gst-launch-1.0 videotestsrc ! glupload ! "video/x-raw, width=640, height=480" ! glfilterglass ! glimagesink
+gst-launch-1.0 videotestsrc ! glfilterglass ! glimagesink
+gst-launch-1.0 videotestsrc ! gleffects effect=0 ! "video/x-raw, width=640, height=480" ! glfilterglass ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YUY2" ! glupload ! queue ! glmosaic name=m ! glimagesink videotestsrc pattern=12 ! "video/x-raw, format=(string)I420, framerate=(fraction)5/1, width=100, height=200" ! glupload ! queue ! m. videotestsrc ! "video/x-raw, framerate=(fraction)15/1, width=1500, height=1500" ! glupload ! gleffects effect=3 ! queue ! m. videotestsrc ! glupload ! gleffects effect=2 ! queue ! m. videotestsrc ! glupload ! glfiltercube ! queue ! m. videotestsrc ! glupload ! gleffects effect=6 ! queue ! m.
+gst-launch-1.0 videotestsrc ! "video/x-raw, format=(string)YUY2" ! gleffects effect=0 ! queue ! glmosaic name=m ! glimagesink videotestsrc pattern=12 ! "video/x-raw, format=(string)I420, framerate=(fraction)5/1, width=100, height=200" ! gleffects effect=0 ! queue ! m. videotestsrc ! "video/x-raw, framerate=(fraction)15/1, width=1500, height=1500" ! gleffects effect=3 ! queue ! m. videotestsrc ! gleffects effect=2 ! queue ! m. videotestsrc ! glfiltercube ! queue ! m. videotestsrc ! gleffects effect=6 ! queue ! m.
-gst-launch-1.0 -v videotestsrc ! glupload ! gloverlay location=image.png proportion-png=40 proportion-video=40 xpos-png=75 ypos-png=50 xpos-video=30 ypos-video=50 rotate-png=2 rotate-video=2 angle-png=-15 angle-video=15 ! glimagesink
+gst-launch-1.0 -v videotestsrc ! gloverlay location=image.png proportion-png=40 proportion-video=40 xpos-png=75 ypos-png=50 xpos-video=30 ypos-video=50 rotate-png=2 rotate-video=2 angle-png=-15 angle-video=15 ! glimagesink
gst-launch-1.0 videotestsrc ! "video/x-raw, pixel-aspect-ratio=(fraction)5/2" ! glimagesink
-gst-launch-1.0 videotestsrc ! "video/x-raw,format=(string)I420,width=720,height=576,pixel-aspect-ratio=(fraction)64/45" ! glupload ! glimagesink
+gst-launch-1.0 videotestsrc ! "video/x-raw,format=(string)I420,width=720,height=576,pixel-aspect-ratio=(fraction)64/45" ! gleffects effect=0 ! glimagesink
gst-launch-1.0 audiotestsrc ! libvisual_gl_projectM ! "video/x-raw,width=800, height=600" ! gleffects effect=tunnel ! glimagesink
-gst-launch-1.0 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink
+gst-launch-1.0 audiotestsrc ! libvisual_gl_lv_gltest ! videoconvert ! glimagesink
-gst-launch-1.0 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
+gst-launch-1.0 audiotestsrc ! libvisual_gl_lv_gltest ! ximagesink
// OPENGL ES 2.0
-LD_LIBRARY_PATH=/home/julien/dev/SDKPackage_OGLES2/Builds/OGLES2/LinuxX86/Lib/:/usr/lib/nvidia-current-updates/ gst-launch-1.0 videotestsrc ! glupload ! gleffects effect=2 ! glimagesink
+LD_LIBRARY_PATH=/home/julien/dev/SDKPackage_OGLES2/Builds/OGLES2/LinuxX86/Lib/:/usr/lib/nvidia-current-updates/ gst-launch-1.0 videotestsrc ! gleffects effect=2 ! glimagesink