Browse Source

WMAL: do not start decoding if frame does not end in current packet

This fixes decoding of frames which span more than two packets. Tested with
recit24.wma.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
tags/n0.11
Mashiat Sarker Shakkhar Kostya Shishkov 14 years ago
parent
commit
f92f452378
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      libavcodec/wmalosslessdec.c

+ 2
- 2
libavcodec/wmalosslessdec.c View File

@@ -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);


Loading…
Cancel
Save