From: Wim Taymans Date: Fri, 10 Feb 2012 10:24:28 +0000 (+0100) Subject: basesink: implement faster ACCEPT_CAPS query X-Git-Tag: RELEASE-0.11.2~29 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b30b397c46196cfcd9cb76133ad34265ddfd0cea;p=platform%2Fupstream%2Fgstreamer.git basesink: implement faster ACCEPT_CAPS query --- diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index 2b6b38e..87c76ac 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -4536,6 +4536,19 @@ gst_base_sink_default_query (GstBaseSink * basesink, GstQuery * query) res = TRUE; break; } + case GST_QUERY_ACCEPT_CAPS: + { + GstCaps *caps, *allowed; + gboolean subset; + + /* slightly faster than the default implementation */ + gst_query_parse_accept_caps (query, &caps); + allowed = gst_base_sink_query_caps (basesink, basesink->sinkpad, NULL); + subset = gst_caps_is_subset (caps, allowed); + gst_query_set_accept_caps_result (query, subset); + res = TRUE; + break; + } default: res = gst_pad_query_default (basesink->sinkpad, GST_OBJECT_CAST (basesink),