encodeTrackInfo function

Map<String, Object?> encodeTrackInfo(
  1. TrackInfo info
)

The host-side encoding for _decodeTracks. Lives here so the two halves cannot drift.

Implementation

Map<String, Object?> encodeTrackInfo(TrackInfo info) => switch (info) {
      VideoTrackInfo() => {
          'kind': 'video',
          'codec': info.codec.name,
          'width': info.width,
          'height': info.height,
          'fpsNum': info.frameRateNumerator,
          'fpsDen': info.frameRateDenominator,
          'rotation': info.rotationDegrees,
          'extraData': info.extraData?.bytes,
        },
      AudioTrackInfo() => {
          'kind': 'audio',
          'codec': info.codec.name,
          'sampleRate': info.sampleRate,
          'channels': info.channels,
          'extraData': info.extraData?.bytes,
        },
    };