v4l2object: Ensure size before configuring the pool

This commit is contained in:
Nicolas Dufresne 2014-04-08 17:34:19 -04:00
parent 5a61fb7f25
commit 46ffef798c

View file

@ -3128,6 +3128,17 @@ gst_v4l2_object_decide_allocation (GstV4l2Object * obj, GstQuery * query)
break;
}
/* Size field is mandatory and we have no size if now using our own pool and
* downstream didn't provide one. */
if (size == 0) {
GstVideoInfo info;
gst_video_info_init (&info);
gst_video_info_from_caps (&info, caps);
size = GST_VIDEO_INFO_SIZE (&info);
}
if (pool) {
GstStructure *config;
@ -3144,17 +3155,6 @@ gst_v4l2_object_decide_allocation (GstV4l2Object * obj, GstQuery * query)
gst_buffer_pool_set_config (pool, config);
}
/* Size field is mandatory and we have no size if now using our own pool and
* downstream didn't provide one. */
if (size == 0) {
GstVideoInfo info;
gst_video_info_init (&info);
gst_video_info_from_caps (&info, caps);
size = GST_VIDEO_INFO_SIZE (&info);
}
if (update)
gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
else