Dana 21. 6. 2015. 00:32 osoba "Michael Niedermayer" <michae...@gmx.at> napisala je: > > Fixes Ticket4540 > > Signed-off-by: Michael Niedermayer <michae...@gmx.at> > --- > libavformat/rawenc.c | 20 ++++++++++++++++++++ > tests/ref/acodec/adpcm-adx | 2 +- > tests/ref/acodec/adpcm-adx-trellis | 2 +- > 3 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c > index e59f1ae..d65c7c7 100644 > --- a/libavformat/rawenc.c > +++ b/libavformat/rawenc.c > @@ -56,6 +56,25 @@ AVOutputFormat ff_ac3_muxer = { > #endif > > #if CONFIG_ADX_MUXER > + > +static int adx_write_trailer(AVFormatContext *s) > +{ > + AVIOContext *pb = s->pb; > + AVCodecContext *avctx = s->streams[0]->codec; > + > + if (pb->seekable) { > + int64_t file_size = avio_tell(pb); > + uint64_t sample_count = (file_size - 36) / avctx->channels / 18 * 32; > + if (sample_count <= UINT32_MAX) { > + avio_seek(pb, 12, SEEK_SET); > + avio_wb32(pb, sample_count); > + avio_seek(pb, file_size, SEEK_SET); > + } > + } > + > + return 0; > +} > + > AVOutputFormat ff_adx_muxer = { > .name = "adx", > .long_name = NULL_IF_CONFIG_SMALL("CRI ADX"), > @@ -64,6 +83,7 @@ AVOutputFormat ff_adx_muxer = { > .video_codec = AV_CODEC_ID_NONE, > .write_header = force_one_stream, > .write_packet = ff_raw_write_packet, > + .write_trailer = adx_write_trailer, > .flags = AVFMT_NOTIMESTAMPS, > }; > #endif > diff --git a/tests/ref/acodec/adpcm-adx b/tests/ref/acodec/adpcm-adx > index 34dd9b6..8c40100 100644 > --- a/tests/ref/acodec/adpcm-adx > +++ b/tests/ref/acodec/adpcm-adx > @@ -1,4 +1,4 @@ > -d7ec7d52a2f5c91464812d031b07cc1d *tests/data/fate/acodec-adpcm-adx.adx > +6bf1a8e5ec9cc958a31cb2b1b66bfc75 *tests/data/fate/acodec-adpcm-adx.adx > 297720 tests/data/fate/acodec-adpcm-adx.adx > 5b5a436ec9d528d6eb0bebaf667521b0 *tests/data/fate/acodec-adpcm-adx.out.wav > stddev: 2549.93 PSNR: 28.20 MAXDIFF:57514 bytes: 1058400/ 1058432 > diff --git a/tests/ref/acodec/adpcm-adx-trellis b/tests/ref/acodec/adpcm-adx-trellis > index d620d4a..039f69f 100644 > --- a/tests/ref/acodec/adpcm-adx-trellis > +++ b/tests/ref/acodec/adpcm-adx-trellis > @@ -1,4 +1,4 @@ > -d7ec7d52a2f5c91464812d031b07cc1d *tests/data/fate/acodec-adpcm-adx-trellis.adx > +6bf1a8e5ec9cc958a31cb2b1b66bfc75 *tests/data/fate/acodec-adpcm-adx-trellis.adx > 297720 tests/data/fate/acodec-adpcm-adx-trellis.adx > 5b5a436ec9d528d6eb0bebaf667521b0 *tests/data/fate/acodec-adpcm-adx-trellis.out.wav > stddev: 2549.93 PSNR: 28.20 MAXDIFF:57514 bytes: 1058400/ 1058432 > -- > 1.7.9.5 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
LGTM _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel