From 2e0fde378374b3683c7ae7d69643574008845068 Mon Sep 17 00:00:00 2001 From: Valentin NOEL Date: Wed, 27 Apr 2022 12:59:11 +0200 Subject: [PATCH 1/2] Fix: video filters support and audio filters memory leak Free video filters data at each process loop, but skip audio filters data frame. Improvement of be100b807eef11ce5de1e51cfd29047d1d93de64 fix --- src/AvTranscoder/transcoder/StreamTranscoder.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/AvTranscoder/transcoder/StreamTranscoder.cpp b/src/AvTranscoder/transcoder/StreamTranscoder.cpp index af92b5d4..0882144b 100644 --- a/src/AvTranscoder/transcoder/StreamTranscoder.cpp +++ b/src/AvTranscoder/transcoder/StreamTranscoder.cpp @@ -751,12 +751,6 @@ IOutputStream::EWrappingStatus StreamTranscoder::processTranscode() _transformedData->allocateData(); } } - else if(_filterGraph->hasFilters()) - { - LOG_DEBUG("Free filtered data") // filled from filter graph sink - av_frame_unref(&_filteredData->getAVFrame()); - _filteredData->freeData(); - } // Check decoding status bool continueProcess = true; @@ -811,6 +805,15 @@ IOutputStream::EWrappingStatus StreamTranscoder::processTranscode() LOG_DEBUG("Encode") _outputEncoder->encodeFrame(*_transformedData, data); + if(_filterGraph->hasFilters()) + { + LOG_DEBUG("Free filtered data") // filled from filter graph sink + if (_filteredData->isVideoFrame()) { + // Do not unref filter audio frame, to avoid reallocating it each time + av_frame_unref(&_filteredData->getAVFrame()); + } + _filteredData->freeData(); + } } else { From 40b5e9debc172f1976dc2c61ee2149b315a2ec88 Mon Sep 17 00:00:00 2001 From: Valentin NOEL Date: Wed, 27 Apr 2022 12:59:59 +0200 Subject: [PATCH 2/2] Bump version to 0.15.5 --- src/AvTranscoder/common.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AvTranscoder/common.hpp b/src/AvTranscoder/common.hpp index 5b809c60..bfd80899 100644 --- a/src/AvTranscoder/common.hpp +++ b/src/AvTranscoder/common.hpp @@ -3,7 +3,7 @@ #define AVTRANSCODER_VERSION_MAJOR 0 #define AVTRANSCODER_VERSION_MINOR 15 -#define AVTRANSCODER_VERSION_MICRO 4 +#define AVTRANSCODER_VERSION_MICRO 5 #include pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy