diff options
Diffstat (limited to 'gst/interleave/interleave.h')
-rw-r--r-- | gst/interleave/interleave.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/gst/interleave/interleave.h b/gst/interleave/interleave.h index 915871eb..65006954 100644 --- a/gst/interleave/interleave.h +++ b/gst/interleave/interleave.h @@ -3,8 +3,9 @@ * 2000 Wim Taymans <wtay@chello.be> * 2005 Wim Taymans <wim@fluendo.com> * 2007 Andy Wingo <wingo at pobox.com> + * 2008 Sebastian Dröge <slomo@circular-chaos.org> * - * interleave.c: interleave samples, based on gstsignalprocessor.c + * interleave.c: interleave samples, mostly based on adder * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -26,6 +27,7 @@ #define __INTERLEAVE_H__ #include <gst/gst.h> +#include <gst/base/gstcollectpads.h> G_BEGIN_DECLS @@ -40,18 +42,34 @@ G_BEGIN_DECLS typedef struct _GstInterleave GstInterleave; typedef struct _GstInterleaveClass GstInterleaveClass; +typedef void (*GstInterleaveFunc) (gpointer out, gpointer in, guint stride, guint nframes); + struct _GstInterleave { GstElement element; /*< private >*/ + GstCollectPads *collect; + + gint channels; + gint rate; + gint width; + GstCaps *sinkcaps; - guint channels; - GstPad *src; - GstActivateMode mode; + GstClockTime timestamp; + guint64 offset; - guint pending_in; + gboolean segment_pending; + guint64 segment_position; + gdouble segment_rate; + GstSegment segment; + + GstPadEventFunction collect_event; + + GstInterleaveFunc func; + + GstPad *src; }; struct _GstInterleaveClass |