various: fix pad template ref leaks
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 28 Nov 2011 13:10:01 +0000 (13:10 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 28 Nov 2011 13:10:01 +0000 (13:10 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=662664

30 files changed:
ext/a52dec/gsta52dec.c
ext/amrnb/amrnbdec.c
ext/amrnb/amrnbenc.c
ext/amrwbdec/amrwbdec.c
ext/dvdread/dvdreadsrc.c
ext/lame/gstlame.c
ext/lame/gstlamemp3enc.c
ext/mad/gstmad.c
ext/mpeg2dec/gstmpeg2dec.c
ext/sidplay/gstsiddec.cc
ext/twolame/gsttwolame.c
ext/x264/gstx264enc.c
gst/asfdemux/gstasfdemux.c
gst/asfdemux/gstrtpasfdepay.c
gst/dvdlpcmdec/gstdvdlpcmdec.c
gst/dvdsub/gstdvdsubdec.c
gst/dvdsub/gstdvdsubparse.c
gst/iec958/ac3iec.c
gst/mpegaudioparse/gstmpegaudioparse.c
gst/mpegaudioparse/gstxingmux.c
gst/mpegstream/gstdvddemux.c
gst/mpegstream/gstmpegdemux.c
gst/mpegstream/gstmpegparse.c
gst/mpegstream/gstrfc2250enc.c
gst/realmedia/pnmsrc.c
gst/realmedia/rademux.c
gst/realmedia/rdtdepay.c
gst/realmedia/rdtmanager.c
gst/realmedia/rmdemux.c
gst/synaesthesia/gstsynaesthesia.c

index d6557be..5c7e462 100644 (file)
@@ -128,10 +128,8 @@ gst_a52dec_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
   gst_element_class_set_details_simple (element_class,
       "ATSC A/52 audio decoder", "Codec/Decoder/Audio",
       "Decodes ATSC A/52 encoded audio streams",
index a2ac5f3..5f6c64b 100644 (file)
@@ -115,10 +115,9 @@ gst_amrnbdec_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_details_simple (element_class, "AMR-NB audio decoder",
       "Codec/Decoder/Audio",
index 3bc90f9..8070ec1 100644 (file)
@@ -141,10 +141,9 @@ gst_amrnbenc_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_details_simple (element_class, "AMR-NB audio encoder",
       "Codec/Encoder/Audio",
index e00dd99..e056a7a 100644 (file)
@@ -85,10 +85,9 @@ gst_amrwbdec_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_details_simple (element_class, "AMR-WB audio decoder",
       "Codec/Decoder/Audio",
index 1096de6..0ad709f 100644 (file)
@@ -96,8 +96,7 @@ gst_dvd_read_src_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
   gst_element_class_set_details_simple (element_class, "DVD Source",
       "Source/File/DVD",
index 349d290..f36a0b2 100644 (file)
@@ -354,10 +354,10 @@ gst_lame_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_lame_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_lame_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_lame_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_lame_sink_template);
   gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder",
       "Codec/Encoder/Audio",
       "High-quality free MP3 encoder (deprecated)",
index 40f9a6f..d296697 100644 (file)
@@ -215,10 +215,10 @@ gst_lamemp3enc_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_lamemp3enc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_lamemp3enc_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_lamemp3enc_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_lamemp3enc_sink_template);
   gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder",
       "Codec/Encoder/Audio",
       "High-quality free MP3 encoder",
index bdc4fc6..89c5027 100644 (file)
@@ -171,10 +171,10 @@ gst_mad_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&mad_sink_template_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&mad_src_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &mad_sink_template_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &mad_src_template_factory);
   gst_element_class_set_details_simple (element_class, "mad mp3 decoder",
       "Codec/Decoder/Audio",
       "Uses mad code to decode mp3 streams", "Wim Taymans <wim@fluendo.com>");
index 833c8e4..51c47e6 100644 (file)
@@ -157,13 +157,13 @@ gst_mpeg2dec_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &src_template_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template_factory);
 #ifdef enable_user_data
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&user_data_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &user_data_template_factory);
 #endif
   gst_element_class_set_details_simple (element_class,
       "mpeg1 and mpeg2 video decoder", "Codec/Decoder/Video",
index 82411e8..4c18eec 100644 (file)
@@ -155,10 +155,10 @@ gst_siddec_base_init (gpointer g_class)
       "Codec/Decoder/Audio", "Use libsidplay to decode SID audio tunes",
       "Wim Taymans <wim.taymans@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_add_static_pad_template (element_class,
+      &src_templ);
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_templ);
 }
 
 static void
