• Andreas Rheinhardt's avatar
    avformat/matroskadec: Improve read error/EOF checks I · 239c7369
    Andreas Rheinhardt authored
    ebml_read_num had a number of flaws:
    
    1. The check for read errors/EOF was totally wrong. E.g. an EBML number
    beginning with the invalid 0x00 would be considered a read error,
    although it is just invalid data.
    2. The check for read errors/EOF was done just once, after reading the
    first byte of the EBML number. But errors/EOF can happen inbetween, of
    course, and this wasn't checked.
    3. There was no way to distinguish when EOF should be an error (because
    the data has to be there) for which an error message should be emitted
    and when it is not necessarily an error (namely during parsing of EBML
    IDs). Such a possibility has been added and used.
    
    All this was fixed; furthermore, the error messages for invalid EBML
    numbers were improved and useless initializations were removed.
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    239c7369
matroskadec.c 148 KB