Rewrite server on top of TigerVNC
TigerVNC provides a much more robust server implementation vs.
libvncserver and yields higher performance and lower CPU
usage.
diff --git a/src/VirtualDisplay.h b/src/VirtualDisplay.h
new file mode 100644
index 0000000..f23d32d
--- /dev/null
+++ b/src/VirtualDisplay.h
@@ -0,0 +1,26 @@
+#include <gui/CpuConsumer.h>
+
+namespace vncflinger {
+
+class VirtualDisplay {
+ public:
+ VirtualDisplay();
+
+ virtual void onFrameAvailable(const BufferItem& item);
+
+ private:
+ Mutex mEventMutex;
+ Condition mEventCond;
+
+ bool mFrameAvailable;
+
+ // Virtual display
+ sp<IBinder> mDpy;
+
+ // Producer side of queue, passed into the virtual display.
+ sp<IGraphicBufferProducer> mProducer;
+
+ // This receives frames from the virtual display and makes them available
+ sp<CpuConsumer> mCpuConsumer;
+};
+};