summaryrefslogtreecommitdiffstats
path: root/ext/wavpack/gstwavpackparse.h
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2007-03-30 04:50:11 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2007-03-30 04:50:11 +0000
commit6d8e6c9bb0ffd82a91daf4f7f851cfa5bdfacdaf (patch)
tree15b6b3d6577b565e6253ec63ffdec50a47c73b56 /ext/wavpack/gstwavpackparse.h
parentbfd65c42d11304827349a98f913f338c86d37eed (diff)
ext/wavpack/: Don't play audioconvert. As wavpack wants/outputs all samples with width==32 and depth=[1,32] accept th...
Original commit message from CVS: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset), (gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps), (gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_post_tags), (gst_wavpack_dec_chain): * ext/wavpack/gstwavpackdec.h: * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_reset), (gst_wavpack_enc_sink_set_caps), (gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_chain): * ext/wavpack/gstwavpackenc.h: * ext/wavpack/gstwavpackparse.c: Don't play audioconvert. As wavpack wants/outputs all samples with width==32 and depth=[1,32] accept this and let audioconvert convert to accepted formats instead of doing it in the element for n*8 depths. This also adds support for non-n*8 depths and prevents some useless memory allocations. Fixes #421598 Also add a workaround for bug #421542 in wavpackenc for now... * tests/check/elements/wavpackdec.c: (GST_START_TEST): * tests/check/elements/wavpackenc.c: (GST_START_TEST): * tests/check/elements/wavpackparse.c: (GST_START_TEST): Consider the change above in the unit tests and test if the correct caps are accepted and set. Also check for GST_BUFFER_OFFSET_END in the wavpackparse unit test. * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps): Set caps on the src pad as soon as possible. * ext/wavpack/gstwavpackdec.h: * ext/wavpack/gstwavpackcommon.h: * ext/wavpack/gstwavpackenc.h: * ext/wavpack/gstwavpackparse.h: Fix indention. gst-indent is now called by cicl.
Diffstat (limited to 'ext/wavpack/gstwavpackparse.h')
-rw-r--r--ext/wavpack/gstwavpackparse.h52
1 files changed, 25 insertions, 27 deletions
diff --git a/ext/wavpack/gstwavpackparse.h b/ext/wavpack/gstwavpackparse.h
index ed7db73a..7729c0f4 100644
--- a/ext/wavpack/gstwavpackparse.h
+++ b/ext/wavpack/gstwavpackparse.h
@@ -26,7 +26,6 @@
#include <gst/base/gstadapter.h>
G_BEGIN_DECLS
-
#define GST_TYPE_WAVPACK_PARSE \
(gst_wavpack_parse_get_type())
#define GST_WAVPACK_PARSE(obj) \
@@ -37,58 +36,57 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WAVPACK_PARSE))
#define GST_IS_WAVPACK_PARSE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_WAVPACK_PARSE))
-
-typedef struct _GstWavpackParse GstWavpackParse;
-typedef struct _GstWavpackParseClass GstWavpackParseClass;
+typedef struct _GstWavpackParse GstWavpackParse;
+typedef struct _GstWavpackParseClass GstWavpackParseClass;
typedef struct _GstWavpackParseIndexEntry GstWavpackParseIndexEntry;
-struct _GstWavpackParseIndexEntry {
- gint64 byte_offset; /* byte offset of this chunk */
- gint64 sample_offset; /* first sample in this chunk */
- gint64 sample_offset_end; /* first sample in next chunk */
+struct _GstWavpackParseIndexEntry
+{
+ gint64 byte_offset; /* byte offset of this chunk */
+ gint64 sample_offset; /* first sample in this chunk */
+ gint64 sample_offset_end; /* first sample in next chunk */
};
struct _GstWavpackParse
{
- GstElement element;
+ GstElement element;
- /*< private >*/
- GstPad *sinkpad;
- GstPad *srcpad;
-
- guint samplerate;
- guint channels;
- guint total_samples;
+ /*< private > */
+ GstPad *sinkpad;
+ GstPad *srcpad;
- gboolean need_newsegment;
+ guint samplerate;
+ guint channels;
+ guint total_samples;
- gint64 current_offset; /* byte offset on sink pad */
- gint64 upstream_length; /* length of file in bytes */
+ gboolean need_newsegment;
- GstSegment segment; /* the currently configured segment, in
- * samples/audio frames (DEFAULT format) */
+ gint64 current_offset; /* byte offset on sink pad */
+ gint64 upstream_length; /* length of file in bytes */
- GstAdapter *adapter; /* when operating chain-based, otherwise NULL */
+ GstSegment segment; /* the currently configured segment, in
+ * samples/audio frames (DEFAULT format) */
+
+ GstAdapter *adapter; /* when operating chain-based, otherwise NULL */
/* Array of GstWavpackParseIndexEntry structs, mapping known
* sample offsets to byte offsets. Is kept increasing without
* gaps (ie. append only and consecutive entries must always
* map to consecutive chunks in the file). */
- GArray *entries;
+ GArray *entries;
/* Queued events (e.g. tag events we receive before we create the src pad) */
- GList *queued_events; /* STREAM_LOCK */
+ GList *queued_events; /* STREAM_LOCK */
};
-struct _GstWavpackParseClass
+struct _GstWavpackParseClass
{
GstElementClass parent;
};
GType gst_wavpack_parse_get_type (void);
-gboolean gst_wavpack_parse_plugin_init (GstPlugin *plugin);
+gboolean gst_wavpack_parse_plugin_init (GstPlugin * plugin);
G_END_DECLS
-
#endif /* __GST_WAVPACK_PARSE_H__ */