index 7d7fdc6..a1b1579 100644 (file)
@@ -230,10 +230,10 @@ gst_two_lame_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_two_lame_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_two_lame_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_two_lame_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_two_lame_sink_template);
   gst_element_class_set_details_simple (element_class, "TwoLAME mp2 encoder",
       "Codec/Encoder/Audio",
       "High-quality free MP2 encoder",
index 3aa02fe..f85a94e 100644 (file)
@@ -525,10 +525,8 @@ gst_x264_enc_base_init (gpointer g_class)
       "Josef Zlomek <josef.zlomek@itonis.tv>, "
       "Mark Nauwelaerts <mnauw@users.sf.net>");
 
-  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_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* don't forget to free the string after use */
index 6391c44..d205010 100644 (file)
@@ -116,12 +116,12 @@ gst_asf_demux_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_asf_demux_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &video_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_asf_demux_sink_template);
 
   gst_element_class_set_details_simple (element_class, "ASF Demuxer",
       "Codec/Demuxer",
index 7138be2..a04c8a8 100644 (file)
@@ -69,10 +69,8 @@ gst_rtp_asf_depay_base_init (gpointer klass)
 {
   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_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   gst_element_class_set_details_simple (element_class,
       "RTP ASF packet depayloader", "Codec/Depayloader/Network",
index 8e55073..1ecb4b3 100644 (file)
@@ -116,10 +116,10 @@ gst_dvdlpcmdec_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_dvdlpcmdec_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_dvdlpcmdec_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_dvdlpcmdec_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_dvdlpcmdec_src_template);
   gst_element_class_set_details_simple (element_class, "DVD LPCM Audio decoder",
       "Codec/Decoder/Audio",
       "Decode DVD LPCM frames into standard PCM audio",
index 868d5b3..0efa7a7 100644 (file)
@@ -105,10 +105,9 @@ gst_dvd_sub_dec_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&subtitle_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &subtitle_template);
 
   gst_element_class_set_details_simple (element_class, "DVD subtitle decoder",
       "Codec/Decoder/Video", "Decodes DVD subtitles into AYUV video frames",
index e922d56..42703a9 100644 (file)
@@ -57,10 +57,9 @@ gst_dvd_sub_parse_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
 
   gst_element_class_set_details_simple (element_class, "DVD subtitle parser",
       "Codec/Parser/Subtitle", "Parses and packetizes DVD subtitle streams",
index d6c44ca..f944380 100644 (file)
@@ -135,10 +135,10 @@ ac3iec_base_init (gpointer g_class)
       "Codec/Muxer/Audio",
       "Pads AC3 frames into IEC958 frames suitable for a raw S/PDIF interface",
       "Martin Soto <martinsoto@users.sourceforge.net>");
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ac3iec_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ac3iec_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &ac3iec_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &ac3iec_src_template);
 }
 
 
index 9ebc20e..b451653 100644 (file)
@@ -290,10 +290,10 @@ gst_mp3parse_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&mp3_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&mp3_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &mp3_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &mp3_src_template);
 
   GST_DEBUG_CATEGORY_INIT (mp3parse_debug, "mp3parse", 0, "MPEG Audio Parser");
 
index 4f19d57..e0207c2 100644 (file)
@@ -390,10 +390,10 @@ gst_xing_mux_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_xing_mux_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_xing_mux_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_xing_mux_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_xing_mux_sink_template);
 
   GST_DEBUG_CATEGORY_INIT (xing_mux_debug, "xingmux", 0, "Xing Header Muxer");
 
