summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2011-11-28 13:08:27 +0000
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2011-11-28 13:08:27 +0000
commit7521b597f4dc49d8d168f368f0e7ebaf98a72156 (patch)
tree0033ba79e1bf8add58e1dcecffa95f73010bbd10 /sys
parent26d6add9457f00ce8ec13844368466f0e3816e5d (diff)
various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
Diffstat (limited to 'sys')
-rw-r--r--sys/acmenc/acmenc.c8
-rw-r--r--sys/acmmp3dec/acmmp3dec.c8
-rw-r--r--sys/applemedia/avfvideosrc.m3
-rw-r--r--sys/applemedia/celvideosrc.c3
-rw-r--r--sys/applemedia/miovideosrc.c3
-rw-r--r--sys/applemedia/qtkitvideosrc.m3
-rw-r--r--sys/applemedia/vtdec.c2
-rw-r--r--sys/applemedia/vtenc.c2
-rw-r--r--sys/applemedia/vth264decbin.c8
-rw-r--r--sys/applemedia/vth264encbin.c8
-rw-r--r--sys/avc/gstavcsrc.cpp4
-rw-r--r--sys/d3dvideosink/d3dvideosink.c4
-rw-r--r--sys/decklink/gstdecklinksink.cpp8
-rw-r--r--sys/decklink/gstdecklinksrc.cpp11
-rw-r--r--sys/directdraw/gstdirectdrawsink.c4
-rw-r--r--sys/directsound/gstdirectsoundsrc.c4
-rw-r--r--sys/dshowdecwrapper/gstdshowaudiodec.cpp3
-rw-r--r--sys/dshowdecwrapper/gstdshowvideodec.cpp3
-rw-r--r--sys/dshowsrcwrapper/gstdshowaudiosrc.cpp3
-rw-r--r--sys/dshowsrcwrapper/gstdshowvideosrc.cpp3
-rw-r--r--sys/dshowvideosink/dshowvideosink.cpp5
-rw-r--r--sys/dvb/dvbbasebin.c7
-rw-r--r--sys/dvb/gstdvbsrc.c4
-rw-r--r--sys/dxr3/dxr3audiosink.c8
-rw-r--r--sys/dxr3/dxr3spusink.c4
-rw-r--r--sys/dxr3/dxr3videosink.c4
-rw-r--r--sys/fbdev/gstfbdevsink.c4
-rw-r--r--sys/linsys/gstlinsyssdisink.c4
-rw-r--r--sys/linsys/gstlinsyssdisrc.c4
-rw-r--r--sys/osxvideo/osxvideosrc.c3
-rw-r--r--sys/qcam/gstqcamsrc.c4
-rw-r--r--sys/qtwrapper/audiodecoders.c3
-rw-r--r--sys/qtwrapper/videodecoders.c3
-rw-r--r--sys/shm/gstshmsink.c3
-rw-r--r--sys/shm/gstshmsrc.c3
-rw-r--r--sys/vcd/vcdsrc.c3
-rw-r--r--sys/vdpau/gstvdp/gstvdpdecoder.c1
-rw-r--r--sys/vdpau/gstvdpsink.c4
-rw-r--r--sys/vdpau/gstvdpvideopostprocess.c2
-rw-r--r--sys/vdpau/h264/gstvdph264dec.c4
-rw-r--r--sys/vdpau/mpeg/gstvdpmpegdec.c4
-rw-r--r--sys/vdpau/mpeg4/gstvdpmpeg4dec.c4
-rw-r--r--sys/wasapi/gstwasapisink.c4
-rw-r--r--sys/wasapi/gstwasapisrc.c3
-rw-r--r--sys/wininet/gstwininetsrc.c3
-rw-r--r--sys/winks/gstksvideosrc.c7
-rw-r--r--sys/winscreencap/gstdx9screencapsrc.c3
-rw-r--r--sys/winscreencap/gstgdiscreencapsrc.c3
48 files changed, 103 insertions, 100 deletions
diff --git a/sys/acmenc/acmenc.c b/sys/acmenc/acmenc.c
index b2db28eba..2b637a54c 100644
--- a/sys/acmenc/acmenc.c
+++ b/sys/acmenc/acmenc.c
@@ -470,10 +470,10 @@ acmenc_base_init (ACMEncClass * klass)
gchar *shortname, *longname, *detail, *description;
MMRESULT res;
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&acmenc_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&acmenc_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &acmenc_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &acmenc_src_template);
params =
(ACMEncParams *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass),
ACMENC_PARAMS_QDATA);
diff --git a/sys/acmmp3dec/acmmp3dec.c b/sys/acmmp3dec/acmmp3dec.c
index 2f2799270..870a9bff3 100644
--- a/sys/acmmp3dec/acmmp3dec.c
+++ b/sys/acmmp3dec/acmmp3dec.c
@@ -405,10 +405,10 @@ acmmp3dec_base_init (gpointer klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&acmmp3dec_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&acmmp3dec_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &acmmp3dec_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &acmmp3dec_src_template);
gst_element_class_set_details_simple (element_class, "ACM MP3 decoder",
"Codec/Decoder/Audio",
"Decode MP3 using ACM decoder",
diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m
index 37ff576f5..d20f94207 100644
--- a/sys/applemedia/avfvideosrc.m
+++ b/sys/applemedia/avfvideosrc.m
@@ -567,8 +567,7 @@ gst_avf_video_src_base_init (gpointer gclass)
"Reads frames from an iOS AVFoundation device",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
}
static void
diff --git a/sys/applemedia/celvideosrc.c b/sys/applemedia/celvideosrc.c
index 6ea15e88f..2ef107631 100644
--- a/sys/applemedia/celvideosrc.c
+++ b/sys/applemedia/celvideosrc.c
@@ -833,8 +833,7 @@ gst_cel_video_src_base_init (gpointer gclass)
"Reads frames from an iOS Celestial device",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
}
static void
diff --git a/sys/applemedia/miovideosrc.c b/sys/applemedia/miovideosrc.c
index 7b0e428c4..aec4a56a7 100644
--- a/sys/applemedia/miovideosrc.c
+++ b/sys/applemedia/miovideosrc.c
@@ -1129,8 +1129,7 @@ gst_mio_video_src_base_init (gpointer gclass)
"Reads frames from a Mac OS X MIO device",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
}
static void
diff --git a/sys/applemedia/qtkitvideosrc.m b/sys/applemedia/qtkitvideosrc.m
index c228692dd..8553bd13b 100644
--- a/sys/applemedia/qtkitvideosrc.m
+++ b/sys/applemedia/qtkitvideosrc.m
@@ -524,8 +524,7 @@ gst_qtkit_video_src_base_init (gpointer gclass)
"Reads frames from a Mac OS X QTKit device",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
}
static void
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index 22db2e869..982f73c6f 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -89,6 +89,7 @@ gst_vtdec_base_init (GstVTDecClass * klass)
sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
sink_caps);
gst_element_class_add_pad_template (element_class, sink_template);
+ gst_object_unref (sink_template);
src_template = gst_pad_template_new ("src",
GST_PAD_SRC,
@@ -100,6 +101,7 @@ gst_vtdec_base_init (GstVTDecClass * klass)
"framerate", GST_TYPE_FRACTION_RANGE,
min_fps_n, min_fps_d, max_fps_n, max_fps_d, NULL));
gst_element_class_add_pad_template (element_class, src_template);
+ gst_object_unref (src_template);
}
static void
diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
index c7878482c..aa0bcdda6 100644
--- a/sys/applemedia/vtenc.c
+++ b/sys/applemedia/vtenc.c
@@ -118,6 +118,7 @@ gst_vtenc_base_init (GstVTEncClass * klass)
"framerate", GST_TYPE_FRACTION_RANGE,
min_fps_n, min_fps_d, max_fps_n, max_fps_d, NULL));
gst_element_class_add_pad_template (element_class, sink_template);
+ gst_object_unref (sink_template);
src_caps = gst_caps_new_simple (codec_details->mimetype,
"width", GST_TYPE_INT_RANGE, min_width, max_width,
@@ -131,6 +132,7 @@ gst_vtenc_base_init (GstVTEncClass * klass)
src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
src_caps);
gst_element_class_add_pad_template (element_class, src_template);
+ gst_object_unref (src_template);
}
static void
diff --git a/sys/applemedia/vth264decbin.c b/sys/applemedia/vth264decbin.c
index fbc718b3a..816e15ec5 100644
--- a/sys/applemedia/vth264decbin.c
+++ b/sys/applemedia/vth264decbin.c
@@ -218,10 +218,10 @@ gst_vt_h264_dec_bin_base_init (gpointer gclass)
"VideoToolbox H.264 decoder bin",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&vth264decbin_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&vth264decbin_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &vth264decbin_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &vth264decbin_src_template);
}
static void
diff --git a/sys/applemedia/vth264encbin.c b/sys/applemedia/vth264encbin.c
index e97ef29d5..222a73142 100644
--- a/sys/applemedia/vth264encbin.c
+++ b/sys/applemedia/vth264encbin.c
@@ -80,10 +80,10 @@ gst_vt_h264_enc_bin_base_init (gpointer gclass)
"VideoToolbox H.264 encoder bin",
"Ole André Vadla Ravnås <oravnas@cisco.com>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&vth264encbin_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&vth264encbin_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &vth264encbin_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &vth264encbin_src_template);
}
static void
diff --git a/sys/avc/gstavcsrc.cpp b/sys/avc/gstavcsrc.cpp
index c63c9853a..405355282 100644
--- a/sys/avc/gstavcsrc.cpp
+++ b/sys/avc/gstavcsrc.cpp
@@ -99,8 +99,8 @@ gst_avc_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 (&gst_avc_src_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_avc_src_src_template);
gst_element_class_set_details_simple (element_class,
"AVC Video Services Source", "Video/Source",
diff --git a/sys/d3dvideosink/d3dvideosink.c b/sys/d3dvideosink/d3dvideosink.c
index 9ca6b960e..53d5c89ff 100644
--- a/sys/d3dvideosink/d3dvideosink.c
+++ b/sys/d3dvideosink/d3dvideosink.c
@@ -278,8 +278,8 @@ gst_d3dvideosink_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_static_pad_template (element_class,
+ &sink_template);
gst_element_class_set_details_simple (element_class, "Direct3D video sink",
"Sink/Video",
diff --git a/sys/decklink/gstdecklinksink.cpp b/sys/decklink/gstdecklinksink.cpp
index 9948048bd..bc24cfefe 100644
--- a/sys/decklink/gstdecklinksink.cpp
+++ b/sys/decklink/gstdecklinksink.cpp
@@ -158,10 +158,10 @@ gst_decklink_sink_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_decklink_sink_videosink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_decklink_sink_audiosink_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_decklink_sink_videosink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_decklink_sink_audiosink_template);
gst_element_class_set_details_simple (element_class, "Decklink Sink",
"Video/Sink", "Decklink Sink", "David Schleef <ds@entropywave.com>");
diff --git a/sys/decklink/gstdecklinksrc.cpp b/sys/decklink/gstdecklinksrc.cpp
index 1e44a3c38..b2e2c5127 100644
--- a/sys/decklink/gstdecklinksrc.cpp
+++ b/sys/decklink/gstdecklinksrc.cpp
@@ -153,12 +153,15 @@ static void
gst_decklink_src_base_init (gpointer g_class)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+ GstPadTemplate *pad_template;
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_decklink_src_audio_src_template));
- gst_element_class_add_pad_template (element_class,
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_decklink_src_audio_src_template);
+ pad_template =
gst_pad_template_new ("videosrc", GST_PAD_SRC, GST_PAD_ALWAYS,
- gst_decklink_mode_get_template_caps ()));
+ gst_decklink_mode_get_template_caps ());
+ gst_element_class_add_pad_template (element_class, pad_template);
+ gst_object_unref (pad_template);
gst_element_class_set_details_simple (element_class, "Decklink source",
"Source/Video", "DeckLink Source", "David Schleef <ds@entropywave.com>");
diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c
index 429aa7ad1..bd9b79ca1 100644
--- a/sys/directdraw/gstdirectdrawsink.c
+++ b/sys/directdraw/gstdirectdrawsink.c
@@ -386,8 +386,8 @@ gst_directdraw_sink_base_init (gpointer g_class)
"Sink/Video",
"Output to a video card via Direct Draw",
"Sebastien Moutte <sebastien@moutte.net>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&directdrawsink_sink_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &directdrawsink_sink_factory);
}
static void
diff --git a/sys/directsound/gstdirectsoundsrc.c b/sys/directsound/gstdirectsoundsrc.c
index 54282f664..7f0072d25 100644
--- a/sys/directsound/gstdirectsoundsrc.c
+++ b/sys/directsound/gstdirectsoundsrc.c
@@ -156,8 +156,8 @@ gst_directsound_src_base_init (gpointer g_class)
"Capture from a soundcard via DIRECTSOUND",
"Joni Valtanen <joni.valtanen@movial.fi>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&directsound_src_src_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &directsound_src_src_factory);
}
diff --git a/sys/dshowdecwrapper/gstdshowaudiodec.cpp b/sys/dshowdecwrapper/gstdshowaudiodec.cpp
index f10ac8cdc..bd4bd6496 100644
--- a/sys/dshowdecwrapper/gstdshowaudiodec.cpp
+++ b/sys/dshowdecwrapper/gstdshowaudiodec.cpp
@@ -349,6 +349,9 @@ gst_dshowaudiodec_base_init (gpointer klass)
/* register */
gst_element_class_add_pad_template (element_class, src);
gst_element_class_add_pad_template (element_class, sink);
+
+ gst_object_unref (src);
+ gst_object_unref (sink);
}
static void
diff --git a/sys/dshowdecwrapper/gstdshowvideodec.cpp b/sys/dshowdecwrapper/gstdshowvideodec.cpp
index 663e98043..fdcfb28bb 100644
--- a/sys/dshowdecwrapper/gstdshowvideodec.cpp
+++ b/sys/dshowdecwrapper/gstdshowvideodec.cpp
@@ -401,6 +401,9 @@ gst_dshowvideodec_base_init (gpointer klass)
gst_element_class_add_pad_template (element_class, src);
gst_element_class_add_pad_template (element_class, sink);
+
+ gst_object_unref (src);
+ gst_object_unref (sink);
}
static void
diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp b/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
index e7fbadaab..fcd9f2fc5 100644
--- a/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
+++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
@@ -118,8 +118,7 @@ gst_dshowaudiosrc_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_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class,
"Directshow audio capture source", "Source/Audio",
diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.cpp b/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
index e84148ab4..3fa13df3b 100644
--- a/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
+++ b/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
@@ -126,8 +126,7 @@ gst_dshowvideosrc_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_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class,
"DirectShow video capture source", "Source/Video",
diff --git a/sys/dshowvideosink/dshowvideosink.cpp b/sys/dshowvideosink/dshowvideosink.cpp
index 8b8554ca6..5ac2a5f3b 100644
--- a/sys/dshowvideosink/dshowvideosink.cpp
+++ b/sys/dshowvideosink/dshowvideosink.cpp
@@ -212,13 +212,14 @@ gst_dshowvideosink_init_interfaces (GType type)
GST_DEBUG_CATEGORY_INIT (dshowvideosink_debug, "dshowvideosink", 0, \
"DirectShow video sink");
}
+
static void
gst_dshowvideosink_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_static_pad_template (element_class,
+ &sink_template);
gst_element_class_set_details_simple (element_class, "DirectShow video sink",
"Sink/Video", "Display data using a DirectShow video renderer",
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c
index 79e61c310..a90860a7f 100644
--- a/sys/dvb/dvbbasebin.c
+++ b/sys/dvb/dvbbasebin.c
@@ -198,10 +198,9 @@ dvb_base_bin_base_init (gpointer klass)
element_class->request_new_pad = dvb_base_bin_request_new_pad;
element_class->release_pad = dvb_base_bin_release_pad;
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&program_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,
+ &program_template);
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class, "DVB bin",
"Source/Bin/Video",
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index d0bd1d442..7eb2a2302 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -313,8 +313,8 @@ gst_dvbsrc_base_init (gpointer gclass)
GstDvbSrcClass *klass = (GstDvbSrcClass *) gclass;
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&ts_src_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &ts_src_factory);
gst_element_class_set_details_simple (element_class, "DVB Source",
"Source/Video",
diff --git a/sys/dxr3/dxr3audiosink.c b/sys/dxr3/dxr3audiosink.c
index d7bd6881d..b72544b2b 100644
--- a/sys/dxr3/dxr3audiosink.c
+++ b/sys/dxr3/dxr3audiosink.c
@@ -148,10 +148,10 @@ dxr3audiosink_base_init (Dxr3AudioSinkClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&dxr3audiosink_pcm_sink_factory));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&dxr3audiosink_ac3_sink_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &dxr3audiosink_pcm_sink_factory);
+ gst_element_class_add_static_pad_template (element_class,
+ &dxr3audiosink_ac3_sink_factory);
gst_element_class_set_details_simple (element_class,
"dxr3/Hollywood+ mpeg decoder board audio plugin", "Audio/Sink",
"Feeds audio to Sigma Designs em8300 based boards",
diff --git a/sys/dxr3/dxr3spusink.c b/sys/dxr3/dxr3spusink.c
index 0ea924390..7e4d021ef 100644
--- a/sys/dxr3/dxr3spusink.c
+++ b/sys/dxr3/dxr3spusink.c
@@ -126,8 +126,8 @@ dxr3spusink_base_init (Dxr3SpuSinkClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&dxr3spusink_sink_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &dxr3spusink_sink_factory);
gst_element_class_set_details_simple (element_class,
"dxr3/Hollywood+ mpeg decoder board subpicture element", "Sink/Video",
"Feeds subpicture information to Sigma Designs em8300 based boards",
diff --git a/sys/dxr3/dxr3videosink.c b/sys/dxr3/dxr3videosink.c
index 2f86f0681..437789cab 100644
--- a/sys/dxr3/dxr3videosink.c
+++ b/sys/dxr3/dxr3videosink.c
@@ -151,8 +151,8 @@ dxr3videosink_base_init (Dxr3VideoSinkClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&dxr3videosink_sink_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &dxr3videosink_sink_factory);
gst_element_class_set_details_simple (element_class,
"dxr3/Hollywood+ mpeg decoder board video element", "Sink/Video",
"Feeds MPEG2 video to Sigma Designs em8300 based boards",
diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
index 8925f3d30..7878fbfbc 100644
--- a/sys/fbdev/gstfbdevsink.c
+++ b/sys/fbdev/gstfbdevsink.c
@@ -93,8 +93,8 @@ gst_fbdevsink_base_init (gpointer g_class)
gst_element_class_set_details_simple (element_class, "fbdev video sink",
"Sink/Video",
"A linux framebuffer videosink", "Sean D'Epagnier <sean@depagnier.com>");
- 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);
}
diff --git a/sys/linsys/gstlinsyssdisink.c b/sys/linsys/gstlinsyssdisink.c
index 3e9ad165b..e4260c023 100644
--- a/sys/linsys/gstlinsyssdisink.c
+++ b/sys/linsys/gstlinsyssdisink.c
@@ -99,8 +99,8 @@ gst_linsys_sdi_sink_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_linsys_sdi_sink_sink_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_linsys_sdi_sink_sink_template);
gst_element_class_set_details_simple (element_class, "SDI video sink",
"Sink/Video", "Writes video from SDI transmit device",
diff --git a/sys/linsys/gstlinsyssdisrc.c b/sys/linsys/gstlinsyssdisrc.c
index c5a928c68..467c54c50 100644
--- a/sys/linsys/gstlinsyssdisrc.c
+++ b/sys/linsys/gstlinsyssdisrc.c
@@ -103,8 +103,8 @@ gst_linsys_sdi_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 (&gst_linsys_sdi_src_src_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_linsys_sdi_src_src_template);
gst_element_class_set_details_simple (element_class, "SDI video source",
"Source/Video", "Reads video from SDI capture device",
diff --git a/sys/osxvideo/osxvideosrc.c b/sys/osxvideo/osxvideosrc.c
index ed84619d7..864806dcc 100644
--- a/sys/osxvideo/osxvideosrc.c
+++ b/sys/osxvideo/osxvideosrc.c
@@ -639,8 +639,7 @@ gst_osx_video_src_base_init (gpointer gclass)
GST_DEBUG ("%s", G_STRFUNC);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class, "Video Source (OSX)",
"Source/Video",
diff --git a/sys/qcam/gstqcamsrc.c b/sys/qcam/gstqcamsrc.c
index 76229ac76..2bd3a5855 100644
--- a/sys/qcam/gstqcamsrc.c
+++ b/sys/qcam/gstqcamsrc.c
@@ -148,8 +148,8 @@ gst_qcamsrc_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_qcamsrc_src_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_qcamsrc_src_factory);
gst_element_class_set_details_simple (element_class, "QCam Source",
"Source/Video",
"Read from a QuickCam device", "Wim Taymans <wim.taymans@chello.be>");
diff --git a/sys/qtwrapper/audiodecoders.c b/sys/qtwrapper/audiodecoders.c
index 5a29c47df..abb2541de 100644
--- a/sys/qtwrapper/audiodecoders.c
+++ b/sys/qtwrapper/audiodecoders.c
@@ -970,8 +970,7 @@ qtwrapper_audio_decoder_base_init (QTWrapperAudioDecoderClass * klass)
klass->sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK,
GST_PAD_ALWAYS, params->sinkcaps);
gst_element_class_add_pad_template (element_class, klass->sinktempl);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_templ));
+ gst_element_class_add_static_pad_template (element_class, &src_templ);
/* Store class-global values */
klass->componentSubType = desc.componentSubType;
diff --git a/sys/qtwrapper/videodecoders.c b/sys/qtwrapper/videodecoders.c
index b2e58e968..c532ef9bb 100644
--- a/sys/qtwrapper/videodecoders.c
+++ b/sys/qtwrapper/videodecoders.c
@@ -171,8 +171,7 @@ qtwrapper_video_decoder_base_init (QTWrapperVideoDecoderClass * klass)
GST_PAD_ALWAYS, params->sinkcaps);
gst_element_class_add_pad_template (element_class, klass->sinktempl);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_templ));
+ gst_element_class_add_static_pad_template (element_class, &src_templ);
/* Store class-global values */
klass->component = params->component;
diff --git a/sys/shm/gstshmsink.c b/sys/shm/gstshmsink.c
index cb6c92bfa..903760be1 100644
--- a/sys/shm/gstshmsink.c
+++ b/sys/shm/gstshmsink.c
@@ -96,8 +96,7 @@ gst_shm_sink_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 (&sinktemplate));
+ gst_element_class_add_static_pad_template (element_class, &sinktemplate);
gst_element_class_set_details_simple (element_class,
"Shared Memory Sink",
diff --git a/sys/shm/gstshmsrc.c b/sys/shm/gstshmsrc.c
index bbeadcd7d..cff5d46da 100644
--- a/sys/shm/gstshmsrc.c
+++ b/sys/shm/gstshmsrc.c
@@ -85,8 +85,7 @@ gst_shm_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,
"Shared Memory Source",
diff --git a/sys/vcd/vcdsrc.c b/sys/vcd/vcdsrc.c
index 5ce58d870..553e264cc 100644
--- a/sys/vcd/vcdsrc.c
+++ b/sys/vcd/vcdsrc.c
@@ -99,8 +99,7 @@ gst_vcdsrc_base_init (gpointer g_class)
"Source/File",
"Asynchronous read from VCD disk", "Erik Walthinsen <omega@cse.ogi.edu>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&srctemplate));
+ gst_element_class_add_static_pad_template (element_class, &srctemplate);
}
static void
diff --git a/sys/vdpau/gstvdp/gstvdpdecoder.c b/sys/vdpau/gstvdp/gstvdpdecoder.c
index 977f6e6b2..a400a39d6 100644
--- a/sys/vdpau/gstvdp/gstvdpdecoder.c
+++ b/sys/vdpau/gstvdp/gstvdpdecoder.c
@@ -293,6 +293,7 @@ gst_vdp_decoder_base_init (gpointer g_class)
GST_PAD_SRC, GST_PAD_ALWAYS, src_caps);
gst_element_class_add_pad_template (element_class, src_template);
+ gst_object_unref (src_template);
}
static void
diff --git a/sys/vdpau/gstvdpsink.c b/sys/vdpau/gstvdpsink.c
index c3d097fdd..7b9fa2e6c 100644
--- a/sys/vdpau/gstvdpsink.c
+++ b/sys/vdpau/gstvdpsink.c
@@ -1383,8 +1383,8 @@ gst_vdp_sink_base_init (gpointer g_class)
"Sink/Video",
"VDPAU Sink", "Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>");
- 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);
}
static void
diff --git a/sys/vdpau/gstvdpvideopostprocess.c b/sys/vdpau/gstvdpvideopostprocess.c
index ced168fec..09e484409 100644
--- a/sys/vdpau/gstvdpvideopostprocess.c
+++ b/sys/vdpau/gstvdpvideopostprocess.c
@@ -1190,12 +1190,14 @@ gst_vdp_vpp_base_init (gpointer gclass)
src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
src_caps);
gst_element_class_add_pad_template (element_class, src_template);
+ gst_object_unref (src_template);
/* SINK PAD */
sink_caps = gst_vdp_video_buffer_get_caps (FALSE, 0);
sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
sink_caps);
gst_element_class_add_pad_template (element_class, sink_template);
+ gst_object_unref (sink_template);
}
/* initialize the vdpaumpegdecoder's class */
diff --git a/sys/vdpau/h264/gstvdph264dec.c b/sys/vdpau/h264/gstvdph264dec.c
index 6c181aff0..6b6c3360a 100644
--- a/sys/vdpau/h264/gstvdph264dec.c
+++ b/sys/vdpau/h264/gstvdph264dec.c
@@ -870,8 +870,8 @@ gst_vdp_h264_dec_base_init (gpointer g_class)
"Decode h264 stream with vdpau",
"Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>");
- 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);
}
static void
diff --git a/sys/vdpau/mpeg/gstvdpmpegdec.c b/sys/vdpau/mpeg/gstvdpmpegdec.c
index 3de0eec65..6a473e48e 100644
--- a/sys/vdpau/mpeg/gstvdpmpegdec.c
+++ b/sys/vdpau/mpeg/gstvdpmpegdec.c
@@ -624,8 +624,8 @@ gst_vdp_mpeg_dec_base_init (gpointer gclass)
"Decode mpeg stream with vdpau",
"Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>");
- 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);
}
/* initialize the vdpaumpegdecoder's class */
diff --git a/sys/vdpau/mpeg4/gstvdpmpeg4dec.c b/sys/vdpau/mpeg4/gstvdpmpeg4dec.c
index 2ecf434e1..4c1bcb8b3 100644
--- a/sys/vdpau/mpeg4/gstvdpmpeg4dec.c
+++ b/sys/vdpau/mpeg4/gstvdpmpeg4dec.c
@@ -445,8 +445,8 @@ gst_vdp_mpeg4_dec_base_init (gpointer gclass)
"Decode mpeg4 stream with vdpau",
"Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>");
- 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);
}
/* initialize the vdpaumpeg4decoder's class */
diff --git a/sys/wasapi/gstwasapisink.c b/sys/wasapi/gstwasapisink.c
index 3a3d9e906..8e515dc93 100644
--- a/sys/wasapi/gstwasapisink.c
+++ b/sys/wasapi/gstwasapisink.c
@@ -65,8 +65,8 @@ gst_wasapi_sink_base_init (gpointer gclass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
- 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);
gst_element_class_set_details_simple (element_class, "WasapiSrc",
"Sink/Audio",
"Stream audio to an audio capture device through WASAPI",
diff --git a/sys/wasapi/gstwasapisrc.c b/sys/wasapi/gstwasapisrc.c
index a4100315b..0ef642b08 100644
--- a/sys/wasapi/gstwasapisrc.c
+++ b/sys/wasapi/gstwasapisrc.c
@@ -69,8 +69,7 @@ gst_wasapi_src_base_init (gpointer gclass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class, "WasapiSrc",
"Source/Audio",
"Stream audio from an audio capture device through WASAPI",
diff --git a/sys/wininet/gstwininetsrc.c b/sys/wininet/gstwininetsrc.c
index 8104f7cea..b21e3d0be 100644
--- a/sys/wininet/gstwininetsrc.c
+++ b/sys/wininet/gstwininetsrc.c
@@ -83,8 +83,7 @@ gst_win_inet_src_base_init (gpointer gclass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class,
"Windows Network Source", "Source/Network",
diff --git a/sys/winks/gstksvideosrc.c b/sys/winks/gstksvideosrc.c
index 577bef5e6..3f2b66914 100644
--- a/sys/winks/gstksvideosrc.c
+++ b/sys/winks/gstksvideosrc.c
@@ -167,6 +167,7 @@ static void
gst_ks_video_src_base_init (gpointer gclass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
+ GstPadTemplate *pad_template;
gst_element_class_set_details_simple (element_class, "KsVideoSrc",
"Source/Video",
@@ -175,9 +176,11 @@ gst_ks_video_src_base_init (gpointer gclass)
"Haakon Sporsheim <hakon.sporsheim@tandberg.com>\n"
"Andres Colubri <andres.colubri@gmail.com>");
- gst_element_class_add_pad_template (element_class,
+ pad_template =
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
- ks_video_get_all_caps ()));
+ ks_video_get_all_caps ());
+ gst_element_class_add_pad_template (element_class, pad_template);
+ gst_object_unref (pad_template);
}
static void
diff --git a/sys/winscreencap/gstdx9screencapsrc.c b/sys/winscreencap/gstdx9screencapsrc.c
index 83bcea277..72a04cecd 100644
--- a/sys/winscreencap/gstdx9screencapsrc.c
+++ b/sys/winscreencap/gstdx9screencapsrc.c
@@ -101,8 +101,7 @@ gst_dx9screencapsrc_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_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class,
"DirectX 9 screen capture source", "Source/Video", "Captures screen",
diff --git a/sys/winscreencap/gstgdiscreencapsrc.c b/sys/winscreencap/gstgdiscreencapsrc.c
index ff9ea7b72..a10a2fc00 100644
--- a/sys/winscreencap/gstgdiscreencapsrc.c
+++ b/sys/winscreencap/gstgdiscreencapsrc.c
@@ -97,8 +97,7 @@ gst_gdiscreencapsrc_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_static_pad_template (element_class, &src_template);
gst_element_class_set_details_simple (element_class,
"GDI screen capture source", "Source/Video", "Captures screen",
"Haakon Sporsheim <hakon.sporsheim@tandberg.com>");