DocumentAttributeVideo.deserialize constructor

DocumentAttributeVideo.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory DocumentAttributeVideo.deserialize(BinaryReader reader) {
  // Read [DocumentAttributeVideo] fields.
  final flags = reader.readInt32();
  final roundMessage = (flags & 1) != 0;
  final supportsStreaming = (flags & 2) != 0;
  final nosound = (flags & 8) != 0;
  final duration = reader.readFloat64();
  final w = reader.readInt32();
  final h = reader.readInt32();
  final hasPreloadPrefixSizeField = (flags & 4) != 0;
  final preloadPrefixSize =
      hasPreloadPrefixSizeField ? reader.readInt32() : null;
  final hasVideoStartTsField = (flags & 16) != 0;
  final videoStartTs = hasVideoStartTsField ? reader.readFloat64() : null;
  final hasVideoCodecField = (flags & 32) != 0;
  final videoCodec = hasVideoCodecField ? reader.readString() : null;

  // Construct [DocumentAttributeVideo] object.
  final returnValue = DocumentAttributeVideo(
    roundMessage: roundMessage,
    supportsStreaming: supportsStreaming,
    nosound: nosound,
    duration: duration,
    w: w,
    h: h,
    preloadPrefixSize: preloadPrefixSize,
    videoStartTs: videoStartTs,
    videoCodec: videoCodec,
  );

  // Now return the deserialized [DocumentAttributeVideo].
  return returnValue;
}