On Wed, Mar 28, 2012 at 07:06:11AM -0700, Ronald S. Bultje wrote:
> ---
> libavcodec/wmalosslessdec.c | 13 +++++++++++++
> 1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
> index 0ecf5de..74aca73 100644
> --- a/libavcodec/wmalosslessdec.c
> +++ b/libavcodec/wmalosslessdec.c
> @@ -903,6 +903,7 @@ static int decode_subframe(WmallDecodeCtx *s)
> } else if (!s->cdlms[0][0].order) {
> av_log(s->avctx, AV_LOG_DEBUG,
> "Waiting for seekable tile\n");
> + s->frame.nb_samples = 0;
> return -1;
> }
>
> @@ -1265,6 +1266,17 @@ static int decode_packet(AVCodecContext *avctx, void
> *data, int *got_frame_ptr,
> return (s->packet_loss) ? AVERROR_INVALIDDATA : get_bits_count(gb) >> 3;
> }
>
> +static void flush(AVCodecContext *avctx)
> +{
> + WmallDecodeCtx *s = avctx->priv_data;
> + s->packet_loss = 1;
> + s->packet_done = 0;
> + s->num_saved_bits = 0;
> + s->frame_offset = 0;
> + s->next_packet_start = 0;
> + s->cdlms[0][0].order = 0;
> + s->frame.nb_samples = 0;
diego-nit
> +}
>
> AVCodec ff_wmalossless_decoder = {
> .name = "wmalossless",
> @@ -1273,6 +1285,7 @@ AVCodec ff_wmalossless_decoder = {
> .priv_data_size = sizeof(WmallDecodeCtx),
> .init = decode_init,
> .decode = decode_packet,
> + .flush = flush,
> .capabilities = CODEC_CAP_SUBFRAMES | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
> .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
> };
> --
looks OK
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel