encodeTrackInfo function
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,
},
};