Skip to content

Commit 1e2123c

Browse files
author
Clement Champetier
committed
AudioDecoder: refactore decodeNextFrame methods
* Added const to local variables when it's possible. * Renamed several local variables.
1 parent db709eb commit 1e2123c

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/AvTranscoder/decoder/AudioDecoder.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ bool AudioDecoder::decodeNextFrame( Frame& frameBuffer )
107107

108108
AVCodecContext& avCodecContext = _inputStream->getAudioCodec().getAVCodecContext();
109109

110-
size_t decodedSize = av_samples_get_buffer_size( NULL, avCodecContext.channels, _frame->nb_samples, avCodecContext.sample_fmt, 1 );
110+
const int noAlignment = 1;
111+
const size_t decodedSize = av_samples_get_buffer_size( NULL, avCodecContext.channels, _frame->nb_samples, avCodecContext.sample_fmt, noAlignment );
111112
if( decodedSize == 0 )
112113
return false;
113114

@@ -130,22 +131,20 @@ bool AudioDecoder::decodeNextFrame( Frame& frameBuffer, const size_t channelInde
130131
return false;
131132

132133
AVCodecContext& avCodecContext = _inputStream->getAudioCodec().getAVCodecContext();
134+
const size_t srcNbChannels = avCodecContext.channels;
135+
const size_t bytePerSample = av_get_bytes_per_sample( (AVSampleFormat)_frame->format );
133136

134-
const int output_nbChannels = 1;
135-
const int output_align = 1;
136-
size_t decodedSize = av_samples_get_buffer_size(NULL, output_nbChannels, _frame->nb_samples, avCodecContext.sample_fmt, output_align);
137-
138-
size_t nbSubStreams = avCodecContext.channels;
139-
size_t bytePerSample = av_get_bytes_per_sample( (AVSampleFormat)_frame->format );
137+
const int dstNbChannels = 1;
138+
const int noAlignment = 1;
139+
const size_t decodedSize = av_samples_get_buffer_size(NULL, dstNbChannels, _frame->nb_samples, avCodecContext.sample_fmt, noAlignment);
140+
if( decodedSize == 0 )
141+
return false;
140142

141-
if( channelIndex > nbSubStreams - 1 )
143+
if( channelIndex > srcNbChannels - 1 )
142144
{
143145
throw std::runtime_error( "The subStream doesn't exist");
144146
}
145147

146-
if( decodedSize == 0 )
147-
return false;
148-
149148
AudioFrame& audioBuffer = static_cast<AudioFrame&>( frameBuffer );
150149
audioBuffer.setNbSamples( _frame->nb_samples );
151150
audioBuffer.resize( decodedSize );
@@ -161,7 +160,7 @@ bool AudioDecoder::decodeNextFrame( Frame& frameBuffer, const size_t channelInde
161160
{
162161
memcpy( dst, src, bytePerSample );
163162
dst += bytePerSample;
164-
src += bytePerSample * nbSubStreams;
163+
src += bytePerSample * srcNbChannels;
165164
}
166165

167166
return true;

0 commit comments

Comments
 (0)