diff --git a/ChangeLog b/ChangeLog index ddbe9d3ccc..9e777b591c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-12-22 Benjamin Otte + + * gst/elements/gstelements.c: + Set ranks of elements to NONE, so the autoplugger doesn't use them. + * gst/elements/gstshaper.c: (gst_shaper_getcaps): + Fix proxying to new CAPS stuff. Don't call get_allowed_caps but + gst_caps (peer). + 2003-12-22 Benjamin Otte * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect): diff --git a/gst/elements/gstelements.c b/gst/elements/gstelements.c index 3b30483535..cc178c55d2 100644 --- a/gst/elements/gstelements.c +++ b/gst/elements/gstelements.c @@ -55,21 +55,21 @@ extern GType gst_filesrc_get_type(void); extern GstElementDetails gst_filesrc_details; static struct _elements_entry _elements[] = { - { "aggregator", GST_RANK_PRIMARY, gst_aggregator_get_type }, - { "fakesrc", GST_RANK_PRIMARY, gst_fakesrc_get_type }, - { "fakesink", GST_RANK_PRIMARY, gst_fakesink_get_type }, - { "fdsink", GST_RANK_PRIMARY, gst_fdsink_get_type }, - { "fdsrc", GST_RANK_PRIMARY, gst_fdsrc_get_type }, - { "filesrc", GST_RANK_PRIMARY, gst_filesrc_get_type }, - { "filesink", GST_RANK_PRIMARY, gst_filesink_get_type }, - { "identity", GST_RANK_PRIMARY, gst_identity_get_type }, - { "md5sink", GST_RANK_PRIMARY, gst_md5sink_get_type }, - { "multidisksrc", GST_RANK_PRIMARY, gst_multidisksrc_get_type }, - { "pipefilter", GST_RANK_PRIMARY, gst_pipefilter_get_type }, - { "shaper", GST_RANK_PRIMARY, gst_shaper_get_type }, - { "statistics", GST_RANK_PRIMARY, gst_statistics_get_type }, - { "tee", GST_RANK_PRIMARY, gst_tee_get_type }, - { "typefind", GST_RANK_PRIMARY, gst_type_find_element_get_type }, + { "aggregator", GST_RANK_NONE, gst_aggregator_get_type }, + { "fakesrc", GST_RANK_NONE, gst_fakesrc_get_type }, + { "fakesink", GST_RANK_NONE, gst_fakesink_get_type }, + { "fdsink", GST_RANK_NONE, gst_fdsink_get_type }, + { "fdsrc", GST_RANK_NONE, gst_fdsrc_get_type }, + { "filesrc", GST_RANK_NONE, gst_filesrc_get_type }, + { "filesink", GST_RANK_NONE, gst_filesink_get_type }, + { "identity", GST_RANK_NONE, gst_identity_get_type }, + { "md5sink", GST_RANK_NONE, gst_md5sink_get_type }, + { "multidisksrc", GST_RANK_NONE, gst_multidisksrc_get_type }, + { "pipefilter", GST_RANK_NONE, gst_pipefilter_get_type }, + { "shaper", GST_RANK_NONE, gst_shaper_get_type }, + { "statistics", GST_RANK_NONE, gst_statistics_get_type }, + { "tee", GST_RANK_NONE, gst_tee_get_type }, + { "typefind", GST_RANK_NONE, gst_type_find_element_get_type }, { NULL, 0 }, }; diff --git a/gst/elements/gstshaper.c b/gst/elements/gstshaper.c index 95a3f1a162..90ca3cdc9a 100644 --- a/gst/elements/gstshaper.c +++ b/gst/elements/gstshaper.c @@ -180,7 +180,11 @@ gst_shaper_getcaps (GstPad *pad) otherpad = (pad == connection->srcpad ? connection->sinkpad : connection->srcpad); - return gst_caps_copy (gst_pad_get_allowed_caps (otherpad)); + if (GST_PAD_PEER (otherpad)) { + return gst_pad_get_caps (GST_PAD_PEER (otherpad)); + } else { + return gst_caps_new_any (); + } } static GList* diff --git a/plugins/elements/gstelements.c b/plugins/elements/gstelements.c index 3b30483535..cc178c55d2 100644 --- a/plugins/elements/gstelements.c +++ b/plugins/elements/gstelements.c @@ -55,21 +55,21 @@ extern GType gst_filesrc_get_type(void); extern GstElementDetails gst_filesrc_details; static struct _elements_entry _elements[] = { - { "aggregator", GST_RANK_PRIMARY, gst_aggregator_get_type }, - { "fakesrc", GST_RANK_PRIMARY, gst_fakesrc_get_type }, - { "fakesink", GST_RANK_PRIMARY, gst_fakesink_get_type }, - { "fdsink", GST_RANK_PRIMARY, gst_fdsink_get_type }, - { "fdsrc", GST_RANK_PRIMARY, gst_fdsrc_get_type }, - { "filesrc", GST_RANK_PRIMARY, gst_filesrc_get_type }, - { "filesink", GST_RANK_PRIMARY, gst_filesink_get_type }, - { "identity", GST_RANK_PRIMARY, gst_identity_get_type }, - { "md5sink", GST_RANK_PRIMARY, gst_md5sink_get_type }, - { "multidisksrc", GST_RANK_PRIMARY, gst_multidisksrc_get_type }, - { "pipefilter", GST_RANK_PRIMARY, gst_pipefilter_get_type }, - { "shaper", GST_RANK_PRIMARY, gst_shaper_get_type }, - { "statistics", GST_RANK_PRIMARY, gst_statistics_get_type }, - { "tee", GST_RANK_PRIMARY, gst_tee_get_type }, - { "typefind", GST_RANK_PRIMARY, gst_type_find_element_get_type }, + { "aggregator", GST_RANK_NONE, gst_aggregator_get_type }, + { "fakesrc", GST_RANK_NONE, gst_fakesrc_get_type }, + { "fakesink", GST_RANK_NONE, gst_fakesink_get_type }, + { "fdsink", GST_RANK_NONE, gst_fdsink_get_type }, + { "fdsrc", GST_RANK_NONE, gst_fdsrc_get_type }, + { "filesrc", GST_RANK_NONE, gst_filesrc_get_type }, + { "filesink", GST_RANK_NONE, gst_filesink_get_type }, + { "identity", GST_RANK_NONE, gst_identity_get_type }, + { "md5sink", GST_RANK_NONE, gst_md5sink_get_type }, + { "multidisksrc", GST_RANK_NONE, gst_multidisksrc_get_type }, + { "pipefilter", GST_RANK_NONE, gst_pipefilter_get_type }, + { "shaper", GST_RANK_NONE, gst_shaper_get_type }, + { "statistics", GST_RANK_NONE, gst_statistics_get_type }, + { "tee", GST_RANK_NONE, gst_tee_get_type }, + { "typefind", GST_RANK_NONE, gst_type_find_element_get_type }, { NULL, 0 }, }; diff --git a/plugins/elements/gstshaper.c b/plugins/elements/gstshaper.c index 95a3f1a162..90ca3cdc9a 100644 --- a/plugins/elements/gstshaper.c +++ b/plugins/elements/gstshaper.c @@ -180,7 +180,11 @@ gst_shaper_getcaps (GstPad *pad) otherpad = (pad == connection->srcpad ? connection->sinkpad : connection->srcpad); - return gst_caps_copy (gst_pad_get_allowed_caps (otherpad)); + if (GST_PAD_PEER (otherpad)) { + return gst_pad_get_caps (GST_PAD_PEER (otherpad)); + } else { + return gst_caps_new_any (); + } } static GList*