EricssonResearch / scream

SCReAM - Mobile optimised congestion control algorithm
BSD 2-Clause "Simplified" License
174 stars 53 forks source link

Memory Leak due to RTCP #28

Open remmius opened 4 years ago

remmius commented 4 years ago

Hi, i played recently a bit with the plugin-element - great tool. Unfortunately, there seems to be a memory leak due to the exchange of RTCP-packages. The RAM of the sender increases roughly by ~10MB per ~10 minutes starting right from the beginning. The receiver takes some time 2-5min in my case, and then also starts to build up RAM and CPU consumption (up to 100% CPU after an hour). Hints:

Thanks for your work!

Note: Please also update the file ScreamRx.h in the gst-plugin folder. It does not match with referenced ScreamRx.cpp in the main-folder any more. It is difficult to determine the latest version among multiple versions of the same file with same name in different locations.

remmius commented 3 years ago

Pipeline to reproduce the issue on localhost with 1 computer. Sender:

As the rtcp-feedback is done via a tcp-connection, it is necessary to start the receiver side before the sender side. However, with a tcp-connection it was much easier to make it running regarding the ports/nat...