We leak one filter parse result per audio file played. Valgrind reports:
==24559== 24 (12 direct, 12 indirect) bytes in 1 blocks are definitely lost in loss record 34 of 104
==24559== at 0x4044B0B: calloc (vg_replace_malloc.c:1328)
==24559== by 0x453A997: lls_parse (lopsub.c:768)
==24559== by 0x8057612: filter_setup (filter_common.c:98)
==24559== by 0x80500A4: load_file (play.c:377)
==24559== by 0x80500A4: load_next_file (play.c:454)
==24559== by 0x80500A4: play_post_monitor (play.c:1154)
==24559== by 0x8051110: call_post_monitor (sched.c:80)
==24559== by 0x8051110: sched_post_monitor (sched.c:106)
==24559== by 0x8051110: schedule (sched.c:148)
==24559== by 0x804EB80: main (play.c:1217)
#include <lopsub.h>
#include "recv_cmd.lsg.h"
+#include "filter_cmd.lsg.h"
#include "play_cmd.lsg.h"
#include "write_cmd.lsg.h"
#include "play.lsg.h"
if (decoder->close)
decoder->close(&pt->fn);
btr_remove_node(&pt->fn.btrn);
+ lls_free_parse_result(pt->fn.lpr, FILTER_CMD(pt->fn.filter_num));
free(pt->fn.conf);
memset(&pt->fn, 0, sizeof(struct filter_node));