public BufferQueueCore(Switch device, KProcess process) { Slots = new BufferSlotArray(); IsAbandoned = false; OverrideMaxBufferCount = 0; DequeueBufferCannotBlock = false; UseAsyncBuffer = true; DefaultWidth = 1; DefaultHeight = 1; DefaultMaxBufferCount = 2; MaxAcquiredBufferCount = 1; FrameCounter = 0; TransformHint = 0; DefaultBufferFormat = PixelFormat.Rgba8888; IsAllocating = false; ProducerListener = null; ConsumerListener = null; ConsumerUsageBits = 0; Queue = new List <BufferItem>(); // TODO: CreateGraphicBufferAlloc? _waitBufferFreeEvent = new KEvent(device.System.KernelContext); _frameAvailableEvent = new KEvent(device.System.KernelContext); Owner = process; BufferHistory = new BufferInfo[BufferHistoryArraySize]; EnableExternalEvent = true; MaxBufferCountCached = 0; }
public BufferQueueCore(Switch device, KProcess process) { Slots = new BufferSlotArray(); IsAbandoned = false; OverrideMaxBufferCount = 0; DequeueEvent = new AutoResetEvent(false); DequeueBufferCannotBlock = false; UseAsyncBuffer = false; DefaultWidth = 1; DefaultHeight = 1; DefaultMaxBufferCount = 2; MaxAcquiredBufferCount = 1; FrameCounter = 0; TransformHint = 0; DefaultBufferFormat = PixelFormat.Rgba8888; IsAllocating = false; IsAllocatingEvent = new AutoResetEvent(false); ProducerListener = null; ConsumerListener = null; ConsumerUsageBits = 0; Queue = new List <BufferItem>(); // TODO: CreateGraphicBufferAlloc? _waitBufferFreeEvent = new KEvent(device.System); _frameAvailaibleEvent = new KEvent(device.System); Owner = process; }
public Status SetTransformHint(NativeWindowTransform transformHint) { lock (Core.Lock) { Core.TransformHint = transformHint; } return(Status.Success); }
public BufferItem() { GraphicBuffer = new AndroidStrongPointer <GraphicBuffer>(); Transform = NativeWindowTransform.None; ScalingMode = NativeWindowScalingMode.Freeze; Timestamp = 0; IsAutoTimestamp = false; FrameNumber = 0; Slot = BufferSlotArray.InvalidBufferSlot; IsDroppable = false; AcquireCalled = false; TransformToDisplayInverse = false; SwapInterval = 1; Fence = AndroidFence.NoFence; Crop = new Rect(); Crop.MakeInvalid(); }