diff options
author | Andy Wingo <wingo@pobox.com> | 2002-04-16 17:14:05 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2002-04-16 17:14:05 +0000 |
commit | b40069a51296860a428cd1a9ef51bcbcf522f1ba (patch) | |
tree | 4694bd3b2781ded409c1a031c0be97155cddf6ce /ext/jack/gstjack.h | |
parent | 8d71425079a3a56e0a64838c319dfcd594a9e599 (diff) | |
download | gst-plugins-bad-b40069a51296860a428cd1a9ef51bcbcf522f1ba.tar.gz gst-plugins-bad-b40069a51296860a428cd1a9ef51bcbcf522f1ba.tar.bz2 gst-plugins-bad-b40069a51296860a428cd1a9ef51bcbcf522f1ba.zip |
Finally we're on to a proper jack setup, with a specialized bin and elements that can only go in a jack bin. I had to...
Original commit message from CVS:
Finally we're on to a proper jack setup, with a specialized bin and elements
that can only go in a jack bin. I had to fix the parser first to do this, but
to run it, the syntax is like so:
gst-launch jackbin.( filesrc ! mad ! jacksink )
But of course it's not fully functional yet. Sigh.
Diffstat (limited to 'ext/jack/gstjack.h')
-rw-r--r-- | ext/jack/gstjack.h | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/ext/jack/gstjack.h b/ext/jack/gstjack.h index da6940f2..38763cd6 100644 --- a/ext/jack/gstjack.h +++ b/ext/jack/gstjack.h @@ -42,11 +42,19 @@ #define GST_IS_JACK_SRC_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_JACK_SRC) #define GST_TYPE_JACK_SRC gst_jack_src_get_type() +#define GST_JACK_BIN(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_JACK_BIN, GstJackBin) +#define GST_JACK_BIN_CLASS(klass) G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_JACK_BIN, GstJackClass) +#define GST_IS_JACK_BIN(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_JACK_BIN) +#define GST_IS_JACK_BIN_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_JACK_BIN) +#define GST_TYPE_JACK_BIN gst_jack_bin_get_type() + #define GST_JACK_PAD(l) ((GstJackPad*)l->data) /* l is a GList */ typedef struct _GstJack GstJack; typedef struct _GstJackClass GstJackClass; +typedef struct _GstJackBin GstJackBin; +typedef struct _GstJackBinClass GstJackBinClass; typedef GstJack GstJackSink; typedef GstJackClass GstJackSinkClass; typedef GstJack GstJackSrc; @@ -54,9 +62,9 @@ typedef GstJackClass GstJackSrcClass; enum { - GST_JACK_OPEN = GST_ELEMENT_FLAG_LAST, + GST_JACK_OPEN = GST_BIN_FLAG_LAST, GST_JACK_ACTIVE, - GST_JACK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 3, + GST_JACK_FLAG_LAST = GST_BIN_FLAG_LAST + 3, }; @@ -69,24 +77,6 @@ typedef struct { jack_port_t *port; } GstJackPad; -typedef struct { - GstBin *manager; - - jack_client_t *client; - gint default_new_port_number; - - /* lists of GstJackPads */ - GList *sink_pads; - GList *src_pads; - - gchar *client_name; - - guint rate; - nframes_t nframes; - - guint refcount; -} GstJackClient; - struct _GstJack { GstElement element; @@ -98,16 +88,36 @@ struct _GstJack { gchar *port_name_prefix; - /* there is exactly one client per managing bin */ - GstJackClient *client; + GstJackBin *bin; }; struct _GstJackClass { GstElementClass parent_class; }; +struct _GstJackBin { + GstBin bin; + + jack_client_t *client; + gint default_new_port_number; + + /* lists of GstJackPads */ + GList *sink_pads; + GList *src_pads; + + gchar *client_name; + + guint rate; + nframes_t nframes; +}; + +struct _GstJackBinClass { + GstBinClass parent_class; +}; + GType gst_jack_get_type (void); +GType gst_jack_bin_get_type (void); GType gst_jack_sink_get_type (void); GType gst_jack_src_get_type (void); |