AudioShapeFrame.fromReader constructor

AudioShapeFrame.fromReader(
  1. TeleportObjectReader reader
)

Implementation

factory AudioShapeFrame.fromReader(TeleportObjectReader reader) {
    final instance = AudioShapeFrame();
    TeleportField? field;
    while ((field = reader.next()) != null) {
        if (field!.isNull) continue;
        switch (field.fieldId) {
            case fieldIdEpoch: {
                instance.epoch = field.asUInt32();
                break;
            }
            case fieldIdSequence: {
                instance.sequence = field.asUInt32();
                break;
            }
            case fieldIdFrameSizeInInterleavedSamples: {
                instance.frameSizeInInterleavedSamples = field.asUInt32();
                break;
            }
            case fieldIdTimeStampInInterleavedSamples: {
                instance.timeStampInInterleavedSamples = field.asUInt64();
                break;
            }
            case fieldIdShapeSetValues: {
                final ar = field.asArray();
                final list = <AudioShapeSetValues>[];
                TeleportArrayElement? el;
                while ((el = ar.next()) != null) {
                    list.add(AudioShapeSetValues.fromReader(el!.asObject()));
                }
                instance.shapeSetValues = list;
                break;
            }
        }
    }
    return instance;
}