History

More review fixes since I missed 66 of them.

Marcus Llewellyn committed 6 years ago

Commit 9a67ee11 parent 24669c94 files · +178 −212Browse files

Showing the changes to plugins/opusCodec/src/OpusDecoder.cpp (1 of 4 files). Show all

Unified · Split

plugins/opusCodec/src/OpusDecoder.cpp+50−58
@@ -18,36 +18,35 @@ static QLoggingCategory decoder("AthenaOpusDecoder"); · 17 unmodified lines
1818
1919 static QString error_to_string(int error) {
2020 switch (error) {
21− case OPUS_OK:
22− return "OK";
23− case OPUS_BAD_ARG:
24− return "One or more invalid/out of range arguments.";
25− case OPUS_BUFFER_TOO_SMALL:
26− return "The mode struct passed is invalid.";
27− case OPUS_INTERNAL_ERROR:
28− return "An internal error was detected.";
29− case OPUS_INVALID_PACKET:
30− return "The compressed data passed is corrupted.";
31− case OPUS_UNIMPLEMENTED:
32− return "Invalid/unsupported request number.";
33− case OPUS_INVALID_STATE:
34− return "An encoder or decoder structure is invalid or already freed.";
35− default:
36− return QString("Unknown error code: %i").arg(error);
21+ case OPUS_OK:
22+ return "OK";
23+ case OPUS_BAD_ARG:
24+ return "One or more invalid/out of range arguments.";
25+ case OPUS_BUFFER_TOO_SMALL:
26+ return "The mode struct passed is invalid.";
27+ case OPUS_INTERNAL_ERROR:
28+ return "An internal error was detected.";
29+ case OPUS_INVALID_PACKET:
30+ return "The compressed data passed is corrupted.";
31+ case OPUS_UNIMPLEMENTED:
32+ return "Invalid/unsupported request number.";
33+ case OPUS_INVALID_STATE:
34+ return "An encoder or decoder structure is invalid or already freed.";
35+ default:
36+ return QString("Unknown error code: %i").arg(error);
3737 }
3838 }
3939
4040
41−AthenaOpusDecoder::AthenaOpusDecoder(int sampleRate, int numChannels)
42−{
41+AthenaOpusDecoder::AthenaOpusDecoder(int sampleRate, int numChannels) {
4342 int error;
4443
45− _opus_sample_rate = sampleRate;
46− _opus_num_channels = numChannels;
44+ _opusSampleRate = sampleRate;
45+ _opusNumChannels = numChannels;
4746
4847 _decoder = opus_decoder_create(sampleRate, numChannels, &error);
4948
50− if ( error != OPUS_OK ) {
49+ if (error != OPUS_OK) {
5150 qCCritical(decoder) << "Failed to initialize Opus encoder: " << error_to_string(error);
5251 _decoder = nullptr;
5352 return;
@@ -57,42 +56,39 @@ AthenaOpusDecoder::AthenaOpusDecoder(int sampleRate, int numChannels) · 3 unmodified lines
5756 qCDebug(decoder) << "Opus decoder initialized, sampleRate = " << sampleRate << "; numChannels = " << numChannels;
5857 }
5958
60−AthenaOpusDecoder::~AthenaOpusDecoder()
61−{
62− if ( _decoder )
59+AthenaOpusDecoder::~AthenaOpusDecoder() {
60+ if (_decoder)
6361 opus_decoder_destroy(_decoder);
6462
6563 }
6664
67−void AthenaOpusDecoder::decode(const QByteArray &encodedBuffer, QByteArray &decodedBuffer)
68−{
65+void AthenaOpusDecoder::decode(const QByteArray &encodedBuffer, QByteArray &decodedBuffer) {
6966 assert(_decoder);
7067 PerformanceTimer perfTimer("AthenaOpusDecoder::decode");
7168
7269 // The audio system encodes and decodes always in fixed size chunks
73− int buffer_size = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * static_cast<int>(sizeof(int16_t))
74− * _opus_num_channels;
70+ int bufferSize = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * static_cast<int>(sizeof(int16_t))
71+ * _opusNumChannels;
7572
76− decodedBuffer.resize( buffer_size );
77− int buffer_frames = decodedBuffer.size() / _opus_num_channels / static_cast<int>(sizeof( opus_int16 ));
73+ decodedBuffer.resize(bufferSize);
74+ int bufferFrames = decodedBuffer.size() / _opusNumChannels / static_cast<int>(sizeof( opus_int16 ));
7875
7976 qCDebug(decoder) << "Opus decode: encodedBytes = " << encodedBuffer.length() << "; decodedBufferBytes = "
80− << decodedBuffer.size() << "; frameCount = " << buffer_frames;
81− int decoded_frames = opus_decode( _decoder, reinterpret_cast<const unsigned char*>(encodedBuffer.data()),
82− encodedBuffer.length(), reinterpret_cast<opus_int16*>(decodedBuffer.data()), buffer_frames, 0 );
77+ << decodedBuffer.size() << "; frameCount = " << bufferFrames;
78+ int decoded_frames = opus_decode(_decoder, reinterpret_cast<const unsigned char*>(encodedBuffer.data()),
79+ encodedBuffer.length(), reinterpret_cast<opus_int16*>(decodedBuffer.data()), bufferFrames, 0);
8380
84− if ( decoded_frames >= 0 ) {
85− //qCDebug(decoder) << "Decoded " << decoded_frames << " Opus frames, " << buffer_frames << " expected";
81+ if (decoded_frames >= 0) {
8682
87− if ( decoded_frames < buffer_frames ) {
88− qCWarning(decoder) << "Opus decoder returned " << decoded_frames << ", but " << buffer_frames
83+ if (decoded_frames < bufferFrames) {
84+ qCWarning(decoder) << "Opus decoder returned " << decoded_frames << ", but " << bufferFrames
8985 << " were expected!";
9086
91− int start = decoded_frames * static_cast<int>(sizeof(int16_t)) * _opus_num_channels;
87+ int start = decoded_frames * static_cast<int>(sizeof(int16_t)) * _opusNumChannels;
9288 memset( &decodedBuffer.data()[start], 0, static_cast<size_t>(decodedBuffer.length() - start));
93− } else if ( decoded_frames > buffer_frames ) {
89+ } else if (decoded_frames > bufferFrames) {
9490 // This should never happen
95− qCCritical(decoder) << "Opus decoder returned " << decoded_frames << ", but only " << buffer_frames
91+ qCCritical(decoder) << "Opus decoder returned " << decoded_frames << ", but only " << bufferFrames
9692 << " were expected! Buffer overflow!?";
9793 }
9894 } else {
@@ -102,40 +98,36 @@ void AthenaOpusDecoder::decode(const QByteArray &encodedBuffer, QByteArray &deco · 3 unmodified lines
10298
10399 }
104100
105−void AthenaOpusDecoder::lostFrame(QByteArray &decodedBuffer)
106−{
101+void AthenaOpusDecoder::lostFrame(QByteArray &decodedBuffer) {
107102 assert(_decoder);
108103
109104 PerformanceTimer perfTimer("AthenaOpusDecoder::lostFrame");
110105
111− int buffer_size = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * static_cast<int>(sizeof(int16_t))
112− * _opus_num_channels;
113− decodedBuffer.resize( buffer_size );
114− int buffer_frames = decodedBuffer.size() / _opus_num_channels / static_cast<int>(sizeof( opus_int16 ));
106+ int bufferSize = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * static_cast<int>(sizeof(int16_t))
107+ * _opusNumChannels;
108+ decodedBuffer.resize(bufferSize);
109+ int bufferFrames = decodedBuffer.size() / _opusNumChannels / static_cast<int>(sizeof(opus_int16));
115110
116− int decoded_frames = opus_decode( _decoder, nullptr, 0, reinterpret_cast<opus_int16*>(decodedBuffer.data()),
117− buffer_frames, 1 );
111+ int decoded_frames = opus_decode(_decoder, nullptr, 0, reinterpret_cast<opus_int16*>(decodedBuffer.data()),
112+ bufferFrames, 1 );
118113
119− if ( decoded_frames >= 0 ) {
120− //qCDebug(decoder) << "Produced " << decoded_frames << " opus frames from a lost frame, " << buffer_frames
121− // << " expected";
114+ if (decoded_frames >= 0) {
122115
123− if ( decoded_frames < buffer_frames ) {
124− qCWarning(decoder) << "Opus decoder returned " << decoded_frames << ", but " << buffer_frames
116+ if ( decoded_frames < bufferFrames ) {
117+ qCWarning(decoder) << "Opus decoder returned " << decoded_frames << ", but " << bufferFrames
125118 << " were expected!";
126119
127− int start = decoded_frames * static_cast<int>(sizeof(int16_t)) * _opus_num_channels;
120+ int start = decoded_frames * static_cast<int>(sizeof(int16_t)) * _opusNumChannels;
128121 memset( &decodedBuffer.data()[start], 0, static_cast<size_t>(decodedBuffer.length() - start));
129− } else if ( decoded_frames > buffer_frames ) {
122+ } else if (decoded_frames > bufferFrames) {
130123 // This should never happen
131− qCCritical(decoder) << "Opus decoder returned " << decoded_frames << ", but only " << buffer_frames
124+ qCCritical(decoder) << "Opus decoder returned " << decoded_frames << ", but only " << bufferFrames
132125 << " were expected! Buffer overflow!?";
133126 }
127+
134128 } else {
135129 qCCritical(decoder) << "Failed to decode lost frame: " << error_to_string(decoded_frames);
136130 decodedBuffer.fill('\0');
137131 }
138132
139133 }
140−
141−