latmenc: copy pce config from proper location.

For the FATE test sample used, this only avoids a warning
message.
However for other samples like al05_44.mp4 the converted
file can be played only after this fix.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
pull/5/head
Reimar Döffinger 13 years ago
parent 912a838efe
commit 0c1e9c2d6a
  1. 6
      libavformat/latmenc.c
  2. 6
      tests/ref/lavf-fate/latm

@ -93,15 +93,12 @@ static void latm_write_frame_header(AVFormatContext *s, PutBitContext *bs)
{ {
LATMContext *ctx = s->priv_data; LATMContext *ctx = s->priv_data;
AVCodecContext *avctx = s->streams[0]->codec; AVCodecContext *avctx = s->streams[0]->codec;
GetBitContext gb;
int header_size; int header_size;
/* AudioMuxElement */ /* AudioMuxElement */
put_bits(bs, 1, !!ctx->counter); put_bits(bs, 1, !!ctx->counter);
if (!ctx->counter) { if (!ctx->counter) {
init_get_bits(&gb, avctx->extradata, avctx->extradata_size * 8);
/* StreamMuxConfig */ /* StreamMuxConfig */
put_bits(bs, 1, 0); /* audioMuxVersion */ put_bits(bs, 1, 0); /* audioMuxVersion */
put_bits(bs, 1, 1); /* allStreamsSameTimeFraming */ put_bits(bs, 1, 1); /* allStreamsSameTimeFraming */
@ -117,6 +114,9 @@ static void latm_write_frame_header(AVFormatContext *s, PutBitContext *bs)
avpriv_copy_bits(bs, avctx->extradata, ctx->off + 3); avpriv_copy_bits(bs, avctx->extradata, ctx->off + 3);
if (!ctx->channel_conf) { if (!ctx->channel_conf) {
GetBitContext gb;
init_get_bits(&gb, avctx->extradata, avctx->extradata_size * 8);
skip_bits_long(&gb, ctx->off + 3);
avpriv_copy_pce_data(bs, &gb); avpriv_copy_pce_data(bs, &gb);
} }
} }

@ -1,3 +1,3 @@
9c8d1afdb2d336976102f175ba577471 *./tests/data/lavf-fate/lavf.latm eb13788e71c9b5bc7d62ceb748312bbb *./tests/data/lavf-fate/lavf.latm
71926 ./tests/data/lavf-fate/lavf.latm 67876 ./tests/data/lavf-fate/lavf.latm
./tests/data/lavf-fate/lavf.latm CRC=0xd846c4b3 ./tests/data/lavf-fate/lavf.latm CRC=0xcf94c59d

Loading…
Cancel
Save