From 16ae636b9ab36b7ee384fc0adce96ceff47eadca Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 27 Nov 2015 21:46:04 +0000 Subject: Speculative fix for crash when destroying AudioFilterGraph. --- src/lib/audio_filter_graph.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/lib') diff --git a/src/lib/audio_filter_graph.cc b/src/lib/audio_filter_graph.cc index 0035fb213..fd2492d3b 100644 --- a/src/lib/audio_filter_graph.cc +++ b/src/lib/audio_filter_graph.cc @@ -40,9 +40,7 @@ AudioFilterGraph::AudioFilterGraph (int sample_rate, int64_t channel_layout) AudioFilterGraph::~AudioFilterGraph() { - if (_in_frame) { - av_frame_free (&_in_frame); - } + av_frame_free (&_in_frame); } string @@ -114,6 +112,10 @@ AudioFilterGraph::process (shared_ptr buffers) int r = av_buffersrc_write_frame (_buffer_src_context, _in_frame); delete[] _in_frame->extended_data; + /* Reset extended_data to its original value so that av_frame_free + does not try to free it. + */ + _in_frame->extended_data = _in_frame->data; if (r < 0) { char buffer[256]; -- cgit v1.2.3