# HG changeset patch # User reimar # Date 1377430242 0 # Node ID dc90c43a2674e80fdae2b0bf115429c2e3a4cadd # Parent 9de70162224b7513f07c460b6e683e41617c84f6 lavcac3enc: avoid code duplication. diff -r 9de70162224b -r dc90c43a2674 libaf/af_lavcac3enc.c --- a/libaf/af_lavcac3enc.c Wed Aug 21 18:08:37 2013 +0000 +++ b/libaf/af_lavcac3enc.c Sun Aug 25 11:30:42 2013 +0000 @@ -202,6 +202,7 @@ while (left > 0) { + void *in = NULL; if (left + s->pending_len < s->expect_len) { memcpy(s->pending_data + s->pending_len, src, left); src += left; @@ -220,29 +221,21 @@ src += needs; left -= needs; } - - if (c->nch >= 5) - reorder_channel_nch(s->pending_data, - AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, - AF_CHANNEL_LAYOUT_LAVC_DEFAULT, - c->nch, - s->expect_len / 2, 2); - - len = avcodec_encode_audio(s->lavc_actx, dest, destsize, - (void *)s->pending_data); + in = s->pending_data; s->pending_len = 0; } else { - if (c->nch >= 5) - reorder_channel_nch(src, - AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, - AF_CHANNEL_LAYOUT_LAVC_DEFAULT, - c->nch, - s->expect_len / 2, 2); - len = avcodec_encode_audio(s->lavc_actx,dest,destsize,(void *)src); + in = src; src += s->expect_len; left -= s->expect_len; } + if (c->nch >= 5) + reorder_channel_nch(in, + AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, + AF_CHANNEL_LAYOUT_LAVC_DEFAULT, + c->nch, + s->expect_len / 2, 2); + len = avcodec_encode_audio(s->lavc_actx, dest, destsize, in); mp_msg(MSGT_AFILTER, MSGL_DBG2, "avcodec_encode_audio got %d, pending %d.\n", len, s->pending_len);