'Raises DescriptorError'

def __init__(self, fileobj, length):

    r = BitReader(fileobj)
    try:
        self.objectTypeIndication = r.bits(8)
        self.streamType = r.bits(6)
        self.upStream = r.bits(1)
        self.reserved = r.bits(1)
        self.bufferSizeDB = r.bits(24)
        self.maxBitrate = r.bits(32)
        self.avgBitrate = r.bits(32)
        if ((self.objectTypeIndication, self.streamType) != (64, 5)):
            return
        if ((length * 8) == r.get_position()):
            return
        tag = r.bits(8)
    except BitReaderError as e:
        raise DescriptorError(e)
    if (tag == DecoderSpecificInfo.TAG):
        assert r.is_aligned()
        self.decSpecificInfo = DecoderSpecificInfo.parse(fileobj)
