Splitmuxsink issue

I’m using a TI board with GStreamer to capture and encode video from a V4L2 camera source. The pipeline uses v4l2h264enc for H.264 encoding and splitmuxsink to split the video into 10-second chunks with a maximum of 3 files. However, the output files are created but remain empty (0 KB). The autovideosink works fine, showing the video stream, but the files are not being written. I’ve set key_int_max=5 to ensure frequent keyframes and increased the queue size to prevent overflows, but the issue persists. Here’s the pipeline I’m using:

gst-launch-1.0 v4l2src device=/dev/video2 !
video/x-raw,width=1280,height=720 !
videoconvert !
queue max-size-buffers=500 !
tee name=t
t. ! queue !
v4l2h264enc extra-controls=“encode,key_int_max=5” !
h264parse !
queue !
splitmuxsink location=video%02d.mkv max-size-time=10000000000 max-files=3 muxer-factory=matroskamux
muxer-properties=“properties,streamable=true”
The logs show that splitmuxsink is waiting for the end of a GOP, and the queue is overflowing despite increasing its size. I’ve tested the encoder and muxer independently, and they work fine. What could be causing the files to remain empty, and how can I resolve this?

My gstreamer version is 1.22.12