diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-04-03 18:28:28 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-04-03 18:28:28 +0000 |
commit | 8cb180066d38c02c82b844e72fe77a4ba813f231 (patch) | |
tree | f5aff7d401221cc491b7f8f452d265ffcf6db6e0 /ext/wavpack | |
parent | 23b948553083416f54acf3c3d3da45da57d546a1 (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.c | 12 | ||||
-rw-r--r-- | ext/wavpack/gstwavpackenc.c | 11 | ||||
-rw-r--r-- | ext/wavpack/gstwavpackparse.c | 45 |
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; } |