docs: async def recv(self):
          """
          Receive the next frame.
          """
          if self.readyState != 'live':
              raise MediaStreamError
  
          frame = await self._queue.get()
          if frame is None:
              self.stop()
              raise MediaStreamError
          return frame