summaryrefslogtreecommitdiffstats
path: root/ext/wavpack
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-04-03 18:28:28 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-04-03 18:28:28 +0000
commit8cb180066d38c02c82b844e72fe77a4ba813f231 (patch)
treef5aff7d401221cc491b7f8f452d265ffcf6db6e0 /ext/wavpack
parent23b948553083416f54acf3c3d3da45da57d546a1 (diff)
ext/wavpack/: Use GSlice for allocating index entries and use gst_element_class_set_details_simple().
Original commit message from CVS: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init): * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_base_init): * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_index_entry_new), (gst_wavpack_parse_index_entry_free), (gst_wavpack_parse_base_init), (gst_wavpack_parse_index_append_entry), (gst_wavpack_parse_reset): Use GSlice for allocating index entries and use gst_element_class_set_details_simple().
Diffstat (limited to 'ext/wavpack')
-rw-r--r--ext/wavpack/gstwavpackdec.c12
-rw-r--r--ext/wavpack/gstwavpackenc.c11
-rw-r--r--ext/wavpack/gstwavpackparse.c45
3 files changed, 45 insertions, 23 deletions
diff --git a/ext/wavpack/gstwavpackdec.c b/ext/wavpack/gstwavpackdec.c
index dbe19b01..70c80f0b 100644
--- a/ext/wavpack/gstwavpackdec.c
+++ b/ext/wavpack/gstwavpackdec.c
@@ -96,19 +96,17 @@ GST_BOILERPLATE (GstWavpackDec, gst_wavpack_dec, GstElement, GST_TYPE_ELEMENT);
static void
gst_wavpack_dec_base_init (gpointer klass)
{
- static const GstElementDetails plugin_details =
- GST_ELEMENT_DETAILS ("Wavpack audio decoder",
- "Codec/Decoder/Audio",
- "Decodes Wavpack audio data",
- "Arwed v. Merkatz <v.merkatz@gmx.net>, "
- "Sebastian Dröge <slomo@circular-chaos.org>");
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&src_factory));
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
- gst_element_class_set_details (element_class, &plugin_details);
+ gst_element_class_set_details_simple (element_class, "Wavpack audio decoder",
+ "Codec/Decoder/Audio",
+ "Decodes Wavpack audio data",
+ "Arwed v. Merkatz <v.merkatz@gmx.net>, "
+ "Sebastian Dröge <slomo@circular-chaos.org>");
}
static void
diff --git a/ext/wavpack/gstwavpackenc.c b/ext/wavpack/gstwavpackenc.c
index 1c8a2f51..4b08c1a4 100644
--- a/ext/wavpack/gstwavpackenc.c
+++ b/ext/wavpack/gstwavpackenc.c
@@ -210,12 +210,6 @@ GST_BOILERPLATE (GstWavpackEnc, gst_wavpack_enc, GstElement, GST_TYPE_ELEMENT);
static void
gst_wavpack_enc_base_init (gpointer klass)
{
- static const GstElementDetails element_details = {
- "Wavpack audio encoder",
- "Codec/Encoder/Audio",
- "Encodes audio with the Wavpack lossless/lossy audio codec",
- "Sebastian Dröge <slomo@circular-chaos.org>"
- };
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
/* add pad templates */
@@ -227,7 +221,10 @@ gst_wavpack_enc_base_init (gpointer klass)
gst_static_pad_template_get (&wvcsrc_factory));
/* set element details */
- gst_element_class_set_details (element_class, &element_details);
+ gst_element_class_set_details_simple (element_class, "Wavpack audio encoder",
+ "Codec/Encoder/Audio",
+ "Encodes audio with the Wavpack lossless/lossy audio codec",
+ "Sebastian Dröge <slomo@circular-chaos.org>");
}
diff --git a/ext/wavpack/gstwavpackparse.c b/ext/wavpack/gstwavpackparse.c
index 2cdf0071..4fd00b9b 100644
--- a/ext/wavpack/gstwavpackparse.c
+++ b/ext/wavpack/gstwavpackparse.c
@@ -57,6 +57,33 @@
GST_DEBUG_CATEGORY_STATIC (gst_wavpack_parse_debug);
#define GST_CAT_DEFAULT gst_wavpack_parse_debug
+/* FIXME: unconditionally use GSlice after we depend on GLib >= 2.10 */
+#if GLIB_CHECK_VERSION (2, 10, 0)
+static inline GstWavpackParseIndexEntry *
+gst_wavpack_parse_index_entry_new ()
+{
+ return g_slice_new (GstWavpackParseIndexEntry);
+}
+
+static inline void
+gst_wavpack_parse_index_entry_free (GstWavpackParseIndexEntry * entry)
+{
+ g_slice_free (GstWavpackParseIndexEntry, entry);
+}
+#else
+static inline GstWavpackParseIndexEntry *
+gst_wavpack_parse_index_entry_new ()
+{
+ return g_new (GstWavpackParseIndexEntry, 1);
+}
+
+static inline void
+gst_wavpack_parse_index_entry_free (GstWavpackParseIndexEntry * entry)
+{
+ g_free (entry);
+}
+#endif
+
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
@@ -99,12 +126,6 @@ GST_BOILERPLATE (GstWavpackParse, gst_wavpack_parse, GstElement,
static void
gst_wavpack_parse_base_init (gpointer klass)
{
- static const GstElementDetails plugin_details =
- GST_ELEMENT_DETAILS ("Wavpack parser",
- "Codec/Demuxer/Audio",
- "Parses Wavpack files",
- "Arwed v. Merkatz <v.merkatz@gmx.net>, "
- "Sebastian Dröge <slomo@circular-chaos.org>");
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
@@ -113,7 +134,12 @@ gst_wavpack_parse_base_init (gpointer klass)
gst_static_pad_template_get (&wvc_src_factory));
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
- gst_element_class_set_details (element_class, &plugin_details);
+
+ gst_element_class_set_details_simple (element_class, "Wavpack parser",
+ "Codec/Demuxer/Audio",
+ "Parses Wavpack files",
+ "Arwed v. Merkatz <v.merkatz@gmx.net>, "
+ "Sebastian Dröge <slomo@circular-chaos.org>");
}
static void
@@ -199,7 +225,7 @@ gst_wavpack_parse_index_append_entry (GstWavpackParse * wvparse,
GST_TIME_ARGS (gst_util_uint64_scale_int (sample_offset,
GST_SECOND, wvparse->samplerate)), byte_offset);
- entry = g_new0 (GstWavpackParseIndexEntry, 1);
+ entry = gst_wavpack_parse_index_entry_new ();
entry->byte_offset = byte_offset;
entry->sample_offset = sample_offset;
entry->sample_offset_end = sample_offset + num_samples;
@@ -222,7 +248,8 @@ gst_wavpack_parse_reset (GstWavpackParse * parse)
parse->upstream_length = -1;
if (parse->entries) {
- g_slist_foreach (parse->entries, (GFunc) g_free, NULL);
+ g_slist_foreach (parse->entries, (GFunc) gst_wavpack_parse_index_entry_free,
+ NULL);
g_slist_free (parse->entries);
parse->entries = NULL;
}