Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
gst_video_filter_propose_allocation (GstBaseTransform * trans, GstQuery * query)
{
GstVideoFilter *filter = GST_VIDEO_FILTER_CAST (trans);
+ GstVideoInfo info;
GstBufferPool *pool;
GstCaps *caps;
gboolean need_pool;
gst_query_parse_allocation (query, &caps, &need_pool);
- size = GST_VIDEO_INFO_SIZE (&filter->in_info);
+ if (caps == NULL)
+ return FALSE;
+
+ if (!gst_video_info_from_caps (&info, caps))
+ return FALSE;
+
+ size = GST_VIDEO_INFO_SIZE (&info);
if (need_pool) {
GstStructure *structure;