RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
143 stars 64 forks source link

how to properly restart interpipe pipeline to avoid memory leakage #104

Open zhenglh33 opened 2 years ago

zhenglh33 commented 2 years ago

Hi, I am writing a program using qt and qtgstreamer binding. I want to use interpipe to increase the flexibility of my program, so I used interpipe. My pipeline structure is 8 camera source using interpipesink => interpipesrc + mux + nvinfer +... + interpipesink => interpipesink + xvimagesink. I want to switch the display to listen to camera source or inference output

When I restarted the pipeline, I did not use gstd, I just (1) send the eos event to display pipeline, (2) set the pipeline state to pause, then to null, (3) change listen-to property, (4) set the pipeline to playing. But this will cause memory leakage, which is related to how many time I switch the pipeline

Is there any solution for this? Thanks in advance