Hi,
 
I have found a bug in asffmt.cpp while reading windows media packets.
 
When the segment contain more than one fragment it is not necessary to increase the offset after segment reading :
 
void packet::init()
{
[...]
offset+=segments.back().length;    // <- don't do this
//  if the offset have been increased while segment reading
[...]
}
 
The right way is to remember the offset before the reading of the segment, if the offset haven't been changed, you can increase it with "offset+=segments.back().length" but if the offset have been increased by the fragment reading process, don't increase it another time.
Tested and verified.
 
Regards,
David
 
PS : sorry for my english :-)

Reply via email to