various: fix pad template ref leaks

https://bugzilla.gnome.org/show_bug.cgi?id=662664
This commit is contained in:
Vincent Penquerc'h 2011-11-28 13:10:01 +00:00
parent daecb74456
commit 213ce049ad
30 changed files with 107 additions and 122 deletions

View file

@ -128,10 +128,8 @@ gst_a52dec_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &sink_factory);
gst_static_pad_template_get (&sink_factory)); gst_element_class_add_static_pad_template (element_class, &src_factory);
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&src_factory));
gst_element_class_set_details_simple (element_class, gst_element_class_set_details_simple (element_class,
"ATSC A/52 audio decoder", "Codec/Decoder/Audio", "ATSC A/52 audio decoder", "Codec/Decoder/Audio",
"Decodes ATSC A/52 encoded audio streams", "Decodes ATSC A/52 encoded audio streams",

View file

@ -115,10 +115,9 @@ gst_amrnbdec_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class, "AMR-NB audio decoder", gst_element_class_set_details_simple (element_class, "AMR-NB audio decoder",
"Codec/Decoder/Audio", "Codec/Decoder/Audio",

View file

@ -141,10 +141,9 @@ gst_amrnbenc_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class, "AMR-NB audio encoder", gst_element_class_set_details_simple (element_class, "AMR-NB audio encoder",
"Codec/Encoder/Audio", "Codec/Encoder/Audio",

View file

@ -85,10 +85,9 @@ gst_amrwbdec_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class, "AMR-WB audio decoder", gst_element_class_set_details_simple (element_class, "AMR-WB audio decoder",
"Codec/Decoder/Audio", "Codec/Decoder/Audio",

View file

@ -96,8 +96,7 @@ gst_dvd_read_src_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &srctemplate);
gst_static_pad_template_get (&srctemplate));
gst_element_class_set_details_simple (element_class, "DVD Source", gst_element_class_set_details_simple (element_class, "DVD Source",
"Source/File/DVD", "Source/File/DVD",

View file

@ -354,10 +354,10 @@ gst_lame_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_lame_src_template)); &gst_lame_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_lame_sink_template)); &gst_lame_sink_template);
gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder", gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder",
"Codec/Encoder/Audio", "Codec/Encoder/Audio",
"High-quality free MP3 encoder (deprecated)", "High-quality free MP3 encoder (deprecated)",

View file

@ -215,10 +215,10 @@ gst_lamemp3enc_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_lamemp3enc_src_template)); &gst_lamemp3enc_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_lamemp3enc_sink_template)); &gst_lamemp3enc_sink_template);
gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder", gst_element_class_set_details_simple (element_class, "L.A.M.E. mp3 encoder",
"Codec/Encoder/Audio", "Codec/Encoder/Audio",
"High-quality free MP3 encoder", "High-quality free MP3 encoder",

View file

@ -171,10 +171,10 @@ gst_mad_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&mad_sink_template_factory)); &mad_sink_template_factory);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&mad_src_template_factory)); &mad_src_template_factory);
gst_element_class_set_details_simple (element_class, "mad mp3 decoder", gst_element_class_set_details_simple (element_class, "mad mp3 decoder",
"Codec/Decoder/Audio", "Codec/Decoder/Audio",
"Uses mad code to decode mp3 streams", "Wim Taymans <wim@fluendo.com>"); "Uses mad code to decode mp3 streams", "Wim Taymans <wim@fluendo.com>");

View file

@ -157,13 +157,13 @@ gst_mpeg2dec_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&src_template_factory)); &src_template_factory);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template_factory)); &sink_template_factory);
#ifdef enable_user_data #ifdef enable_user_data
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&user_data_template_factory)); &user_data_template_factory);
#endif #endif
gst_element_class_set_details_simple (element_class, gst_element_class_set_details_simple (element_class,
"mpeg1 and mpeg2 video decoder", "Codec/Decoder/Video", "mpeg1 and mpeg2 video decoder", "Codec/Decoder/Video",

View file

@ -155,10 +155,10 @@ gst_siddec_base_init (gpointer g_class)
"Codec/Decoder/Audio", "Use libsidplay to decode SID audio tunes", "Codec/Decoder/Audio", "Use libsidplay to decode SID audio tunes",
"Wim Taymans <wim.taymans@gmail.com>"); "Wim Taymans <wim.taymans@gmail.com>");
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&src_templ)); &src_templ);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_templ)); &sink_templ);
} }
static void static void

View file

@ -230,10 +230,10 @@ gst_two_lame_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_two_lame_src_template)); &gst_two_lame_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_two_lame_sink_template)); &gst_two_lame_sink_template);
gst_element_class_set_details_simple (element_class, "TwoLAME mp2 encoder", gst_element_class_set_details_simple (element_class, "TwoLAME mp2 encoder",
"Codec/Encoder/Audio", "Codec/Encoder/Audio",
"High-quality free MP2 encoder", "High-quality free MP2 encoder",

View file

@ -525,10 +525,8 @@ gst_x264_enc_base_init (gpointer g_class)
"Josef Zlomek <josef.zlomek@itonis.tv>, " "Josef Zlomek <josef.zlomek@itonis.tv>, "
"Mark Nauwelaerts <mnauw@users.sf.net>"); "Mark Nauwelaerts <mnauw@users.sf.net>");
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_factory);
gst_static_pad_template_get (&src_factory)); gst_element_class_add_static_pad_template (element_class, &sink_factory);
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
} }
/* don't forget to free the string after use */ /* don't forget to free the string after use */

