summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu.duponchelle@epitech.eu>2013-07-16 18:27:07 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-17 11:10:59 +0200
commitd868b734996b7b2e36d52d0283f4966f213167da (patch)
tree2895630002d84f69df3bac5393760a9cbd49b930
parent8e5a9daed5a65eb3c6c9bfbc05ed049d9b1ba82e (diff)
tests/examples: fix and port some of the examples.
Realize widgets, remove glupload element.
-rw-r--r--tests/examples/gtk/filternovideooverlay/main.cpp11
-rw-r--r--tests/examples/gtk/fxtest/fxtest.c7
-rw-r--r--tests/examples/gtk/fxtest/pixbufdrop.c23
-rw-r--r--tests/examples/gtk/gtkvideooverlay/main.cpp37
-rw-r--r--tests/examples/gtk/switchvideooverlay/main.cpp30
-rw-r--r--tests/examples/sdl/sdlshare.c2
6 files changed, 30 insertions, 80 deletions
diff --git a/tests/examples/gtk/filternovideooverlay/main.cpp b/tests/examples/gtk/filternovideooverlay/main.cpp
index eb1afd5..df01d1a 100644
--- a/tests/examples/gtk/filternovideooverlay/main.cpp
+++ b/tests/examples/gtk/filternovideooverlay/main.cpp
@@ -128,7 +128,6 @@ gint main (gint argc, gchar *argv[])
gtk_widget_show (window_control);
GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
- GstElement* glupload = gst_element_factory_make ("glupload", "glupload");
GstElement* glfilterlaplacian = gst_element_factory_make ("glfilterblur", "glfilterblur");
GstElement* glfiltercube = gst_element_factory_make ("glfiltercube", "glfiltercube");
GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
@@ -140,19 +139,19 @@ gint main (gint argc, gchar *argv[])
"format", G_TYPE_STRING, "YV12",
NULL) ;
- gst_bin_add_many (GST_BIN (pipeline), videosrc, glupload, glfiltercube, glfilterlaplacian, videosink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), videosrc, glfiltercube, glfilterlaplacian, videosink, NULL);
- gboolean link_ok = gst_element_link_filtered(videosrc, glupload, caps) ;
+ gboolean link_ok = gst_element_link_filtered(videosrc, glfiltercube, caps) ;
gst_caps_unref(caps) ;
if(!link_ok)
{
- g_warning("Failed to link videosrc to glupload!\n") ;
+ g_warning("Failed to link videosrc to glfiltercube!\n") ;
return -1;
}
- if(!gst_element_link_many(glupload, glfiltercube, glfilterlaplacian, videosink, NULL))
+ if(!gst_element_link_many(glfiltercube, glfilterlaplacian, videosink, NULL))
{
- g_warning("Failed to link glupload to videosink!\n") ;
+ g_warning("Failed to link glfiltercube to videosink!\n") ;
return -1;
}
diff --git a/tests/examples/gtk/fxtest/fxtest.c b/tests/examples/gtk/fxtest/fxtest.c
index c4a8e0b..8152cb8 100644
--- a/tests/examples/gtk/fxtest/fxtest.c
+++ b/tests/examples/gtk/fxtest/fxtest.c
@@ -114,7 +114,7 @@ main (gint argc, gchar * argv[])
{
GstStateChangeReturn ret;
GstElement *pipeline;
- GstElement *uload, *filter, *sink;
+ GstElement *filter, *sink;
GstElement *sourcebin;
GError *error = NULL;
@@ -171,13 +171,12 @@ main (gint argc, gchar * argv[])
pipeline = gst_pipeline_new ("pipeline");
- uload = gst_element_factory_make ("glupload", "glu");
filter = gst_element_factory_make ("gleffects", "flt");
sink = gst_element_factory_make ("glimagesink", "glsink");
- gst_bin_add_many (GST_BIN (pipeline), sourcebin, uload, filter, sink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), sourcebin, filter, sink, NULL);
- if (!gst_element_link_many (sourcebin, uload, filter, sink, NULL)) {
+ if (!gst_element_link_many (sourcebin, filter, sink, NULL)) {
g_print ("Failed to link one or more elements!\n");
return -1;
}
diff --git a/tests/examples/gtk/fxtest/pixbufdrop.c b/tests/examples/gtk/fxtest/pixbufdrop.c
index d9f363b..5f10b01 100644
--- a/tests/examples/gtk/fxtest/pixbufdrop.c
+++ b/tests/examples/gtk/fxtest/pixbufdrop.c
@@ -71,17 +71,6 @@ message_cb (GstBus * bus, GstMessage * message, GstElement * pipeline)
gtk_main_quit ();
}
-static void
-realize_cb (GtkWidget * widget, GstElement * pipeline)
-{
-#if GTK_CHECK_VERSION(2,18,0)
- if (!gdk_window_ensure_native (widget->window))
- g_error ("Failed to create native window!");
-#endif
-
- gst_element_set_state (pipeline, GST_STATE_PLAYING);
-}
-
static gboolean
expose_cb (GtkWidget * widget, GdkEventExpose * event, GstElement * videosink)
{
@@ -187,7 +176,7 @@ gint
main (gint argc, gchar * argv[])
{
GstElement *pipeline;
- GstElement *uload, *filter, *sink;
+ GstElement *filter, *sink;
GstElement *sourcebin;
GstBus *bus;
GError *error = NULL;
@@ -252,7 +241,6 @@ main (gint argc, gchar * argv[])
pipeline = gst_pipeline_new ("pipeline");
- uload = gst_element_factory_make ("glupload", "glu");
if (method == 2) {
filter = gst_element_factory_make ("gloverlay", "flt");
} else {
@@ -260,9 +248,9 @@ main (gint argc, gchar * argv[])
}
sink = gst_element_factory_make ("glimagesink", "glsink");
- gst_bin_add_many (GST_BIN (pipeline), sourcebin, uload, filter, sink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), sourcebin, filter, sink, NULL);
- if (!gst_element_link_many (sourcebin, uload, filter, sink, NULL)) {
+ if (!gst_element_link_many (sourcebin, filter, sink, NULL)) {
g_print ("Failed to link one or more elements!\n");
return -1;
}
@@ -309,6 +297,8 @@ main (gint argc, gchar * argv[])
gtk_container_add (GTK_CONTAINER (window), vbox);
+ gtk_widget_realize (screen);
+
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, screen,
NULL);
@@ -318,7 +308,6 @@ main (gint argc, gchar * argv[])
g_signal_connect (bus, "message::eos", G_CALLBACK (message_cb), pipeline);
gst_object_unref (bus);
g_signal_connect (screen, "expose-event", G_CALLBACK (expose_cb), sink);
- g_signal_connect (screen, "realize", G_CALLBACK (realize_cb), pipeline);
gtk_drag_dest_set (screen, GTK_DEST_DEFAULT_ALL, NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_uri_targets (screen);
@@ -328,6 +317,8 @@ main (gint argc, gchar * argv[])
gtk_widget_show_all (GTK_WIDGET (window));
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
gtk_main ();
return 0;
diff --git a/tests/examples/gtk/gtkvideooverlay/main.cpp b/tests/examples/gtk/gtkvideooverlay/main.cpp
index e4f843d..d01b707 100644
--- a/tests/examples/gtk/gtkvideooverlay/main.cpp
+++ b/tests/examples/gtk/gtkvideooverlay/main.cpp
@@ -36,9 +36,6 @@ static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidge
g_print ("setting window handle\n");
- //at this point we are sure that gdk_window_ensure_native has been already
- //called (see area_realize_cb)
-
//do not call gdk_window_ensure_native for the first time here because
//we are in a different thread than the main thread
//(and the main thread the onne)
@@ -60,32 +57,9 @@ static void end_stream_cb(GstBus* bus, GstMessage* message, GstElement* pipeline
gtk_main_quit();
}
-
-static void area_realize_cb(GtkWidget* widget, GstElement* pipeline)
-{
- g_print ("drawing area realized\n");
-
-#if GTK_CHECK_VERSION(2,18,0)
- //Tries to ensure that there is a native window
- //Call it in the same thread as the one who created this widget
- if (!gdk_window_ensure_native (widget->window))
- g_error ("Failed to create native window!");
-#endif
-
- //avoid flickering when resizing or obscuring the main window
- gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
- gtk_widget_set_app_paintable(widget,TRUE);
- gtk_widget_set_double_buffered(widget, FALSE);
-
- //now we have a native window we can play the pipeline
- gst_element_set_state (pipeline, GST_STATE_PLAYING);
-}
-
-
static gboolean expose_cb(GtkWidget* widget, GdkEventExpose* event, GstElement* videosink)
{
g_print ("expose_cb\n");
- //expose callback is garanted to be called after realized callback
gst_video_overlay_expose (GST_VIDEO_OVERLAY (videosink));
return FALSE;
}
@@ -212,11 +186,10 @@ gint main (gint argc, gchar *argv[])
GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
- GstElement* upload = gst_element_factory_make ("glupload", "glupload");
- gst_bin_add_many (GST_BIN (pipeline), videosrc, upload, videosink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), videosrc, videosink, NULL);
- gboolean link_ok = gst_element_link_many(videosrc, upload, videosink, NULL) ;
+ gboolean link_ok = gst_element_link_many(videosrc, videosink, NULL) ;
if(!link_ok)
{
g_warning("Failed to link an element!\n") ;
@@ -226,8 +199,8 @@ gint main (gint argc, gchar *argv[])
//area where the video is drawn
GtkWidget* area = gtk_drawing_area_new();
gtk_container_add (GTK_CONTAINER (window), area);
- g_signal_connect (area, "realize",
- G_CALLBACK (area_realize_cb), pipeline);
+
+ gtk_widget_realize(area);
//set window id on this event
GstBus* bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
@@ -244,6 +217,8 @@ gint main (gint argc, gchar *argv[])
gtk_widget_show_all (window);
+ gst_element_set_state(pipeline, GST_STATE_PLAYING);
+
gtk_main();
return 0;
diff --git a/tests/examples/gtk/switchvideooverlay/main.cpp b/tests/examples/gtk/switchvideooverlay/main.cpp
index 64126dc..685526f 100644
--- a/tests/examples/gtk/switchvideooverlay/main.cpp
+++ b/tests/examples/gtk/switchvideooverlay/main.cpp
@@ -61,22 +61,6 @@ static gboolean expose_cb(GtkWidget* widget, GdkEventExpose* event, GstElement*
return FALSE;
}
-
-static void area_realize_cb(GtkWidget* widget, GstElement* pipeline)
-{
-#if GTK_CHECK_VERSION(2,18,0)
- if (!gdk_window_ensure_native (widget->window))
- g_error ("Failed to create native window!");
-#endif
-
- //avoid flickering when resizing or obscuring the main window
- gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
- gtk_widget_set_app_paintable(widget,TRUE);
-
- gst_element_set_state (pipeline, GST_STATE_PLAYING);
-}
-
-
static gboolean on_click_drawing_area(GtkWidget* widget, GdkEventButton* event, GstElement* videosink)
{
g_print ("switch the drawing area\n");
@@ -192,11 +176,10 @@ gint main (gint argc, gchar *argv[])
GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
- GstElement* upload = gst_element_factory_make ("glupload", "glupload");
- gst_bin_add_many (GST_BIN (pipeline), videosrc, upload, videosink, NULL);
+ gst_bin_add_many (GST_BIN (pipeline), videosrc, videosink, NULL);
- gboolean link_ok = gst_element_link_many(videosrc, upload, videosink, NULL);
+ gboolean link_ok = gst_element_link_many(videosrc, videosink, NULL);
if(!link_ok)
{
g_warning("Failed to link videosrc to videosink!\n") ;
@@ -214,6 +197,10 @@ gint main (gint argc, gchar *argv[])
gtk_table_attach_defaults (GTK_TABLE (table_areas), area_top_right, 1, 2, 0, 1);
//set window id on this event
+
+ gtk_widget_realize(area_top_left);
+ gtk_widget_realize(area_top_right);
+
GstBus* bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, area_top_right, NULL);
gst_bus_add_signal_watch (bus);
@@ -231,11 +218,10 @@ gint main (gint argc, gchar *argv[])
g_signal_connect(area_top_left, "button-press-event", G_CALLBACK(on_click_drawing_area), videosink);
g_signal_connect(area_top_right, "button-press-event", G_CALLBACK(on_click_drawing_area), videosink);
- g_signal_connect (area_top_left, "realize", G_CALLBACK (area_realize_cb), pipeline);
- g_signal_connect (area_top_right, "realize", G_CALLBACK (area_realize_cb), pipeline);
-
gtk_widget_show_all (window);
+ gst_element_set_state(pipeline, GST_STATE_PLAYING);
+
gtk_main();
return 0;
diff --git a/tests/examples/sdl/sdlshare.c b/tests/examples/sdl/sdlshare.c
index 8665544..871a90b 100644
--- a/tests/examples/sdl/sdlshare.c
+++ b/tests/examples/sdl/sdlshare.c
@@ -297,7 +297,7 @@ main (int argc, char **argv)
pipeline =
GST_PIPELINE (gst_parse_launch
("videotestsrc ! video/x-raw, width=320, height=240, framerate=(fraction)30/1 ! "
- "glupload ! gleffects effect=5 ! fakesink sync=1", NULL));
+ "gleffects effect=5 ! fakesink sync=1", NULL));
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_signal_watch (bus);