diff options
| -rw-r--r-- | ChangeLog | 12 | ||||
| m--------- | common | 0 | ||||
| -rw-r--r-- | ext/wavpack/gstwavpackdec.c | 12 | ||||
| -rw-r--r-- | ext/wavpack/gstwavpackenc.c | 11 | ||||
| -rw-r--r-- | ext/wavpack/gstwavpackparse.c | 45 | 
5 files changed, 57 insertions, 23 deletions
@@ -1,3 +1,15 @@ +2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org> + +	* 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  <tim at centricular dot net>  	Patch by: Brian Cameron <brian.cameron at sun dot com> diff --git a/common b/common -Subproject 5421815aeed8b2d73a4d4d4a4b8eb2c93f1b7d0 +Subproject fda6da5f2b9b000f7e1df8ffb44a6185ffd9799 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;    }  | 
