'Raises MusepackHeaderError'

@convert_error(IOError, MusepackHeaderError)
def __init__(self, fileobj):

    header = fileobj.read(4)
    if (len(header) != 4):
        raise MusepackHeaderError('not    a    Musepack    file')
    if (header[:3] == 'ID3'):
        header = fileobj.read(6)
        if (len(header) != 6):
            raise MusepackHeaderError('not    a    Musepack    file')
        size = (10 + BitPaddedInt(header[2:6]))
        fileobj.seek(size)
        header = fileobj.read(4)
        if (len(header) != 4):
            raise MusepackHeaderError('not    a    Musepack    file')
    if header.startswith('MPCK'):
        self.__parse_sv8(fileobj)
    else:
        self.__parse_sv467(fileobj)
    if ((not self.bitrate) and (self.length != 0)):
        fileobj.seek(0, 2)
        self.bitrate = int(round(((fileobj.tell() * 8) / self.length)))
