gstv4l2videodec: v4l2 OUTPUT bufferpool is configured with always minimum and maximum 2 buffers.
Inside gstv4l2videodec, in 'gst_v4l2_video_dec_handle_frame' callback during startup, the v4l2output bufferpool is configured with a maximum of 2 and minimum of 2 buffers.
A device that implements 'V4L2_CID_MIN_BUFFERS_FOR_OUTPUT' control provides the min_buffers for output. The pipeline fails to negotiate if the 'V4L2_CID_MIN_BUFFERS_FOR_OUTPUT' gives a value outside the min: 2 and max: 2 range. I think the value shouldn't be hard-coded to a 2/2 range.
The min:2 and max:2 ranges is hardcoded at gstv4l2videodec:624
gst_buffer_pool_config_set_params (config, self->input_state->caps, self->v4l2output->info.size, 2, 2);