C++ code eat too much memory, growth from 30Mb to 100Mb


Given Ubuntu 22.04 and gst 1.25, there C++ code which capture camera stream, read sample and write mp4 files within configured interval. It starts with 38Mb and then within few hours growth to over 100Mb.
Why it is so, what we are doing wrong? Maybe we misconfigured something?

Here is pipeline, full source link is below:

GstElement *create_capture_pipeline() {
    auto *pipeline = gst_parse_launch(
            "rtspsrc buffer_mode=0 name=rtspsrc ! rtph264depay ! h264parse ! tee name=vi"
            " vi. ! splitmuxsink name=sms"
            " vi. ! avdec_h264 ! jpegenc ! tee name=tp2"
            " tp2. ! queue max-size-buffers=10 leaky=2 name=appq"
            " tp2. ! multipartmux  boundary=mjpegstream  ! tcpserversink host= port=1234",

    return pipeline;

Here is full source code – Share Code Snippets | CodersTool

Thanks in advance.

Hi, any thoughts about the possible issue?

Seems the full source code is no longer available from your link.
Are you seeing memory usage increase as you’re creating more pipelines ?
If yes, after you stop a no longer useful pipeline do you call gst_object_unref(pipeline_pointer) ?
If not, not sure but also note that in your example splitmuxsink has no location set.

Hi, here is source – Share Code Snippets | CodersTool