summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/audio_filter_graph.cc8
1 files changed, 5 insertions, 3 deletions
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<const AudioBuffers> 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];