diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-08-21 15:27:02 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-08-21 15:27:02 +0200 |
commit | ff96098084542c3ef98b360f70583999433d13a7 (patch) | |
tree | 620b6e7702ddbc0fb1ccc3525299feb0781abfca /libavcodec/wavpack.c | |
parent | 34c997599e14b4ef5f84aa324fdea7ae03d7a2ba (diff) | |
parent | ccb919e34b1276db5cfcd903e405e47ccb932d58 (diff) | |
download | ffmpeg-ff96098084542c3ef98b360f70583999433d13a7.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
WavPack demuxer: do not rely on index when timestamp is not in indexed range.
WavPack demuxer: store position of the first block in index.
WavPack decoder: implement flush function
avconv: Separate initialization from the main transcode loop.
Conflicts:
avconv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/wavpack.c')
-rw-r--r-- | libavcodec/wavpack.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index ba974bd089..ca52d0ac74 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -1189,6 +1189,15 @@ static int wavpack_decode_frame(AVCodecContext *avctx, return s->samples_left > 0 ? 0 : avpkt->size; } +static void wavpack_decode_flush(AVCodecContext *avctx) +{ + WavpackContext *s = avctx->priv_data; + int i; + + for (i = 0; i < s->fdec_num; i++) + s->fdec[i]->samples_left = 0; +} + AVCodec ff_wavpack_decoder = { .name = "wavpack", .type = AVMEDIA_TYPE_AUDIO, @@ -1197,6 +1206,7 @@ AVCodec ff_wavpack_decoder = { .init = wavpack_decode_init, .close = wavpack_decode_end, .decode = wavpack_decode_frame, + .flush = wavpack_decode_flush, .capabilities = CODEC_CAP_SUBFRAMES, .long_name = NULL_IF_CONFIG_SMALL("WavPack"), }; |