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.