Webrtc Native example for android client (C++ not Java)

175 views
Skip to first unread message

Anime Lover

unread,
Sep 27, 2022, 5:03:38 AM9/27/22
to discuss-webrtc
Hello, I am trying to create a webrtc example that uses Peer Connection and Data channels.

and I am facing two problems:

1- I am having a hard time figuring it out, as a lot of code from online examples is old and doesn't compile, and many links in the discussion groups don't work.
I am reading the steps inside the comments of peer_connection_factory_interface.h

but it doesn't say much about what the parameters should be, it does mention the steps tho. ,so I tried peerconnection example from examples, but it crashes, after a long debugging session I realized you can not make the Audio module on Android null, but it seems you can do that on windows?  adm being nullptr

also same for threads as it seems, I can not leave the netowrk/worker threads to be nullptr.
So I hope (if it exists anywhere) a minimal example to be able to create a webrtc connection that allow me to send and receive information from a server (the server is already done and working with other clients, like Windows/iOS devices but the only client that is missing is android, the server upon connecting via a socket to, will automatically send SDP offer and a lot of Ice candidates, what I am doing right now is creating a peerconnectionfactory, which creates a peerconnection and the peerconnection is the one that writes an SDP answer and sends it back to the server and then it sends Ice Candidates as well.. but that is as far as I have reached).
2- Compiling webrtc for android natively is a bug problem (I am compiling for x64) 
as it builds using the custom chrome standard library, and when I try to include it in my android project and link against it using cmake, it get some complains about 
undefined symbols for std::Cr::basic_string (which I assume means it was compiling for Std::chrome::strings?) 
I turned off use_custom_libcxx=false and passed -std=libstc++ and that created some errors on `undefined symbol for _unwind_getip` and I couldn't find a work around in the BUILD.gn so I just commented out any call for it in the source code (which is very bad.. but on one hand I am not sure how link my android project if I compile with custom libc++ from Chrome, and on the other hand if I use the standard libc++/libstdc++ it will complain about unwind library) 

Of course, I am ready to post the error message if needed but I assume this is a known issue considering a lot of bugs/issues are opened on previous branches, such as this one.

I am new to this way of communication through groups so I apologize if anything is missing or I should add more info or less info, this is my first post, so I hope you can guide me if I made a mistake.

Best,
Serilina

Artiom Khachaturian

unread,
Nov 1, 2022, 11:26:07 AM11/1/22
to discuss-webrtc
there is a limitation of Android system, only Java implementations & API is available for media devices (adm == nullptr)
Reply all
Reply to author
Forward
0 new messages