Skip to content

Commit 2873e9f

Browse files
author
Clement Champetier
committed
AudioTransform: fix AVPacket buffer resize
Only change number of samples if variable (i.e: MOV...).
1 parent ad77a76 commit 2873e9f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/AvTranscoder/transform/AudioTransform.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,10 @@ void AudioTransform::initFrames( const Frame& srcFrame, Frame& dstFrame )
7575
AudioFrame& dst = static_cast<AudioFrame&>( dstFrame );
7676

7777
// resize buffer of output frame
78-
int dstSampleSize = av_get_bytes_per_sample( dst.desc().getSampleFormat() );
79-
dstFrame.resize( src.getNbSamples() * dst.desc().getChannels() * dstSampleSize );
78+
const int dstSampleSize = av_get_bytes_per_sample( dst.desc().getSampleFormat() );
79+
const size_t bufferSizeNeeded = src.getNbSamples() * dst.desc().getChannels() * dstSampleSize;
80+
if( bufferSizeNeeded > dstFrame.getSize() )
81+
dstFrame.resize( bufferSizeNeeded );
8082

8183
// set nbSamples of output frame
8284
dst.setNbSamples( src.getNbSamples() );

0 commit comments

Comments
 (0)