diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-05-26 10:28:47 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-05-26 10:28:47 +0000 |
commit | 1c8276c9de90bf4b05e51ddb439c9833115adc85 (patch) | |
tree | a425823be4219c5492022dedc76e7798b4630c0f /gst/interleave/interleave.h | |
parent | 987a903d893d8e5408262717e14319dd56f81cce (diff) | |
download | gst-plugins-bad-1c8276c9de90bf4b05e51ddb439c9833115adc85.tar.gz gst-plugins-bad-1c8276c9de90bf4b05e51ddb439c9833115adc85.tar.bz2 gst-plugins-bad-1c8276c9de90bf4b05e51ddb439c9833115adc85.zip |
gst/interleave/deinterleave.c: Add another example launch line.
Original commit message from CVS:
* gst/interleave/deinterleave.c:
Add another example launch line.
* gst/interleave/interleave.c: (interleave_24),
(gst_interleave_finalize), (gst_interleave_base_init),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_change_state), (__remove_channels),
(__set_channels), (gst_interleave_sink_getcaps),
(gst_interleave_set_process_function),
(gst_interleave_sink_setcaps), (gst_interleave_sink_event),
(gst_interleave_src_query_duration), (gst_interleave_src_query),
(forward_event_func), (forward_event), (gst_interleave_src_event),
(gst_interleave_collected):
* gst/interleave/interleave.h:
Major rewrite of interleave using GstCollectpads. This new version
also supports almost all raw audio formats and has better caps
negotiation. Fixes bug #506594.
Also update docs and add some more examples.
* tests/check/elements/interleave.c: (interleave_chain_func),
(GST_START_TEST), (src_handoff_float32), (sink_handoff_float32),
(interleave_suite):
Add some more extensive unit tests for interleave.
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 |