vtdec: try to preserve downstream caps order
authorAlessandro Decina <alessandro.d@gmail.com>
Tue, 7 Jun 2016 06:00:01 +0000 (16:00 +1000)
committerAlessandro Decina <alessandro.d@gmail.com>
Tue, 7 Jun 2016 07:13:12 +0000 (17:13 +1000)
commit7fea17a47645d297487c396c28c35c015189bf8c
treeedfbb336c1e85183fa1bf66eec5ec9da496d5af7
parent26b66a1db5f368b0a92580ddfb1578d731886cb6
vtdec: try to preserve downstream caps order

vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to
call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The
query does gst_caps_intersect (filter, peercaps) internally which gives
precedence to the order of the filter caps. While we want to output sysmem by
default, when negotiating with glimagesink which returns GLMemory; sysmem; we
do want to do GL, so we now query using a NULL filter and intersect the result
with our template caps giving precedence to downstream's caps.

tl;dr: make sure we end up negotiating GLMemory with glimagesink
sys/applemedia/vtdec.c