summaryrefslogtreecommitdiff
path: root/src/filter
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2019-03-24 22:27:48 +0100
committerMax Kellermann <max@musicpd.org>2019-03-24 22:27:48 +0100
commita21c6884f2fef802b1f3f0ef43544434b2e4f07e (patch)
treee14099449d24c872d2d732bf5546119fc8dc859b /src/filter
parent2700eed08d3d7fdcc9eab6f9f8a21ebefc028222 (diff)
filter/ffmpeg: call av_frame_unref() before av_buffersink_get_frame()
Fix another memory leak. Closes https://github.com/MusicPlayerDaemon/MPD/issues/514
Diffstat (limited to 'src/filter')
-rw-r--r--src/filter/plugins/FfmpegFilter.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/filter/plugins/FfmpegFilter.cxx b/src/filter/plugins/FfmpegFilter.cxx
index af90b795a..5fe0b3c38 100644
--- a/src/filter/plugins/FfmpegFilter.cxx
+++ b/src/filter/plugins/FfmpegFilter.cxx
@@ -66,6 +66,8 @@ FfmpegFilter::FilterPCM(ConstBuffer<void> src)
/* collect filtered data from the FFmpeg audio buffer sink */
+ out_frame.Unref();
+
err = av_buffersink_get_frame(buffer_sink.get(), out_frame.get());
if (err < 0) {
if (err == AVERROR(EAGAIN) || err == AVERROR_EOF)