As some of you may know, in a video call on Linux we have only the video of the remote peer but not the local ones. Users of Windows and Mac OS X version of Jitsi do not have this problem.
Finally I find some time to work on this issue. To summarize the problem is located in the Cloneable* stuff inside FMJ. It will only create Push* like streams (even if we pass a PullDataSource). I modify FMJ in order to correctly create a valid Pull-like clone (with associated PullBufferStream slaves) for our Video4Linux2 PullBufferDataSource capture device. As I have no way to test PullDataSource devices with cloneable stuff, I have only modify the behavior for PullBufferDataSource capture device.
In attachment, you will find one patch for FMJ and one for Jitsi (which basically bring back the possibility in VideoMediaDeviceSession to create a clone capture from Pull* like capture device).
Lyubomir, can you please review the patch when you have time, and tell me what do you think about the FMJ modifications ?
fmj-cloneable-pullbufferdatasource.diff (6.52 KB)
jitsi-cloneable-pullbufferdatasource.diff (904 Bytes)