Merge pull request #2414 from zavadovsky/opensles_fixes
authorHardening <rdp.effort@gmail.com>
Mon, 14 Dec 2015 16:22:38 +0000 (17:22 +0100)
committerHardening <rdp.effort@gmail.com>
Mon, 14 Dec 2015 16:22:38 +0000 (17:22 +0100)
opensles fixes

1  2 
channels/rdpsnd/client/opensles/opensl_io.c
channels/rdpsnd/client/opensles/rdpsnd_opensles.c

@@@ -293,19 -293,12 +293,20 @@@ int android_AudioOut(OPENSL_STREAM *p, 
        assert(size > 0);
  
        /* Assure, that the queue is not full. */
 -      if (p->queuesize <= Queue_Count(p->queue))
 -              WaitForSingleObject(p->queue->event, INFINITE);
 +      if (p->queuesize <= Queue_Count(p->queue) && WaitForSingleObject(p->queue->event, INFINITE) == WAIT_FAILED)
 +    {
 +        DEBUG_SND("WaitForSingleObject failed!");
 +        return -1;
 +    }
  
        void *data = calloc(size, sizeof(short));
 +      if (!data)
 +      {
 +              DEBUG_SND("unable to allocate a buffer");
 +              return -1;
 +      }
        memcpy(data, buffer, size * sizeof(short));
+       Queue_Enqueue(p->queue, data);
        (*p->bqPlayerBufferQueue)->Enqueue(p->bqPlayerBufferQueue, 
                data, sizeof(short) * size);