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