Jitsi video on Qubes

67 views
Skip to first unread message

Andrew B

unread,
Sep 19, 2014, 10:55:40 AM9/19/14
to qubes-users
(See the earlier thread entitled, "Getting Jitsi video working in an AppVM": https://groups.google.com/forum/#!topic/qubes-users/4El5nbZ-OZA)

After a few minutes (OK, like an hour) looking around (OK, digging all over) the Jitsi source, it appears Joanna was right. JAWTRendererVideoComponent.java seems to be the relevant Java file, which is actually implemented "natively" in JAWTRenderer_Linux.c. (See the postscript for the full file paths and github links).

I have zero experience programming for X11 or Xv, but it looks like JAWTRenderer_Linux.c only implements an Xv backend and assumes an XVideo adapter exists. This code doesn't look so complicated; how much effort would it take to re-write this to use X11 SHM? Does anyone here have X11 experience they can throw at this? If not, then can Joanna or Marek give some hints at how to approach this? As I said, I have no experience with X programming, and while https://qubes-os.org/wiki/GUIdocs is illuminating, it is definitely not a guide to making an X11 SHM painter ;).

My idea is just to rewrite this file completely so I can build a version of libjitsi that works on Qubes, then submit the new code to the Jitsi folks so they can integrate it properly.

Best,
Andrew

PS:

JAWTRendererVideoComponent.java -- libjitsi/src/org/jitsi/impl/neomedia/jmfext/media/renderer/video/JAWTRendererVideoComponent.java -- https://github.com/jitsi/libjitsi/blob/52b2e9285f505eab5070c0bba0de25fb7cfa290c/src/org/jitsi/impl/neomedia/jmfext/media/renderer/video/JAWTRendererVideoComponent.java
JAWTRenderer_Linux.c -- libjitsi/src/native/jawtrenderer/JAWTRenderer_Linux.c -- https://github.com/jitsi/libjitsi/blob/52b2e9285f505eab5070c0bba0de25fb7cfa290c/src/native/jawtrenderer/JAWTRenderer_Linux.c
0xB364F63E.asc
signature.asc

Marek Marczykowski-Górecki

unread,
Sep 19, 2014, 11:37:32 AM9/19/14
to Andrew B, qubes-users
On 19.09.2014 16:55, Andrew B wrote:
> (See the earlier thread entitled, "Getting Jitsi video working in an AppVM": https://groups.google.com/forum/#!topic/qubes-users/4El5nbZ-OZA)
>
> After a few minutes (OK, like an hour) looking around (OK, digging all over) the Jitsi source, it appears Joanna was right. JAWTRendererVideoComponent.java seems to be the relevant Java file, which is actually implemented "natively" in JAWTRenderer_Linux.c. (See the postscript for the full file paths and github links).
>
> I have zero experience programming for X11 or Xv, but it looks like JAWTRenderer_Linux.c only implements an Xv backend and assumes an XVideo adapter exists. This code doesn't look so complicated; how much effort would it take to re-write this to use X11 SHM? Does anyone here have X11 experience they can throw at this? If not, then can Joanna or Marek give some hints at how to approach this? As I said, I have no experience with X programming, and while https://qubes-os.org/wiki/GUIdocs is illuminating, it is definitely not a guide to making an X11 SHM painter ;).
>
> My idea is just to rewrite this file completely so I can build a version of libjitsi that works on Qubes, then submit the new code to the Jitsi folks so they can integrate it properly.

I'm not an XVideo expert, but this code looks pretty simple. I'd start with
replacing XvCreateImage/XvPutImage calls with simple XCreateImage/XPutImage.
And removing Xv specific initialization code (XvQueryExtension,
_JAWTRenderer_grabPort).



> Best,
> Andrew
>
> PS:
>
> JAWTRendererVideoComponent.java -- libjitsi/src/org/jitsi/impl/neomedia/jmfext/media/renderer/video/JAWTRendererVideoComponent.java -- https://github.com/jitsi/libjitsi/blob/52b2e9285f505eab5070c0bba0de25fb7cfa290c/src/org/jitsi/impl/neomedia/jmfext/media/renderer/video/JAWTRendererVideoComponent.java
> JAWTRenderer_Linux.c -- libjitsi/src/native/jawtrenderer/JAWTRenderer_Linux.c -- https://github.com/jitsi/libjitsi/blob/52b2e9285f505eab5070c0bba0de25fb7cfa290c/src/native/jawtrenderer/JAWTRenderer_Linux.c
>


--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

signature.asc
Reply all
Reply to author
Forward
0 new messages