diff options
author | Edward Hervey <bilboed@bilboed.com> | 2008-12-13 15:34:01 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2008-12-13 15:34:01 +0000 |
commit | 5ad613d9b97d412d657d64a25ec2ab34e964a532 (patch) | |
tree | 5fd3e37d77851d3bfca5594aeb757af04cf0f756 /ext | |
parent | 57d97b4cbf02f143905ab4898da04810ebdf4a2b (diff) |
Switch to using GstStaticPadTemplate.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_base_init),
(gst_flac_dec_init):
* gst/law/alaw-decode.c: (gst_alaw_dec_base_init),
(gst_alaw_dec_init):
* gst/law/alaw-encode.c: (gst_alaw_enc_base_init),
(gst_alaw_enc_init):
* gst/law/alaw.c: (plugin_init):
* gst/law/mulaw-decode.c: (gst_mulawdec_base_init),
(gst_mulawdec_init):
* gst/law/mulaw-encode.c: (gst_mulawenc_base_init),
(gst_mulawenc_init):
* gst/law/mulaw.c: (plugin_init):
Switch to using GstStaticPadTemplate.
* gst/udp/gstudpnetutils.c: (gst_udp_get_addr):
Don't forget to free the addrinfo structure.
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_sink_activate):
Don't forget to unref the GstAdapter.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/flac/gstflacdec.c | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index 67981e98..fed6b06d 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -103,8 +103,6 @@ static const GstAudioChannelPosition channel_positions[8][8] = { GST_DEBUG_CATEGORY_STATIC (flacdec_debug); #define GST_CAT_DEFAULT flacdec_debug -static GstPadTemplate *src_template, *sink_template; - static void gst_flac_dec_finalize (GObject * object); static void gst_flac_dec_loop (GstPad * pad); @@ -209,6 +207,12 @@ GST_BOILERPLATE (GstFlacDec, gst_flac_dec, GstElement, GST_TYPE_ELEMENT); /* FIXME 0.11: Use width=32 for all depths and let audioconvert * handle the conversions instead of doing it ourself. */ +static const GstElementDetails vorbis_dec_details = +GST_ELEMENT_DETAILS ("Vorbis audio decoder", + "Codec/Decoder/Audio", + "decode raw vorbis streams to float audio", + "Benjamin Otte <in7y118@public.uni-hamburg.de>"); + #define GST_FLAC_DEC_SRC_CAPS \ "audio/x-raw-int, " \ "endianness = (int) BYTE_ORDER, " \ @@ -217,22 +221,28 @@ GST_BOILERPLATE (GstFlacDec, gst_flac_dec, GstElement, GST_TYPE_ELEMENT); "depth = (int) [ 4, 32 ], " \ "rate = (int) [ 1, 655350 ], " \ "channels = (int) [ 1, 8 ]" + +static GstStaticPadTemplate flac_dec_src_factory = +GST_STATIC_PAD_TEMPLATE ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_FLAC_DEC_SRC_CAPS)); +static GstStaticPadTemplate flac_dec_sink_factory = +GST_STATIC_PAD_TEMPLATE ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS ("audio/x-flac") + ); + static void gst_flac_dec_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); - GstCaps *raw_caps, *flac_caps; - - raw_caps = gst_caps_from_string (GST_FLAC_DEC_SRC_CAPS); - flac_caps = gst_caps_new_simple ("audio/x-flac", NULL); - - sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, - GST_PAD_ALWAYS, flac_caps); - src_template = gst_pad_template_new ("src", GST_PAD_SRC, - GST_PAD_ALWAYS, raw_caps); - gst_element_class_add_pad_template (element_class, sink_template); - gst_element_class_add_pad_template (element_class, src_template); + gst_element_class_add_pad_template (element_class, + gst_static_pad_template_get (&flac_dec_src_factory)); + gst_element_class_add_pad_template (element_class, + gst_static_pad_template_get (&flac_dec_sink_factory)); gst_element_class_set_details_simple (element_class, "FLAC audio decoder", "Codec/Decoder/Audio", "Decodes FLAC lossless audio streams", "Wim Taymans <wim@fluendo.com>"); @@ -259,7 +269,8 @@ gst_flac_dec_class_init (GstFlacDecClass * klass) static void gst_flac_dec_init (GstFlacDec * flacdec, GstFlacDecClass * klass) { - flacdec->sinkpad = gst_pad_new_from_template (sink_template, "sink"); + flacdec->sinkpad = + gst_pad_new_from_static_template (&flac_dec_sink_factory, "sink"); gst_pad_set_activate_function (flacdec->sinkpad, GST_DEBUG_FUNCPTR (gst_flac_dec_sink_activate)); gst_pad_set_activatepull_function (flacdec->sinkpad, @@ -276,7 +287,8 @@ gst_flac_dec_init (GstFlacDec * flacdec, GstFlacDecClass * klass) GST_DEBUG_FUNCPTR (gst_flac_dec_chain)); gst_element_add_pad (GST_ELEMENT (flacdec), flacdec->sinkpad); - flacdec->srcpad = gst_pad_new_from_template (src_template, "src"); + flacdec->srcpad = + gst_pad_new_from_static_template (&flac_dec_src_factory, "src"); gst_pad_set_query_type_function (flacdec->srcpad, GST_DEBUG_FUNCPTR (gst_flac_dec_get_src_query_types)); gst_pad_set_query_function (flacdec->srcpad, |