View file

@ -116,12 +116,12 @@ gst_asf_demux_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&audio_src_template)); &audio_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&video_src_template)); &video_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_asf_demux_sink_template)); &gst_asf_demux_sink_template);
gst_element_class_set_details_simple (element_class, "ASF Demuxer", gst_element_class_set_details_simple (element_class, "ASF Demuxer",
"Codec/Demuxer", "Codec/Demuxer",

View file

@ -69,10 +69,8 @@ gst_rtp_asf_depay_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_factory);
gst_static_pad_template_get (&src_factory)); gst_element_class_add_static_pad_template (element_class, &sink_factory);
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
gst_element_class_set_details_simple (element_class, gst_element_class_set_details_simple (element_class,
"RTP ASF packet depayloader", "Codec/Depayloader/Network", "RTP ASF packet depayloader", "Codec/Depayloader/Network",

View file

@ -116,10 +116,10 @@ gst_dvdlpcmdec_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_dvdlpcmdec_sink_template)); &gst_dvdlpcmdec_sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_dvdlpcmdec_src_template)); &gst_dvdlpcmdec_src_template);
gst_element_class_set_details_simple (element_class, "DVD LPCM Audio decoder", gst_element_class_set_details_simple (element_class, "DVD LPCM Audio decoder",
"Codec/Decoder/Audio", "Codec/Decoder/Audio",
"Decode DVD LPCM frames into standard PCM audio", "Decode DVD LPCM frames into standard PCM audio",

View file

@ -105,10 +105,9 @@ gst_dvd_sub_dec_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template)); gst_element_class_add_static_pad_template (element_class,
gst_element_class_add_pad_template (element_class, &subtitle_template);
gst_static_pad_template_get (&subtitle_template));
gst_element_class_set_details_simple (element_class, "DVD subtitle decoder", gst_element_class_set_details_simple (element_class, "DVD subtitle decoder",
"Codec/Decoder/Video", "Decodes DVD subtitles into AYUV video frames", "Codec/Decoder/Video", "Decodes DVD subtitles into AYUV video frames",

View file

@ -57,10 +57,9 @@ gst_dvd_sub_parse_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template)); gst_element_class_add_static_pad_template (element_class,
gst_element_class_add_pad_template (element_class, &sink_template);
gst_static_pad_template_get (&sink_template));
gst_element_class_set_details_simple (element_class, "DVD subtitle parser", gst_element_class_set_details_simple (element_class, "DVD subtitle parser",
"Codec/Parser/Subtitle", "Parses and packetizes DVD subtitle streams", "Codec/Parser/Subtitle", "Parses and packetizes DVD subtitle streams",

View file

@ -135,10 +135,10 @@ ac3iec_base_init (gpointer g_class)
"Codec/Muxer/Audio", "Codec/Muxer/Audio",
"Pads AC3 frames into IEC958 frames suitable for a raw S/PDIF interface", "Pads AC3 frames into IEC958 frames suitable for a raw S/PDIF interface",
"Martin Soto <martinsoto@users.sourceforge.net>"); "Martin Soto <martinsoto@users.sourceforge.net>");
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&ac3iec_sink_template)); &ac3iec_sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&ac3iec_src_template)); &ac3iec_src_template);
} }

View file

@ -290,10 +290,10 @@ gst_mp3parse_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&mp3_sink_template)); &mp3_sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&mp3_src_template)); &mp3_src_template);
GST_DEBUG_CATEGORY_INIT (mp3parse_debug, "mp3parse", 0, "MPEG Audio Parser"); GST_DEBUG_CATEGORY_INIT (mp3parse_debug, "mp3parse", 0, "MPEG Audio Parser");

View file

@ -390,10 +390,10 @@ gst_xing_mux_base_init (gpointer g_class)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_xing_mux_src_template)); &gst_xing_mux_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_xing_mux_sink_template)); &gst_xing_mux_sink_template);
GST_DEBUG_CATEGORY_INIT (xing_mux_debug, "xingmux", 0, "Xing Header Muxer"); GST_DEBUG_CATEGORY_INIT (xing_mux_debug, "xingmux", 0, "Xing Header Muxer");

View file

@ -188,8 +188,8 @@ gst_dvd_demux_base_init (gpointer klass)
mpeg_parse_class->parse_packhead = gst_dvd_demux_parse_packhead; mpeg_parse_class->parse_packhead = gst_dvd_demux_parse_packhead;
/* sink pad */ /* sink pad */
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
demux_class->audio_template = gst_static_pad_template_get (&audio_template); demux_class->audio_template = gst_static_pad_template_get (&audio_template);

View file

