diff --git a/spa/plugins/v4l2/v4l2-utils.c b/spa/plugins/v4l2/v4l2-utils.c index e36944f8c..a03639f51 100644 --- a/spa/plugins/v4l2/v4l2-utils.c +++ b/spa/plugins/v4l2/v4l2-utils.c @@ -1048,6 +1048,8 @@ static int spa_v4l2_set_format(struct impl *this, struct spa_video_info *format, size->width = fmt.fmt.pix.width; size->height = fmt.fmt.pix.height; + probe_expbuf(this); + port->fmt = fmt; port->info.change_mask |= SPA_PORT_CHANGE_MASK_FLAGS | SPA_PORT_CHANGE_MASK_RATE; port->info.flags = (port->alloc_buffers ? SPA_PORT_FLAG_CAN_ALLOC_BUFFERS : 0) | @@ -1057,8 +1059,6 @@ static int spa_v4l2_set_format(struct impl *this, struct spa_video_info *format, port->info.rate.num = streamparm.parm.capture.timeperframe.numerator; port->info.rate.denom = streamparm.parm.capture.timeperframe.denominator; - probe_expbuf(this); - return match ? 0 : 1; }