Let's hack into WebRTC :)
- https://blog.piasy.com/2017/09/03/Use-WebRTC-Static-Library/index.html
- Copy header files:
# CP='gcp' # mac
# CP='cp' # linux
find api audio base call common_audio common_video logging media \
modules ortc p2p pc rtc_base rtc_tools sdk stats system_wrappers \
video -name "*.h" \
-exec $CP --parents '{}' <target dir> ';'
find . -maxdepth 1 -name "*.h" -exec $CP --parents '{}' <target dir> ';'
Tips:
- Due to the file size limit of GitHub, I ignore
libwebrtc.a
, please extract it and put it underapp/libs/webrtc/lib/armeabi-v7a/
before building. - It's important to disable RTTI in your project setting if you want to use WebRTC static library, otherwise linker will fail with something like
undefined reference to 'typeinfo for rtc::MessageHandler'
. - You also need add some definitions in your project, refer to here and here.
- Android:
WEBRTC_POSIX
,WEBRTC_LINUX
,WEBRTC_ANDROID
- iOS:
WEBRTC_POSIX
,WEBRTC_MAC
,WEBRTC_IOS
- Android:
python webrtc_src_extractor.py <repo dir> <dst dir> <wanted src file, seperated by space>
If you only want use a small part of WebRTC code, this script could help you find all related sources and headers, and copy them into dst dir
. Note that it's just a best effort script, you may still need copy several sources manually.