mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
aggregator: Remove klass->sinkpads_type
This posed problems for the python bindings (and possibly others). Instead, subclasses now use add_pad_template_with_gtype. https://bugzilla.gnome.org/show_bug.cgi?id=789986
This commit is contained in:
parent
4e4438de21
commit
79d0239e2f
2 changed files with 4 additions and 8 deletions
|
@ -1564,6 +1564,9 @@ gst_aggregator_default_create_new_pad (GstAggregator * self,
|
||||||
GstAggregatorPrivate *priv = self->priv;
|
GstAggregatorPrivate *priv = self->priv;
|
||||||
gint serial = 0;
|
gint serial = 0;
|
||||||
gchar *name = NULL;
|
gchar *name = NULL;
|
||||||
|
GType pad_type =
|
||||||
|
GST_PAD_TEMPLATE_GTYPE (templ) ==
|
||||||
|
G_TYPE_NONE ? GST_TYPE_AGGREGATOR_PAD : GST_PAD_TEMPLATE_GTYPE (templ);
|
||||||
|
|
||||||
if (templ->direction != GST_PAD_SINK)
|
if (templ->direction != GST_PAD_SINK)
|
||||||
goto not_sink;
|
goto not_sink;
|
||||||
|
@ -1584,7 +1587,7 @@ gst_aggregator_default_create_new_pad (GstAggregator * self,
|
||||||
}
|
}
|
||||||
|
|
||||||
name = g_strdup_printf ("sink_%u", serial);
|
name = g_strdup_printf ("sink_%u", serial);
|
||||||
agg_pad = g_object_new (GST_AGGREGATOR_GET_CLASS (self)->sinkpads_type,
|
agg_pad = g_object_new (pad_type,
|
||||||
"name", name, "direction", GST_PAD_SINK, "template", templ, NULL);
|
"name", name, "direction", GST_PAD_SINK, "template", templ, NULL);
|
||||||
g_free (name);
|
g_free (name);
|
||||||
|
|
||||||
|
@ -2224,8 +2227,6 @@ gst_aggregator_class_init (GstAggregatorClass * klass)
|
||||||
GST_DEBUG_CATEGORY_INIT (aggregator_debug, "aggregator",
|
GST_DEBUG_CATEGORY_INIT (aggregator_debug, "aggregator",
|
||||||
GST_DEBUG_FG_MAGENTA, "GstAggregator");
|
GST_DEBUG_FG_MAGENTA, "GstAggregator");
|
||||||
|
|
||||||
klass->sinkpads_type = GST_TYPE_AGGREGATOR_PAD;
|
|
||||||
|
|
||||||
klass->sink_event = gst_aggregator_default_sink_event;
|
klass->sink_event = gst_aggregator_default_sink_event;
|
||||||
klass->sink_query = gst_aggregator_default_sink_query;
|
klass->sink_query = gst_aggregator_default_sink_query;
|
||||||
|
|
||||||
|
|
|
@ -152,9 +152,6 @@ struct _GstAggregator
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstAggregatorClass:
|
* GstAggregatorClass:
|
||||||
* @sinkpads_type: Optional.
|
|
||||||
* The type of the pads that should be created when
|
|
||||||
* GstElement.request_new_pad is called.
|
|
||||||
* @flush: Optional.
|
* @flush: Optional.
|
||||||
* Called after a successful flushing seek, once all the flush
|
* Called after a successful flushing seek, once all the flush
|
||||||
* stops have been received. Flush pad-specific data in
|
* stops have been received. Flush pad-specific data in
|
||||||
|
@ -233,8 +230,6 @@ struct _GstAggregator
|
||||||
struct _GstAggregatorClass {
|
struct _GstAggregatorClass {
|
||||||
GstElementClass parent_class;
|
GstElementClass parent_class;
|
||||||
|
|
||||||
GType sinkpads_type;
|
|
||||||
|
|
||||||
GstFlowReturn (*flush) (GstAggregator * aggregator);
|
GstFlowReturn (*flush) (GstAggregator * aggregator);
|
||||||
|
|
||||||
GstBuffer * (*clip) (GstAggregator * aggregator,
|
GstBuffer * (*clip) (GstAggregator * aggregator,
|
||||||
|
|
Loading…
Reference in a new issue