FFmpeg live encoding with fixed 6s latency buffer (SDI to libx264 to ASI)

I want to encode a live stream with good quality and a fixed delay of about 6 seconds.

The flow is:

SDI input -> encode (libx264) -> ASI output

I can’t find a buffer option that can be used together with the encoding to create this delay, while still getting a smooth encoded stream without freezes, black frames, or artifacts.

Is there a recommended way to do this in FFmpeg (for example a specific input buffer option, filter, or encoder setting)?