@ -200,8 +200,8 @@ gst_mpeg_demux_class_init (GstMPEGDemuxClass * klass)
klass->sync_stream_to_time = gst_mpeg_demux_sync_stream_to_time; 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 */ /* we have our own sink pad template, but don't use it in subclasses */
gst_element_class_add_pad_template (gstelement_class, gst_element_class_add_static_pad_template (gstelement_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
} }
static void static void

View file

@ -161,10 +161,10 @@ gst_mpeg_parse_class_init (GstMPEGParseClass * klass)
/* FIXME: this is a hack. We add the pad templates here instead /* FIXME: this is a hack. We add the pad templates here instead
* in the base_init function, since the derived class (mpegdemux) * in the base_init function, since the derived class (mpegdemux)
* uses different pads. IMO, this is wrong. */ * uses different pads. IMO, this is wrong. */
gst_element_class_add_pad_template (gstelement_class, gst_element_class_add_static_pad_template (gstelement_class,
gst_static_pad_template_get (&src_factory)); &src_factory);
gst_element_class_add_pad_template (gstelement_class, gst_element_class_add_static_pad_template (gstelement_class,
gst_static_pad_template_get (&sink_factory)); &sink_factory);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MAX_SCR_GAP, g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MAX_SCR_GAP,
g_param_spec_int ("max-scr-gap", "Max SCR gap", g_param_spec_int ("max-scr-gap", "Max SCR gap",

View file

@ -100,10 +100,8 @@ gst_rfc2250_enc_base_init (GstRFC2250EncClass * klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_factory);
gst_static_pad_template_get (&src_factory)); gst_element_class_add_static_pad_template (element_class, &sink_factory);
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
gst_element_class_set_details_simple (element_class, gst_element_class_set_details_simple (element_class,
"RFC 2250 packet encoder", "Codec/Parser", "RFC 2250 packet encoder", "Codec/Parser",
"transforms MPEG1/2 video to an RFC 2250 compliant format", "transforms MPEG1/2 video to an RFC 2250 compliant format",

View file

@ -85,8 +85,8 @@ gst_pnm_src_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_pnm_src_template)); &gst_pnm_src_template);
gst_element_class_set_details_simple (element_class, "PNM packet receiver", gst_element_class_set_details_simple (element_class, "PNM packet receiver",
"Source/Network", "Source/Network",

View file

@ -82,10 +82,9 @@ gst_real_audio_demux_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&sink_template)); &sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class, &src_template);
gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class, "RealAudio Demuxer", gst_element_class_set_details_simple (element_class, "RealAudio Demuxer",
"Codec/Demuxer", "Codec/Demuxer",
"Demultiplex a RealAudio file", "Demultiplex a RealAudio file",

View file

@ -80,10 +80,10 @@ gst_rdt_depay_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_depay_src_template)); &gst_rdt_depay_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_depay_sink_template)); &gst_rdt_depay_sink_template);
gst_element_class_set_details_simple (element_class, "RDT packet parser", gst_element_class_set_details_simple (element_class, "RDT packet parser",
"Codec/Depayloader/Network", "Codec/Depayloader/Network",

View file

@ -325,15 +325,15 @@ gst_rdt_manager_base_init (gpointer klass)
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
/* sink pads */ /* sink pads */
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_sink_template)); &gst_rdt_manager_recv_rtp_sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_manager_recv_rtcp_sink_template)); &gst_rdt_manager_recv_rtcp_sink_template);
/* src pads */ /* src pads */
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_src_template)); &gst_rdt_manager_recv_rtp_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rdt_manager_rtcp_src_template)); &gst_rdt_manager_rtcp_src_template);
gst_element_class_set_details_simple (element_class, "RTP Decoder", gst_element_class_set_details_simple (element_class, "RTP Decoder",
"Codec/Parser/Network", "Codec/Parser/Network",

View file

@ -196,12 +196,12 @@ gst_rmdemux_base_init (GstRMDemuxClass * klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rmdemux_sink_template)); &gst_rmdemux_sink_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rmdemux_videosrc_template)); &gst_rmdemux_videosrc_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_rmdemux_audiosrc_template)); &gst_rmdemux_audiosrc_template);
gst_element_class_set_details_simple (element_class, "RealMedia Demuxer", gst_element_class_set_details_simple (element_class, "RealMedia Demuxer",
"Codec/Demuxer", "Codec/Demuxer",
"Demultiplex a RealMedia file into audio and video streams", "Demultiplex a RealMedia file into audio and video streams",

View file

@ -78,10 +78,10 @@ gst_synaesthesia_base_init (gpointer g_class)
"Creates video visualizations of audio input, using stereo and pitch information", "Creates video visualizations of audio input, using stereo and pitch information",
"Richard Boulton <richard@tartarus.org>"); "Richard Boulton <richard@tartarus.org>");
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_synaesthesia_src_template)); &gst_synaesthesia_src_template);
gst_element_class_add_pad_template (element_class, gst_element_class_add_static_pad_template (element_class,
gst_static_pad_template_get (&gst_synaesthesia_sink_template)); &gst_synaesthesia_sink_template);
} }
static void static void