[jitsi-dev] Current Implementation of Screen Capturing - Compiling the screen capturing library


#1

Hi All,

I am trying to understand the way you have implemented the current Screen
Sharing OS Specifically. I am also very interested in to contribute to the
related GSoC idea.

This is also with reference to the mail I sent earlier [1].

As a start, I have tried to recompile the existing
"net_java_sip_communicatorimpl_neomedia_imgstreaming_NativeScreenCapture.c"
file in libjitsi git repo[2] and regenerate the screencapturing library.
These are the exact steps I performed. I am currently running Ubuntu 13.04
64bit.

1) I first check the existing source for its functionality(without
modifying any) by rebuilding it. I checked the desktop sharing call with
another computer and It worked.

2) I cloned the libjitsi git repository[2] to the same folder which jitsi
source folder(which I cloned from[3]) exist.

3) Then I run "ant screencapture" on the libjitsi/build.xml . It said Build
Successfull and generated a new
"libjitsi/lib/native/linux-64/libjnscreencapture.so"
file.

4) Then I replaced
existing "jitsi/lib/native/linux-64/libjnscreencapture.so"(8.9kb) with
newly generated "libjitsi/lib/native/linux-64/
libjnscreencapture.so".(13.0kb)

Then I did the same step 1) to check the functionality but unfortunately it
didn't work without giving any error messages or error logs. (I have
enabled INFO logging in logging.properties)

Have I missed any important task?

Any help is highly appreciated.

[1] Previous Mail :
http://lists.jitsi.org/pipermail/dev/2014-March/020225.html
[2] libjitsi git repository : https://github.com/jitsi/libjitsi
[3] jitsi git repository : https://github.com/jitsi/jitsi

Thank you.

Regards,
Malintha Amarasinghe.


#2

Hello, Malintha Amarasinghe.

I am trying to understand the way you have implemented the current Screen
Sharing OS Specifically. I am also very interested in to contribute to the
related GSoC idea.

Thank you!

As a start, I have tried to recompile the existing
"net_java_sip_communicatorimpl_neomedia_imgstreaming_NativeScreenCapture.c"
file in libjitsi git repo[2] and regenerate the screencapturing library.

There shouldn't be any
net_java_sip_communicatorimpl_neomedia_imgstreaming_NativeScreenCapture.c
in the libjitsi Git repository, it's been renamed to
org_jitsi_impl_neomedia_imgstreaming_ScreenCapture.c.

These are the exact steps I performed. I am currently running Ubuntu 13.04
64bit.

1) I first check the existing source for its functionality(without modifying
any) by rebuilding it. I checked the desktop sharing call with another
computer and It worked.

2) I cloned the libjitsi git repository[2] to the same folder which jitsi
source folder(which I cloned from[3]) exist.

I'm not sure what "the same folder" means. Anyway, it's up to you
where exactly you pull source code to.

3) Then I run "ant screencapture" on the libjitsi/build.xml . It said Build
Successfull and generated a new
"libjitsi/lib/native/linux-64/libjnscreencapture.so" file.

4) Then I replaced existing
"jitsi/lib/native/linux-64/libjnscreencapture.so"(8.9kb) with newly
generated "libjitsi/lib/native/linux-64/libjnscreencapture.so".(13.0kb)

Then I did the same step 1) to check the functionality but unfortunately it
didn't work without giving any error messages or error logs. (I have enabled
INFO logging in logging.properties)

I have no idea why it wouldn't work. I'd suggest debugging Jitsi in
order to confirm that the newly built library binary is being loaded
successfully, that the method calls to its implementations are carried
out without exceptions, etc. It may also turn out to be helpful to
enable FINER/FINEST logging.

Regards,
Lyubomir Marinov

ยทยทยท

2014-03-12 4:17 GMT+02:00 Malintha Amarasinghe <malintha.prasan@gmail.com>:


#3

Hi Lyubomir,

Finally I could solve the problem. I think it was caused by an error in one
of the previous X11 libraries in my machine. What I did was purging the
existing libxext-dev library and re-installing it.

There shouldn't be any
net_java_sip_communicatorimpl_neomedia_imgstreaming_NativeScreenCapture.c
in the libjitsi Git repository, it's been renamed to
org_jitsi_impl_neomedia_imgstreaming_ScreenCapture.c.

Yes. It is org_jitsi_impl_neomedia_imgstreaming_ScreenCapture.c. I am sorry
that I had confused between the two files which reside in
jitsi/src/native/screencapture and libjitsi/src/native/screencapture.

I'd suggest debugging Jitsi in order to confirm that the newly built

library binary is being loaded
successfully, that the method calls to its implementations are carried
out without exceptions, etc. It may also turn out to be helpful to
enable FINER/FINEST logging.

Thank you for the suggestion. It really helped me to guess the cause.

Regards,
Malintha.