espressif / esp-adf-libs

56 stars 41 forks source link

Fix equalizer memory leak in . #13

Closed cbontoz closed 2 years ago

cbontoz commented 4 years ago

I noticed a memory leak every time I restart the audio pipeline. The leak disappeared once I removed the equalizer from the audio pipeline. I confirmed it by wrapping the pipeline code in heap_trace_start/heap_trace_stop:

100 bytes (@ 0x3ffefcac) allocated CPU 1 ccount 0xac3fc764 caller 0x402178bc:0x40217975 0x402178bc: equalizer_open at /esp/project/esp-adf/components/esp-adf-libs/esp_codec/equalizer.c:114 0x40217975: equalizer_process at /esp/project/esp-adf/components/esp-adf-libs/esp_codec/equalizer.c:114

The equalizer_close was not deallocating the equalizer buffer. Thx

arneg commented 3 years ago

@jason-mao

This bug was introduced by your commit b0e3c83c3feeb0d89628e157c588b52bb7d961ad . It currently makes the equalizer unusable right now when dynamically changing gain, because this will close() and open() the equalizer. Please consider integrating this fix.

jason-mao commented 2 years ago

@cbontoz @arneg Thank you for your report. This repo's PR is not tracked, sorry for reply too late. This bug fixed on 5921a8e8fd9d3776af4dfa5f4d9559296a2190c4.