code: def get_write_buffers(self, size):
          
          ptr1 = self._ffi.new('void**')
          ptr2 = self._ffi.new('void**')
          size1 = self._ffi.new('ring_buffer_size_t*')
          size2 = self._ffi.new('ring_buffer_size_t*')
          return (self._lib.PaUtil_GetRingBufferWriteRegions(
                      self._ptr, size, ptr1, size1, ptr2, size2),
                  self._ffi.buffer(ptr1[0], size1[0] * self.elementsize),
                  self._ffi.buffer(ptr2[0], size2[0] * self.elementsize))
docs: Get buffer(s) to which we can write data.
  
          When done writing, use :meth:`advance_write_index` to make the
          written data available for reading.
  
          :param size: The number of elements desired.
          :type size: int
  
          :returns:
              * The room available to be written or the given *size*,
                whichever is smaller.
              * The first buffer.
              * The second buffer.
          :rtype: (int, buffer, buffer)