.. _caps_negotiation: CAPS Negotiation ################ The SiMa.ai plugins support the mechanism of CAPS negotiation available in the GStreamer framework. CAPS negotiation is the process by which GStreamer plugins in a pipeline agree on a common media format for successful data exchange, resulting in dynamic and adaptive pipelines. When creating plugins, careful definition and handling of CAPS ensures compatibility and flexibility, enabling robust multimedia and ML workflows. The CAPS-enabled plugins include all possible data types it can process. That is, CAPS describe the media format that a plugin can accept or produce, such as video resolution, frame rate, pixel format, or audio sample rate. If the format specified through CAPS Negotiation is not supported, then the user must manually calculate the output buffer size by using the ``buffer-size`` property.