ext/alsa/gstalsasrc.c: Remove bogus "src" request pad.
authorDavid Schleef <ds@schleef.org>
Sat, 3 Jan 2004 01:27:31 +0000 (01:27 +0000)
committerDavid Schleef <ds@schleef.org>
Sat, 3 Jan 2004 01:27:31 +0000 (01:27 +0000)
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory),
(gst_alsa_src_base_init): Remove bogus "src" request pad.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init),
(gst_mpeg_parse_class_init): Move pad template registration
to class_init, since the derived class (mpegdemux) doesn't
want them.

ChangeLog
gst/mpegstream/gstmpegparse.c

index 7d3fb0a..c988f93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-01-02  David Schleef  <ds@schleef.org>
+
+       * ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory),
+       (gst_alsa_src_base_init): Remove bogus "src" request pad.
+       * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init),
+       (gst_mpeg_parse_class_init): Move pad template registration
+       to class_init, since the derived class (mpegdemux) doesn't
+       want them.
+
 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
 
        * sys/ximage/Makefile.am:
index 6ea4bc2..02d98df 100644 (file)
@@ -133,10 +133,6 @@ gst_mpeg_parse_base_init (GstMPEGParseClass *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_set_details (element_class, &mpeg_parse_details);
 }
 
@@ -174,6 +170,14 @@ gst_mpeg_parse_class_init (GstMPEGParseClass *klass)
   klass->parse_pes     = NULL;
   klass->send_data     = gst_mpeg_parse_send_data;
   klass->handle_discont        = gst_mpeg_parse_handle_discont;
+
+  /* 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));
 }
 
 static void