Skip to content
Snippets Groups Projects
Commit 00dd9a6d authored by Justin Ruggles's avatar Justin Ruggles
Browse files

pcm: fix decoding of pcm_s16le_planar on big-endian

The sample count is decremented by the DECODE() macro and needs to be reset
in each loop iteration. Also, DECODE() increments the src pointer so that does
not need to be done separately.
parent ae3822bc
No related branches found
No related tags found
No related merge requests found
......@@ -338,15 +338,17 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data,
break;
case AV_CODEC_ID_PCM_S16LE_PLANAR:
{
int av_unused n2;
n /= avctx->channels;
for (c = 0; c < avctx->channels; c++) {
samples = s->frame.extended_data[c];
#if HAVE_BIGENDIAN
DECODE(16, le16, src, samples, n, 0, 0)
n2 = n;
DECODE(16, le16, src, samples, n2, 0, 0)
#else
memcpy(samples, src, n * 2);
#endif
src += n * 2;
#endif
}
break;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment