gl/examples/gtk: call XInitThreads

Fixes some sporadic X11 threading assertions.
This commit is contained in:
Matthew Waters 2016-03-17 16:31:52 +11:00
parent 74bbd4c1aa
commit 0703c04414
7 changed files with 48 additions and 9 deletions

View file

@ -4,8 +4,8 @@ filtervideooverlay_SOURCES = main.cpp
filtervideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS)
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
filtervideooverlay_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)

View file

@ -18,12 +18,19 @@
* Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gst/gst.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include "../gstgtk.h"
#ifdef HAVE_X11
#include <X11/Xlib.h>
#endif
static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
{
@ -149,6 +156,10 @@ static gchar* slider_fps_cb (GtkScale* scale, gdouble value, GstElement* pipelin
gint main (gint argc, gchar *argv[])
{
#ifdef HAVE_X11
XInitThreads ();
#endif
gtk_init (&argc, &argv);
gst_init (&argc, &argv);

View file

@ -5,16 +5,16 @@ fxtest_SOURCES = fxtest.c
fxtest_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS)
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
fxtest_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
pixbufdrop_SOURCES = pixbufdrop.c
pixbufdrop_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS)
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
pixbufdrop_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)

View file

@ -32,6 +32,10 @@
#include <gst/video/videooverlay.h>
#ifdef HAVE_X11
#include <X11/Xlib.h>
#endif
static GstBusSyncReply
create_window (GstBus * bus, GstMessage * message, GtkWidget * widget)
@ -179,6 +183,10 @@ main (gint argc, gchar * argv[])
GstBus *bus;
GError *error = NULL;
#ifdef HAVE_X11
XInitThreads ();
#endif
GtkWidget *window;
GtkWidget *screen;
GtkWidget *vbox, *combo;

View file

@ -32,6 +32,10 @@
#include <gst/video/videooverlay.h>
#ifdef HAVE_X11
#include <X11/Xlib.h>
#endif
static gint delay = 0;
static gint saveddelay = 0;
static gint method = 1;
@ -200,6 +204,10 @@ main (gint argc, gchar * argv[])
{NULL}
};
#ifdef HAVE_X11
XInitThreads ();
#endif
context = g_option_context_new (NULL);
g_option_context_add_main_entries (context, options, NULL);
g_option_context_add_group (context, gst_init_get_option_group ());
@ -219,7 +227,7 @@ main (gint argc, gchar * argv[])
if (source_desc == NULL) {
source_desc =
g_strdup
("videotestsrc ! video/x-raw, width=352, height=288 ! identity");
("videotestsrc ! video/x-raw, width=352, height=288 ! identity ! glupload");
}
sourcebin =

View file

@ -4,8 +4,8 @@ gtkvideooverlay_SOURCES = main.cpp
gtkvideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS)
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
gtkvideooverlay_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)

View file

@ -18,12 +18,20 @@
* Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gst/gst.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include "../gstgtk.h"
#ifdef HAVE_X11
#include <X11/Xlib.h>
#endif
static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
{
@ -140,6 +148,10 @@ static gchar* slider_fps_cb (GtkScale* scale, gdouble value, GstElement* pipelin
gint main (gint argc, gchar *argv[])
{
#ifdef HAVE_X11
XInitThreads ();
#endif
GtkWidget *area;
gst_init (&argc, &argv);
gtk_init (&argc, &argv);