Skip to content
Snippets Groups Projects
Commit 0490e391 authored by Aline Gondim Santos's avatar Aline Gondim Santos
Browse files

AudioFilter: keep same audio format as the input

Change-Id: I82e6d9cda290afb3e4f158c7053e40d89f117ab7
parent ae48b69b
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
# set the project name
set (ProjectName AudioFilter)
set (Version 1.0.0)
set (Version 1.0.1)
project(${ProjectName} VERSION ${Version})
......
......@@ -59,10 +59,19 @@ FilterAudioSubscriber::setIRFile(const std::string& irFile)
}
void
FilterAudioSubscriber::setFilterDescription(const int pSampleRate, const int pSamples)
FilterAudioSubscriber::setFilterDescription(const int pSampleRate, const int pSamples, const int pFormat)
{
int rSamples = 1024; // due to afir internal fifo
int midSampleRate = pSampleRate * rSamples / pSamples;
std::string outFormat {"s16"};
if (pFormat == AV_SAMPLE_FMT_U8)
outFormat = "u8";
else if (pFormat == AV_SAMPLE_FMT_S32)
outFormat = "s32";
else if (pFormat == AV_SAMPLE_FMT_FLT)
outFormat = "f32";
else if (pFormat == AV_SAMPLE_FMT_DBL)
outFormat = "f64";
filterDescription_
= "[ input ] aformat=sample_fmts=s16:sample_rates=" + std::to_string(midSampleRate)
+ ":channel_layouts=stereo [ resample1 ] , "
......@@ -70,9 +79,9 @@ FilterAudioSubscriber::setFilterDescription(const int pSampleRate, const int pSa
+ std::to_string(rSamples) + ":minp=" + std::to_string(rSamples)
+ " [ reverb ] , "
#ifdef __DEBUG__
"[ reverb ] aformat=sample_fmts=s16p:sample_rates="
"[ reverb ] aformat=sample_fmts=" + outFormat + "p:sample_rates="
#else
"[ reverb ] aformat=sample_fmts=s16:sample_rates="
"[ reverb ] aformat=sample_fmts=" + outFormat + ":sample_rates="
#endif
+ std::to_string(pSampleRate) + ":channel_layouts=stereo ";
}
......@@ -181,7 +190,7 @@ FilterAudioSubscriber::update(Observable<AVFrame*>*, AVFrame* const& pluginFrame
return;
if (firstRun) {
setFilterDescription(pluginFrame->sample_rate, pluginFrame->nb_samples);
setFilterDescription(pluginFrame->sample_rate, pluginFrame->nb_samples, pluginFrame->format);
AudioFormat afmt_ = AudioFormat(pluginFrame->sample_rate,
pluginFrame->ch_layout.nb_channels,
static_cast<AVSampleFormat>(pluginFrame->format));
......
......@@ -56,7 +56,7 @@ private:
// Status variables of the processing
bool firstRun {true};
void setFilterDescription(const int pSampleRate, const int pSamples);
void setFilterDescription(const int pSampleRate, const int pSamples, const int pFormat);
void setIRAVFrame();
AudioFormat getIRAVFrameInfos();
std::string irFile_{};
......
......@@ -41,7 +41,7 @@
#define AudioFilter_VERSION_MAJOR 1
#define AudioFilter_VERSION_MINOR 0
#define AudioFilter_VERSION_PATCH 0
#define AudioFilter_VERSION_PATCH 1
extern "C" {
......
......@@ -2,7 +2,7 @@
"id": "AudioFilter",
"name": "{{name}}",
"description": "{{description_summary}}",
"version": "1.0.0",
"version": "1.0.1",
"iconPath" : "icon.svg",
"backgroundPath": "background.jpg"
}
\ No newline at end of file
{
"name": "AudioFilter",
"version": "1.0.0",
"version": "1.0.1",
"extractLibs": false,
"deps": [
"fmt",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment