Exemplo n.º 1
0
static ssize_t xa_write(void *data, const void *buf, size_t size)
{
   xa_t *xa = (xa_t*)data;
   if (xa->nonblock)
   {
      size_t avail = xaudio2_write_avail(xa->xa);
      if (avail == 0)
         return 0;
      if (avail < size)
         size = avail;
   }

   size_t ret = xaudio2_write(xa->xa, buf, size);
   if (ret == 0 && size > 0)
      return -1;
   return ret;
}
Exemplo n.º 2
0
static ssize_t xa_write(void *data, const void *buf, size_t size)
{
   size_t ret;
   xa_t *xa = (xa_t*)data;

   if (xa->nonblock)
   {
      size_t avail = XAUDIO2_WRITE_AVAILABLE(xa->xa);

      if (avail == 0)
         return 0;
      if (avail < size)
         size = avail;
   }

   ret = xaudio2_write(xa->xa, (const uint8_t*)buf, size);
   if (ret == 0 && size > 0)
      return -1;
   return ret;
}