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

Reply via email to