From: Linus V. <lin...@gm...> - 2016-05-05 10:14:04
|
Hello, I am looking for a solution based on libvnc, which allows to change the resolution of the framebuffer. (For example, think of an application window, which is sent to a client via vnc and then recorded to video. When the window size is increased, the framebuffer size needs to be adjusted.) My thoughts: 1) xrandr xrandr seems to be an extension that allows vnc connections to be resized. I found no code for xrandr inside libvnc except for a small header file. Is xrandr supported by libvnc? Can anybody provide an example, how to use it? 2) disconnect and reconnect with new framebuffer size This should work, but the problem is that rfbShutdownServer does not release the used socket, which has been mentioned in several mails before. The consequence is that I cannot just reconnect after rfbShutdownServer (error: "Address already in use") unless I kill the server process before. Is rfbShutdownServer not sufficient to cleanly close a libvncserver session? What else is required to make the socket available again? 3) repeat rfbInitServer with new framebuffer size Just a tought, can I reinitialize the server with a new framebuffer size, still on the same socket? Calling rfbInitServer repeatedly doesn't work, because it tries to open a new connection instead of reusing the open connection. Is there a different function for this? And will the changed framebuffer size be correctly communicated to the client? Or is this only possible if the client supports the xrandr extension? Thank you Linus <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Virus-free. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> |