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)
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