While working on #285, I noticed the existing SFrame transform algorithm operates on RTCEncodedAudioFrame and RTCEncodedVideoFrame interfaces. This makes no sense as this algorithm should work without any JS exposure.
Leaving this as an item to tackle separately from #285, as we may wish to preserve some of it for when we add support for both sframe and script transform at the same time.