the section on Multiple payloads (5.2.3.3) describes the bit fields used to specify payload length type and number of payloads. The number of payloads field is a 6-bit field, meaning a packet can hold a maximum of 63 payloads.

asfenc.c was not honoring this, and if more than 63 payloads would fit in a packet, the "number of payloads" field would overflow into the "payload length type" field, causing parsing errors in ffplay.

You can reproduce this with any AAC file that has several seconds of silence in the beginning (lots of very small AAC frames). Use this ffmpeg command:

$ ffmpeg -i silence.m4a -acodec copy silence.asf

Note that ffplay will get lots of errors.

Anyway, here's a patch to fix the problem. I already submitted this to ffmpeg-devel.