index afe9c1d..2c9d91d 100644 (file)
@@ -188,8 +188,8 @@ gst_dvd_demux_base_init (gpointer klass)
   mpeg_parse_class->parse_packhead = gst_dvd_demux_parse_packhead;
 
   /* sink pad */
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
 
   demux_class->audio_template = gst_static_pad_template_get (&audio_template);
 
index d129d46..e0df0fb 100644 (file)
@@ -200,8 +200,8 @@ gst_mpeg_demux_class_init (GstMPEGDemuxClass * klass)
   klass->sync_stream_to_time = gst_mpeg_demux_sync_stream_to_time;
 
   /* we have our own sink pad template, but don't use it in subclasses */
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template);
 }
 
 static void
index 1033ff5..a0649c7 100644 (file)
@@ -161,10 +161,10 @@ gst_mpeg_parse_class_init (GstMPEGParseClass * klass)
   /* FIXME: this is a hack.  We add the pad templates here instead
    * in the base_init function, since the derived class (mpegdemux)
    * uses different pads.  IMO, this is wrong. */
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_factory);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MAX_SCR_GAP,
       g_param_spec_int ("max-scr-gap", "Max SCR gap",
index e5fcb78..608292a 100644 (file)
@@ -100,10 +100,8 @@ gst_rfc2250_enc_base_init (GstRFC2250EncClass * klass)
 {
   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_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_set_details_simple (element_class,
       "RFC 2250 packet encoder", "Codec/Parser",
       "transforms MPEG1/2 video to an RFC 2250 compliant format",
index a8b168e..bf6d9ae 100644 (file)
@@ -85,8 +85,8 @@ gst_pnm_src_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_pnm_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_pnm_src_template);
 
   gst_element_class_set_details_simple (element_class, "PNM packet receiver",
       "Source/Network",
index eb9832f..fdbfd73 100644 (file)
@@ -82,10 +82,9 @@ gst_real_audio_demux_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
   gst_element_class_set_details_simple (element_class, "RealAudio Demuxer",
       "Codec/Demuxer",
       "Demultiplex a RealAudio file",
index c3b679f..cf2289c 100644 (file)
@@ -80,10 +80,10 @@ gst_rdt_depay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_depay_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_depay_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_depay_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_depay_sink_template);
 
   gst_element_class_set_details_simple (element_class, "RDT packet parser",
       "Codec/Depayloader/Network",
index 313d0de..29c8b66 100644 (file)
@@ -325,15 +325,15 @@ gst_rdt_manager_base_init (gpointer klass)
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   /* sink pads */
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_manager_recv_rtcp_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_manager_recv_rtp_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_manager_recv_rtcp_sink_template);
   /* src pads */
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rdt_manager_rtcp_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_manager_recv_rtp_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rdt_manager_rtcp_src_template);
 
   gst_element_class_set_details_simple (element_class, "RTP Decoder",
       "Codec/Parser/Network",
index 65abd7e..9ee028e 100644 (file)
@@ -196,12 +196,12 @@ gst_rmdemux_base_init (GstRMDemuxClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rmdemux_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rmdemux_videosrc_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rmdemux_audiosrc_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rmdemux_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rmdemux_videosrc_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rmdemux_audiosrc_template);
   gst_element_class_set_details_simple (element_class, "RealMedia Demuxer",
       "Codec/Demuxer",
       "Demultiplex a RealMedia file into audio and video streams",
index 79ca45f..4b74f75 100644 (file)
@@ -78,10 +78,10 @@ gst_synaesthesia_base_init (gpointer g_class)
       "Creates video visualizations of audio input, using stereo and pitch information",
       "Richard Boulton <richard@tartarus.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_synaesthesia_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_synaesthesia_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_synaesthesia_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_synaesthesia_sink_template);
 }
 
 static void