Beispiel #1
0
        public override Status RequestBuffer(int slot, out AndroidStrongPointer <GraphicBuffer> graphicBuffer)
        {
            graphicBuffer = new AndroidStrongPointer <GraphicBuffer>();

            lock (Core.Lock)
            {
                if (Core.IsAbandoned)
                {
                    return(Status.NoInit);
                }

                if (slot < 0 || slot >= Core.Slots.Length || !Core.IsOwnedByProducerLocked(slot))
                {
                    return(Status.BadValue);
                }

                graphicBuffer.Set(Core.Slots[slot].GraphicBuffer);

                Core.Slots[slot].RequestBufferCalled = true;

                return(Status.Success);
            }
        }