Skip to content

Commit 924bf5b

Browse files
author
Clement Champetier
committed
AudioGenerator: removed AudioFrameDesc parameter in constructor
The AudioFrameDesc could be found from the given frame when decoding.
1 parent 935ed64 commit 924bf5b

File tree

4 files changed

+9
-14
lines changed

4 files changed

+9
-14
lines changed

src/AvTranscoder/decoder/AudioGenerator.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
#include <AvTranscoder/util.hpp>
44

55
#include <sstream>
6+
#include <stdexcept>
67

78
namespace avtranscoder
89
{
910

10-
AudioGenerator::AudioGenerator(const AudioFrameDesc& frameDesc)
11+
AudioGenerator::AudioGenerator()
1112
: _inputFrame(NULL)
1213
, _silent(NULL)
13-
, _frameDesc(frameDesc)
1414
{
1515
}
1616

@@ -22,12 +22,8 @@ AudioGenerator::~AudioGenerator()
2222
bool AudioGenerator::decodeNextFrame(Frame& frameBuffer)
2323
{
2424
// check the given frame
25-
if(!frameBuffer.isAudioFrame())
26-
{
27-
LOG_WARN("The given frame is not a valid audio frame: allocate a new AVSample to put generated data into it.");
28-
frameBuffer.clear();
29-
static_cast<AudioFrame&>(frameBuffer).allocateAVSample(_frameDesc);
30-
}
25+
if(! frameBuffer.isAudioFrame())
26+
throw std::runtime_error("The given frame is not a valid audio frame: allocate a new AVSample to put generated data into it.");
3127

3228
// Check channel layout of the given frame to be able to copy audio data to it.
3329
// @see Frame.copyData method

src/AvTranscoder/decoder/AudioGenerator.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class AvExport AudioGenerator : public IDecoder
1414
AudioGenerator(const AudioGenerator& audioGenerator);
1515

1616
public:
17-
AudioGenerator(const AudioFrameDesc& frameDesc);
17+
AudioGenerator();
1818

1919
~AudioGenerator();
2020

@@ -26,7 +26,6 @@ class AvExport AudioGenerator : public IDecoder
2626
private:
2727
Frame* _inputFrame; ///< Has link (no ownership)
2828
AudioFrame* _silent; ///< The generated silent (has ownership)
29-
const AudioFrameDesc _frameDesc; ///< The description of the silence (sampleRate, channels...)
3029
};
3130
}
3231

src/AvTranscoder/reader/AudioReader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void AudioReader::init()
4545
_currentDecoder = _decoder;
4646

4747
// generator
48-
_generator = new AudioGenerator(_inputFile->getStream(_streamIndex).getAudioCodec().getAudioFrameDesc());
48+
_generator = new AudioGenerator();
4949

5050
// create transform
5151
_transform = new AudioTransform();

src/AvTranscoder/transcoder/StreamTranscoder.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ StreamTranscoder::StreamTranscoder(IInputStream& inputStream, IOutputFile& outpu
8989
AudioFrameDesc inputFrameDesc(inputStream.getAudioCodec().getAudioFrameDesc());
9090

9191
// generator decoder
92-
_generators.push_back(new AudioGenerator(inputFrameDesc));
92+
_generators.push_back(new AudioGenerator());
9393

9494
// buffers to process
9595
_decodedData.push_back(AudioFrame(inputFrameDesc));
@@ -220,7 +220,7 @@ StreamTranscoder::StreamTranscoder(const InputStreamDesc& inputStreamDesc, IInpu
220220
_transform = new AudioTransform();
221221

222222
// generator decoder
223-
_generators.push_back(new AudioGenerator(outputFrameDesc));
223+
_generators.push_back(new AudioGenerator());
224224

225225
break;
226226
}
@@ -290,7 +290,7 @@ StreamTranscoder::StreamTranscoder(IOutputFile& outputFile, const ProfileLoader:
290290
inputAudioCodec.setAudioParameters(inputFrameDesc);
291291

292292
// generator decoder
293-
AudioGenerator* generator = new AudioGenerator(inputAudioCodec.getAudioFrameDesc());
293+
AudioGenerator* generator = new AudioGenerator();
294294
_generators.push_back(generator);
295295
_currentDecoder = generator;
296296

0 commit comments

Comments
 (0)