On Mon, Apr 30, 2012 at 08:56:35AM -0700, Mashiat Sarker Shakkhar wrote:
> This fixes decoding of frames which span more than two packets. Tested with
> recit24.wma.
> ---
> libavcodec/wmalosslessdec.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
> index 1520a06..e86645e 100644
> --- a/libavcodec/wmalosslessdec.c
> +++ b/libavcodec/wmalosslessdec.c
> @@ -1209,8 +1209,8 @@ static int decode_packet(AVCodecContext *avctx, void
> *data, int *got_frame_ptr,
> save_bits(s, gb, num_bits_prev_frame, 1);
>
> /* decode the cross packet frame if it is valid */
> - if (!s->packet_loss)
> - decode_frame(s);
> + if (num_bits_prev_frame < remaining_packet_bits &&
> !s->packet_loss)
> + decode_frame(s);
> } else if (s->num_saved_bits - s->frame_offset) {
> av_dlog(avctx, "ignoring %x previously saved bits\n",
> s->num_saved_bits - s->frame_offset);
> --
LGTM
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel