From 8cb180066d38c02c82b844e72fe77a4ba813f231 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 3 Apr 2008 18:28:28 +0000 Subject: [PATCH] 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(). --- ChangeLog | 12 ++++++++++++ common | 2 +- ext/wavpack/gstwavpackdec.c | 12 +++++------- ext/wavpack/gstwavpackenc.c | 11 ++++------- ext/wavpack/gstwavpackparse.c | 45 ++++++++++++++++++++++++++++++++++--------- 5 files changed, 58 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index f081e26..245edd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-04-03 Sebastian Dröge + + * 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(). + 2008-04-02 Tim-Philipp Müller Patch by: Brian Cameron diff --git a/common b/common index 5421815..fda6da5 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 5421815aeed8b2d73a4d4d4a4b8eb2c93f1b7d02 +Subproject commit fda6da5f2b9b000f7e1df8ffb44a6185ffd9799b diff --git a/ext/wavpack/gstwavpackdec.c b/ext/wavpack/gstwavpackdec.c index dbe19b0..70c80f0 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 , " - "Sebastian Dröge "); 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 , " + "Sebastian Dröge "); } static void diff --git a/ext/wavpack/gstwavpackenc.c b/ext/wavpack/gstwavpackenc.c index 1c8a2f5..4b08c1a 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 " - }; 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 "); } diff --git a/ext/wavpack/gstwavpackparse.c b/ext/wavpack/gstwavpackparse.c index 2cdf007..4fd00b9 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 , " - "Sebastian Dröge "); 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 , " + "Sebastian Dröge "); } 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; } -- 2.7.4