Skip to content

Commit 969c6c3

Browse files
author
Valentin NOEL
committed
FilterGraph: remove useless areInputAudioFrames() method
Replace it by a simple AudioFrameBuffer vector empty() test, since buffers are initialized only for audio frames (into the addInBuffer() method) And rename _inputAudioFramesBuffer attribute to _inputAudioFrameBuffers
1 parent 06b8b45 commit 969c6c3

File tree

2 files changed

+14
-22
lines changed

2 files changed

+14
-22
lines changed

src/AvTranscoder/filter/FilterGraph.cpp

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ FilterGraph::FilterGraph(const ICodec& codec)
133133

134134
FilterGraph::~FilterGraph()
135135
{
136-
_inputAudioFramesBuffer.clear();
136+
_inputAudioFrameBuffers.clear();
137137
for(std::vector<Filter*>::iterator it = _filters.begin(); it < _filters.end(); ++it)
138138
{
139139
delete(*it);
@@ -145,7 +145,7 @@ size_t FilterGraph::getAvailableFrameSize(const std::vector<IFrame*>& inputs, co
145145
{
146146
size_t frameSize = inputs.at(index)->getDataSize();
147147
if(frameSize == 0)
148-
frameSize = _inputAudioFramesBuffer.at(index).getDataSize();
148+
frameSize = _inputAudioFrameBuffers.at(index).getDataSize();
149149
return frameSize;
150150
}
151151

@@ -166,10 +166,10 @@ size_t FilterGraph::getMinInputFrameSize(const std::vector<IFrame*>& inputs)
166166

167167
bool FilterGraph::hasBufferedFrames()
168168
{
169-
if(!_inputAudioFramesBuffer.size())
169+
if(!_inputAudioFrameBuffers.size())
170170
return false;
171171

172-
for(std::vector<AudioFramebuffer>::iterator it = _inputAudioFramesBuffer.begin(); it != _inputAudioFramesBuffer.end(); ++it)
172+
for(std::vector<AudioFramebuffer>::iterator it = _inputAudioFrameBuffers.begin(); it != _inputAudioFrameBuffers.end(); ++it)
173173
{
174174
if(it->isEmpty())
175175
return false;
@@ -179,17 +179,10 @@ bool FilterGraph::hasBufferedFrames()
179179

180180
bool FilterGraph::hasBufferedFrames(const size_t index)
181181
{
182-
if(index >= _inputAudioFramesBuffer.size())
182+
if(index >= _inputAudioFrameBuffers.size())
183183
return false;
184184

185-
return !_inputAudioFramesBuffer.at(index).isEmpty();
186-
}
187-
188-
bool FilterGraph::areInputAudioFrames(const std::vector<IFrame*>& inputs)
189-
{
190-
if(!inputs.size())
191-
return false;
192-
return typeid(*(inputs.at(0))) == typeid(AudioFrame);
185+
return !_inputAudioFrameBuffers.at(index).isEmpty();
193186
}
194187

195188
bool FilterGraph::areInputFrameSizesEqual(const std::vector<IFrame*>& inputs)
@@ -208,10 +201,10 @@ bool FilterGraph::areInputFrameSizesEqual(const std::vector<IFrame*>& inputs)
208201

209202
bool FilterGraph::areFrameBuffersEmpty()
210203
{
211-
if(!_inputAudioFramesBuffer.size())
204+
if(!_inputAudioFrameBuffers.size())
212205
return true;
213206

214-
for(std::vector<AudioFramebuffer>::iterator it = _inputAudioFramesBuffer.begin(); it != _inputAudioFramesBuffer.end(); ++it)
207+
for(std::vector<AudioFramebuffer>::iterator it = _inputAudioFrameBuffers.begin(); it != _inputAudioFrameBuffers.end(); ++it)
215208
{
216209
if(!it->isEmpty())
217210
return false;
@@ -226,7 +219,7 @@ void FilterGraph::process(const std::vector<IFrame*>& inputs, IFrame& output)
226219
init(inputs, output);
227220

228221
// Check whether we can bypass the input audio buffers
229-
const bool bypassBuffers = !areInputAudioFrames(inputs) || (areInputFrameSizesEqual(inputs) && areFrameBuffersEmpty());
222+
const bool bypassBuffers = _inputAudioFrameBuffers.empty() || (areInputFrameSizesEqual(inputs) && areFrameBuffersEmpty());
230223
size_t minInputFrameSize = 0;
231224

232225
if(!bypassBuffers)
@@ -236,10 +229,10 @@ void FilterGraph::process(const std::vector<IFrame*>& inputs, IFrame& output)
236229
{
237230
if(!inputs.at(index)->getDataSize())
238231
{
239-
LOG_DEBUG("Empty frame from filter graph input " << index << ". Remaining audio frames in buffer: " << _inputAudioFramesBuffer.at(index).getBufferSize());
232+
LOG_DEBUG("Empty frame from filter graph input " << index << ". Remaining audio frames in buffer: " << _inputAudioFrameBuffers.at(index).getBufferSize());
240233
continue;
241234
}
242-
_inputAudioFramesBuffer.at(index).addFrame(inputs.at(index));
235+
_inputAudioFrameBuffers.at(index).addFrame(inputs.at(index));
243236
}
244237

245238
// Get the minimum input frames size
@@ -251,7 +244,7 @@ void FilterGraph::process(const std::vector<IFrame*>& inputs, IFrame& output)
251244
for(size_t index = 0; index < inputs.size(); ++index)
252245
{
253246
// Retrieve frame from buffer or directly from input
254-
IFrame* inputFrame = (bypassBuffers)? inputs.at(index) : _inputAudioFramesBuffer.at(index).getFrame(minInputFrameSize);
247+
IFrame* inputFrame = (bypassBuffers)? inputs.at(index) : _inputAudioFrameBuffers.at(index).getFrame(minInputFrameSize);
255248
const int ret = av_buffersrc_add_frame_flags(_filters.at(index)->getAVFilterContext(), &inputFrame->getAVFrame(), AV_BUFFERSRC_FLAG_PUSH);
256249

257250
if(ret < 0)
@@ -363,7 +356,7 @@ void FilterGraph::addInBuffer(const std::vector<IFrame*>& inputs)
363356
const AudioFrameDesc audioFrameDesc(audioFrame->getSampleRate(),
364357
audioFrame->getNbChannels(),
365358
getSampleFormatName(audioFrame->getSampleFormat()));
366-
_inputAudioFramesBuffer.push_back(AudioFramebuffer(audioFrameDesc));
359+
_inputAudioFrameBuffers.push_back(AudioFramebuffer(audioFrameDesc));
367360
}
368361
// video frame
369362
else if((*it)->isVideoFrame())

src/AvTranscoder/filter/FilterGraph.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,6 @@ class AvExport FilterGraph
143143
*/
144144
size_t getMinInputFrameSize(const std::vector<IFrame*>& inputs);
145145

146-
bool areInputAudioFrames(const std::vector<IFrame*>& inputs);
147146
bool areInputFrameSizesEqual(const std::vector<IFrame*>& inputs);
148147
bool areFrameBuffersEmpty();
149148

@@ -152,7 +151,7 @@ class AvExport FilterGraph
152151
std::vector<Filter*> _filters; ///< List of filters to process.
153152
const ICodec& _codec; ///< Codec of the stream on which the filters will be applied.
154153

155-
std::vector<AudioFramebuffer> _inputAudioFramesBuffer;
154+
std::vector<AudioFramebuffer> _inputAudioFrameBuffers;
156155

157156
/**
158157
* @brief Is the FilterGraph initialized.

0 commit comments

Comments
 (0)