removed cothread-specific code from gstinfo.c because the new cothreads has no cothread_self()

Original commit message from CVS:
* removed cothread-specific code from gstinfo.c because the new cothreads has no cothread_self()
* added a new scheduler, untested but it does compile :-)
* cothreads links to the scheduler, not core now
* no installation of cothreads headers
This commit is contained in:
Andy Wingo 2002-02-11 01:38:55 +00:00
parent 767d5c53a7
commit 8af369ecf6
7 changed files with 1337 additions and 9 deletions

View file

@ -107,7 +107,6 @@ distclean-local:
libgstreamerincludedir = $(includedir)/gstreamer
libgstreamerinclude_HEADERS = \
cothreads.h \
gst.h \
gstconfig.h \
gstmarshal.h \
@ -158,7 +157,7 @@ libgstreamer_la_CFLAGS = -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\"
# the compiler shoots cothreads.c in the head at -O6
libcothreads_la_CFLAGS = $(libgstreamer_la_CFLAGS) -O2
libgstreamer_la_LIBADD = $(LIBGST_LIBS) libcothreads.la
libgstreamer_la_LIBADD = $(LIBGST_LIBS)
libgstreamer_la_LDFLAGS = @GST_LT_LDFLAGS@ -version-info @GST_LIBVERSION@
EXTRA_DIST = ROADMAP

View file

@ -20,6 +20,7 @@
*/
#include <gst/gst.h>
#include "../cothreads.h"
GstElementDetails gst_autoplugcache_details = {
"AutoplugCache",
@ -235,7 +236,7 @@ gst_autoplugcache_loop (GstElement *element)
if (GST_STATE(cache) != oldstate) {
gst_object_ref (GST_OBJECT (cache));
GST_DEBUG(GST_CAT_AUTOPLUG, "state changed during signal, aborting\n");
cothread_switch(cothread_current_main());
gst_element_yield (cache);
}
gst_object_unref (GST_OBJECT (cache));
}

View file

@ -24,6 +24,7 @@
#include "gst_private.h"
#include "gstelement.h"
#include "gstpad.h"
#include "gstscheduler.h"
#if defined __sgi__
#include <rld_interface.h>
@ -188,7 +189,7 @@ gst_default_debug_handler (gint category, gboolean incore,
gchar *empty = "";
gchar *elementname = empty,*location = empty;
int pthread_id = getpid();
int cothread_id = cothread_getcurrent();
int cothread_id = 0; /*FIXME*/
#ifdef GST_DEBUG_COLOR
int pthread_color = pthread_id%6 + 31;
int cothread_color = (cothread_id < 0) ? 37 : (cothread_id%6 + 31);
@ -306,7 +307,7 @@ gst_default_info_handler (gint category, gboolean incore,
gchar *empty = "";
gchar *elementname = empty,*location = empty;
int pthread_id = getpid();
int cothread_id = cothread_getcurrent();
int cothread_id = 0; /*FIXME*/
#ifdef GST_DEBUG_COLOR
int pthread_color = pthread_id%6 + 31;
int cothread_color = (cothread_id < 0) ? 37 : (cothread_id%6 + 31);

View file

@ -31,8 +31,6 @@
#include <config.h>
#endif
#include "cothreads.h"
/***** are we in the core or not? *****/
#ifdef __GST_PRIVATE_H__

View file

@ -1,8 +1,13 @@
plugindir = $(libdir)/gst
plugin_LTLIBRARIES = libgstbasicscheduler.la
plugin_LTLIBRARIES = libgstbasicscheduler.la libgststandardscheduler.la
libgstbasicscheduler_la_SOURCES = gstbasicscheduler.c
libgstbasicscheduler_la_CFLAGS = $(GST_CFLAGS)
libgstbasicscheduler_la_LIBADD = $(GST_LIBS)
libgstbasicscheduler_la_LIBADD = $(GST_LIBS) ../libcothreads.la
libgstbasicscheduler_la_LDFLAGS = @GST_LT_LDFLAGS@
libgststandardscheduler_la_SOURCES = gststandardscheduler.c
libgststandardscheduler_la_CFLAGS = $(GST_CFLAGS) -I$(top_srcdir)/libs/ext/cothreads
libgststandardscheduler_la_LIBADD = $(GST_LIBS) $(top_builddir)/libs/ext/cothreads/cothreads/libcothreads-gthreads.la
libgststandardscheduler_la_LDFLAGS = @GST_LT_LDFLAGS@

View file

@ -22,6 +22,7 @@
/*#define GST_DEBUG_ENABLED */
#include <gst/gst.h>
#include <../cothreads.h>
typedef struct _GstSchedulerChain GstSchedulerChain;

File diff suppressed because it is too large Load diff