Split frame reading for PCM and Opus
Split frame reading for PCM and Opus

Instead of PcmSource there is now just a single InputSource. This contains an AudioType member that will determine whether the type of the source if PCM or Opus.

InputSource also comes with read_pcm_frame and read_opus_frame. The pcm variant will work the same as before, but the Opus version will return a single frame of the Opus data. In the connection implementation, the way the packet is filled is determined based on what AudioType the source is. When it is an Opus frame, the data is simply copied into the packet without being encoded.
Roughsketch/serenity