some jack fixes, alsa touchups, and add rtp by default to the build if there are any problems building rtp, we're mov...

Original commit message from CVS:
some jack fixes, alsa touchups, and add rtp by default to the build

if there are any problems building rtp, we're moving it back to experimental ;)
This commit is contained in:
Andy Wingo 2002-05-04 18:57:44 +00:00 committed by Tim-Philipp Müller
parent 1613f0e514
commit fdd942826a
3 changed files with 37 additions and 16 deletions

View file

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset: 4 -*- */
/* /*
Copyright (C) 2002 Andy Wingo <wingo@pobox.com> Copyright (C) 2002 Andy Wingo <wingo@pobox.com>

View file

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset: 4 -*- */
/* /*
Copyright (C) 2002 Andy Wingo <wingo@pobox.com> Copyright (C) 2002 Andy Wingo <wingo@pobox.com>
@ -109,6 +110,10 @@ struct _GstJackBin {
guint rate; guint rate;
nframes_t nframes; nframes_t nframes;
/* the scheduler needs to be setup from within the jack client thread; this
variable is to keep track of whether or not we have been set up yet */
gboolean sched_setup;
}; };
struct _GstJackBinClass { struct _GstJackBinClass {

View file

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset: 4 -*- */
/* /*
Copyright (C) 2002 Andy Wingo <wingo@pobox.com> Copyright (C) 2002 Andy Wingo <wingo@pobox.com>
@ -73,6 +74,14 @@ gst_jack_bin_class_init(GstJackClass *klass)
static void static void
gst_jack_bin_init(GstJack *this) gst_jack_bin_init(GstJack *this)
{ {
GST_DEBUG (GST_CAT_THREAD, "initializing jack bin");
/* jack bins are managing bins and iterate themselves */
GST_FLAG_SET (this, GST_BIN_FLAG_MANAGER);
GST_FLAG_SET (this, GST_BIN_SELF_SCHEDULABLE);
/* make a new scheduler and associate it with the bin */
gst_scheduler_factory_make (NULL, GST_ELEMENT (this));
} }
static GstElementStateReturn static GstElementStateReturn
@ -237,6 +246,12 @@ sample_rate (nframes_t nframes, void *arg)
GstJackBin *bin = (GstJackBin*) arg; GstJackBin *bin = (GstJackBin*) arg;
printf ("the sample rate is now %lu/sec\n", nframes); printf ("the sample rate is now %lu/sec\n", nframes);
bin->rate = nframes; bin->rate = nframes;
if (!bin->sched_setup) {
gst_scheduler_setup (GST_ELEMENT_SCHED (bin));
bin->sched_setup = TRUE;
}
return 0; return 0;
} }