[vbox-dev] queryBitmapInfo in Java API returns no image address

Szatmári Norbert Péter szatmari.norbert.peter at gmail.com
Sun Jul 1 21:29:13 GMT 2018


Hello,
I'm developing a Java frontend for VirtualBox machines and I managed to set
it up to launch the machine inside the process and attach my framebuffer to
it. It's receiving changes and updates, queryBitmapInfo returns all
information correctly, except for the address out parameter.

The array I'm using to hold the value is large enough for the whole screen
but all of the values in the array remain 0, even after the machine has
booted up and is running the guest OS. VirtualBox also seems to freeze for
some seconds while the machine is running inside my application.
(I'm also running my program as root as I was unable to set the setuid bit
up correctly, but I don't have any issues running VBox as root, so I don't
think it's related.)

How can I receive images from the machine in Java?

VirtualBox version: 5.2.12 r122591 (Qt5.9.5)
VBox API: Java XPCOM 5.2
OS: Ubuntu 18.04 x64, Java 8

My code in notifyChange:
display.querySourceBitmap(0L, holder);
byte[] arr = bb.array(); //640 * 480 * 4 bytes backing a ByteBuffer
long[] w = new long[1], h = new long[1], bpp = new long[1], bpl = new
long[1], pf = new long[1];
holder.value.getTypedWrapped().queryBitmapInfo(arr, w, h, bpp, bpl, pf);
System.out.println("Arr0:" + arr[0]); //Returns 0
System.out.println("whbppbplpf: " + w[0] + " " + h[0] + " " + bpp[0] + " "
+ bpl[0] + " " + pf[0]); //Returns correct values
Regards,
Norbert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20180701/07972a07/attachment.html>


More information about the vbox-dev mailing list