├── ios ├── VoiceClientExample │ ├── en.lproj │ │ └── InfoPlist.strings │ ├── Default.png │ ├── Default@2x.png │ ├── Default-568h@2x.png │ ├── VoiceClientExample-Prefix.pch │ ├── main.m │ ├── ViewController.h │ ├── XmppClientDelegate.h │ ├── AppDelegate.h │ ├── VoiceClientExample-Info.plist │ ├── ViewController.mm │ └── VoiceClientDelegate.h └── Readme.txt ├── android ├── voice-client-aidl │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── tuenti │ │ │ └── voice │ │ │ └── core │ │ │ ├── data │ │ │ ├── Call.aidl │ │ │ ├── Buddy.aidl │ │ │ └── Connection.aidl │ │ │ └── service │ │ │ ├── IStatServiceCallback.aidl │ │ │ ├── IBuddyServiceCallback.aidl │ │ │ ├── IConnectionServiceCallback.aidl │ │ │ ├── IStatService.aidl │ │ │ ├── IBuddyService.aidl │ │ │ ├── IConnectionService.aidl │ │ │ ├── ICallServiceCallback.aidl │ │ │ ├── ICallService.aidl │ │ │ └── VoiceClientService.java │ ├── res │ │ └── drawable │ │ │ └── icon.png │ ├── AndroidManifest.xml │ └── pom.xml ├── voice-client-example │ ├── res │ │ ├── drawable │ │ │ ├── presence_away.png │ │ │ ├── presence_busy.png │ │ │ ├── presence_online.png │ │ │ ├── presence_offline.png │ │ │ ├── dialpad_background.xml │ │ │ ├── list_selector_focused_and_checked.xml │ │ │ ├── list_divider.xml │ │ │ ├── notification_cancel_icon.xml │ │ │ ├── btn_compound_mute.xml │ │ │ ├── btn_compound_hold.xml │ │ │ ├── btn_compound_background.xml │ │ │ ├── edit_text_background.xml │ │ │ ├── end_call_background.xml │ │ │ ├── action_call_background.xml │ │ │ └── btn_compound_audio.xml │ │ ├── raw │ │ │ └── outgoing_call_ring.ogg │ │ ├── drawable-hdpi │ │ │ ├── endcall_active.png │ │ │ ├── endcall_disable.png │ │ │ ├── ic_action_icon.png │ │ │ ├── picture_unknown.png │ │ │ ├── ic_dial_end_call.png │ │ │ ├── ic_mute_holo_dark.png │ │ │ ├── ic_dial_action_call.png │ │ │ ├── ic_sound_holo_dark.png │ │ │ ├── list_focused_holo.9.png │ │ │ ├── ic_ab_dialer_holo_dark.png │ │ │ ├── ic_bluetooth_holo_dark.png │ │ │ ├── dial_background_texture.png │ │ │ ├── ic_hold_pause_holo_dark.png │ │ │ ├── list_pressed_holo_dark.9.png │ │ │ ├── endcall_background_texture.png │ │ │ ├── ic_more_indicator_holo_dark.png │ │ │ ├── ic_sound_handset_holo_dark.png │ │ │ ├── actioncall_background_texture.png │ │ │ ├── ic_sound_bluetooth_holo_dark.png │ │ │ ├── ic_active_state_dialer_holo_dark.png │ │ │ ├── ic_sound_speakerphone_holo_dark.png │ │ │ └── ic_sound_off_speakerphone_holo_dark.png │ │ ├── drawable-mdpi │ │ │ ├── endcall_active.png │ │ │ ├── endcall_disable.png │ │ │ ├── ic_action_icon.png │ │ │ ├── picture_unknown.png │ │ │ ├── ic_dial_end_call.png │ │ │ ├── ic_mute_holo_dark.png │ │ │ ├── ic_dial_action_call.png │ │ │ ├── ic_sound_holo_dark.png │ │ │ ├── list_focused_holo.9.png │ │ │ ├── notification_cancel.png │ │ │ ├── notification_generic.png │ │ │ ├── profile_placeholder.png │ │ │ ├── ic_ab_dialer_holo_dark.png │ │ │ ├── ic_bluetooth_holo_dark.png │ │ │ ├── dial_background_texture.png │ │ │ ├── ic_hold_pause_holo_dark.png │ │ │ ├── list_pressed_holo_dark.9.png │ │ │ ├── endcall_background_texture.png │ │ │ ├── ic_more_indicator_holo_dark.png │ │ │ ├── ic_sound_handset_holo_dark.png │ │ │ ├── notification_cancel_pressed.png │ │ │ ├── actioncall_background_texture.png │ │ │ ├── ic_sound_bluetooth_holo_dark.png │ │ │ ├── ic_active_state_dialer_holo_dark.png │ │ │ ├── ic_sound_speakerphone_holo_dark.png │ │ │ └── ic_sound_off_speakerphone_holo_dark.png │ │ ├── xml │ │ │ └── authenticator.xml │ │ ├── menu │ │ │ ├── buddies.xml │ │ │ ├── accounts.xml │ │ │ └── audio_mode_menu.xml │ │ ├── values │ │ │ ├── dimens.xml │ │ │ └── colors.xml │ │ └── layout │ │ │ ├── item_list_activity.xml │ │ │ ├── item_list.xml │ │ │ ├── account_item.xml │ │ │ └── buddy_item.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── tuenti │ │ │ └── voice │ │ │ └── example │ │ │ ├── util │ │ │ ├── IConnectionMonitor.java │ │ │ ├── ProcessUtil.java │ │ │ └── NetworkPreference.java │ │ │ ├── ui │ │ │ ├── connection │ │ │ │ ├── AccountConstants.java │ │ │ │ └── ConnectionListAdapter.java │ │ │ └── buddy │ │ │ │ ├── BuddyLoader.java │ │ │ │ └── BuddyListAdapter.java │ │ │ ├── Intents.java │ │ │ └── service │ │ │ └── AuthenticatedVoiceClientService.java │ └── project.properties ├── voice-client-core │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── tuenti │ │ │ └── voice │ │ │ └── core │ │ │ ├── OnStatListener.java │ │ │ ├── manager │ │ │ ├── StatManager.java │ │ │ ├── ConnectionManager.java │ │ │ ├── BuddyManager.java │ │ │ └── CallManager.java │ │ │ ├── AudioPlayout.java │ │ │ ├── PortAllocatorFilter.java │ │ │ ├── util │ │ │ └── Compatibility.java │ │ │ ├── OnBuddyListener.java │ │ │ ├── OnConnectionListener.java │ │ │ ├── XmppSocketClose.java │ │ │ ├── data │ │ │ └── BuddyComparator.java │ │ │ ├── BuddyListState.java │ │ │ ├── XmppState.java │ │ │ ├── XmppPresenceAvailable.java │ │ │ ├── XmppPresenceShow.java │ │ │ ├── XmppError.java │ │ │ ├── OnCallListener.java │ │ │ ├── CallError.java │ │ │ └── CallState.java │ └── pom.xml └── voice-client-native │ ├── jni │ ├── android_makefiles │ │ ├── expat.mk │ │ ├── gtest.mk │ │ ├── libyuv.mk │ │ ├── libjpeg_turbo.mk │ │ └── libsrtp.mk │ ├── default_debug.mk │ ├── tuenti_debug.mk │ ├── default_debug_video.mk │ ├── video_debug.mk │ ├── tuenti_release.mk │ ├── default_release.mk │ ├── video_final.mk │ ├── video_release.mk │ ├── tuenti_final.mk │ ├── android-webrtc.mk │ ├── default_final.mk │ └── libjingle_config.mk │ └── pom.xml ├── third_party ├── libvpx │ └── source │ │ └── config │ │ ├── android │ │ ├── vpx_config.c │ │ ├── vpx_version.h │ │ └── vpx_config.h │ │ ├── win │ │ ├── ia32 │ │ │ ├── asm_dec_offsets.asm │ │ │ ├── vpx_version.h │ │ │ ├── asm_com_offsets.asm │ │ │ ├── vpx_config.c │ │ │ ├── vpx_config.asm │ │ │ ├── asm_enc_offsets.asm │ │ │ └── vpx_config.h │ │ └── x64 │ │ │ ├── asm_dec_offsets.asm │ │ │ ├── vpx_version.h │ │ │ ├── asm_com_offsets.asm │ │ │ ├── vpx_config.c │ │ │ ├── vpx_config.asm │ │ │ ├── asm_enc_offsets.asm │ │ │ └── vpx_config.h │ │ ├── linux │ │ ├── arm │ │ │ ├── vpx_version.h │ │ │ ├── vpx_config.c │ │ │ ├── asm_enc_offsets.asm │ │ │ ├── vpx_config.asm │ │ │ └── vpx_config.h │ │ ├── ia32 │ │ │ ├── vpx_version.h │ │ │ ├── vpx_config.c │ │ │ ├── asm_enc_offsets.asm │ │ │ ├── vpx_config.asm │ │ │ └── vpx_config.h │ │ ├── x64 │ │ │ ├── vpx_version.h │ │ │ ├── vpx_config.c │ │ │ ├── asm_enc_offsets.asm │ │ │ ├── vpx_config.asm │ │ │ └── vpx_config.h │ │ └── arm-neon │ │ │ ├── vpx_version.h │ │ │ ├── asm_com_offsets.asm │ │ │ ├── vpx_config.c │ │ │ ├── asm_enc_offsets.asm │ │ │ ├── vpx_config.asm │ │ │ └── vpx_config.h │ │ └── mac │ │ ├── ia32 │ │ ├── vpx_version.h │ │ ├── vpx_config.c │ │ ├── asm_enc_offsets.asm │ │ ├── vpx_config.asm │ │ └── vpx_config.h │ │ └── x64 │ │ ├── vpx_version.h │ │ ├── vpx_config.c │ │ ├── asm_enc_offsets.asm │ │ ├── vpx_config.asm │ │ └── vpx_config.h └── google-gflags │ ├── README.webrtc │ ├── LICENSE │ └── google-gflags.gyp ├── client ├── unit │ ├── webrtcjingletest.cc │ └── clientsignalingthread_unittest.cc ├── xmppmessage.h ├── xmpplog.h ├── keepalivetask.cc ├── receivemessagetask.cc ├── threadpriorityhandler.h ├── client_defines.h ├── logging.h ├── sendmessagetask.h ├── Android.mk ├── receivemessagetask.h ├── presenceouttask.h ├── sendmessagetask.cc ├── keepalivetask.h └── threadpriorityhandler.cc ├── tools ├── tagit.sh ├── test │ ├── res │ │ └── values │ │ │ └── strings.xml │ ├── AndroidManifest.xml │ └── native_test_apk.xml ├── create_supplement_gypi.py └── gen_tests_apk.sh ├── .gitignore └── LICENSE.txt /ios/VoiceClientExample/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/data/Call.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.data; 2 | 3 | parcelable Call; -------------------------------------------------------------------------------- /ios/VoiceClientExample/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/ios/VoiceClientExample/Default.png -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/data/Buddy.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.data; 2 | 3 | parcelable Buddy; -------------------------------------------------------------------------------- /ios/VoiceClientExample/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/ios/VoiceClientExample/Default@2x.png -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/data/Connection.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.data; 2 | 3 | parcelable Connection; -------------------------------------------------------------------------------- /ios/VoiceClientExample/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/ios/VoiceClientExample/Default-568h@2x.png -------------------------------------------------------------------------------- /android/voice-client-aidl/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-aidl/res/drawable/icon.png -------------------------------------------------------------------------------- /third_party/libvpx/source/config/android/vpx_config.c: -------------------------------------------------------------------------------- 1 | static const char* const cfg = "--target=generic-gnu"; 2 | const char *vpx_codec_build_config(void) {return cfg;} 3 | -------------------------------------------------------------------------------- /client/unit/webrtcjingletest.cc: -------------------------------------------------------------------------------- 1 | #include "talk/base/gunit.h" 2 | 3 | namespace tuenti { 4 | 5 | class WebrtcJingleTest : public testing::Test { 6 | }; 7 | } // namespace tuenti 8 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/presence_away.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable/presence_away.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/presence_busy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable/presence_busy.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/presence_online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable/presence_online.png -------------------------------------------------------------------------------- /android/voice-client-example/res/raw/outgoing_call_ring.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/raw/outgoing_call_ring.ogg -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/presence_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable/presence_offline.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/endcall_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/endcall_active.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/endcall_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/endcall_disable.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_action_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_action_icon.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/picture_unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/picture_unknown.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/endcall_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/endcall_active.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/endcall_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/endcall_disable.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_action_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_action_icon.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/picture_unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/picture_unknown.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_dial_end_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_dial_end_call.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_mute_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_mute_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_dial_end_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_dial_end_call.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_mute_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_mute_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_dial_action_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_dial_action_call.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_sound_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_sound_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/list_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/list_focused_holo.9.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_dial_action_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_dial_action_call.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_sound_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_sound_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/list_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/list_focused_holo.9.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/notification_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/notification_cancel.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/notification_generic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/notification_generic.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/profile_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/profile_placeholder.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_ab_dialer_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_ab_dialer_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_bluetooth_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_bluetooth_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_ab_dialer_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_ab_dialer_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_bluetooth_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_bluetooth_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/dial_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/dial_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_hold_pause_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_hold_pause_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/list_pressed_holo_dark.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/list_pressed_holo_dark.9.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/dial_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/dial_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_hold_pause_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_hold_pause_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/list_pressed_holo_dark.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/list_pressed_holo_dark.9.png -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/OnStatListener.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public interface OnStatListener 4 | { 5 | void onStatsUpdated( final String stats ); 6 | } 7 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/endcall_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/endcall_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_more_indicator_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_more_indicator_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_sound_handset_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_sound_handset_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/endcall_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/endcall_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_more_indicator_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_more_indicator_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_sound_handset_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_sound_handset_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/notification_cancel_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/notification_cancel_pressed.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/actioncall_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/actioncall_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_sound_bluetooth_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_sound_bluetooth_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/actioncall_background_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/actioncall_background_texture.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_sound_bluetooth_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_sound_bluetooth_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_active_state_dialer_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_sound_speakerphone_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_sound_speakerphone_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_active_state_dialer_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_sound_speakerphone_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_sound_speakerphone_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-hdpi/ic_sound_off_speakerphone_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-hdpi/ic_sound_off_speakerphone_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable-mdpi/ic_sound_off_speakerphone_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lukeweber/webrtc-jingle-client/HEAD/android/voice-client-example/res/drawable-mdpi/ic_sound_off_speakerphone_holo_dark.png -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IStatServiceCallback.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | oneway interface IStatServiceCallback { 4 | 5 | void handleStatsUpdate( in String stats ); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /android/voice-client-example/res/xml/authenticator.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/dialpad_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IBuddyServiceCallback.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.data.Buddy; 4 | 5 | oneway interface IBuddyServiceCallback { 6 | 7 | void handleBuddyUpdated( in Buddy[] buddies ); 8 | 9 | } -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IConnectionServiceCallback.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | oneway interface IConnectionServiceCallback { 4 | 5 | void handleLoggingIn(); 6 | void handleLoggedIn(); 7 | void handleLoggedOut(); 8 | 9 | } -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/manager/StatManager.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.manager; 2 | 3 | public interface StatManager 4 | { 5 | // -------------------------- OTHER METHODS -------------------------- 6 | 7 | void handleStatsUpdate( String stats); 8 | } 9 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/util/IConnectionMonitor.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.util; 2 | 3 | public interface IConnectionMonitor { 4 | public void onConnectionEstablished(); 5 | public void onConnectionLost(); 6 | public void onConnectivityLost(); 7 | } 8 | -------------------------------------------------------------------------------- /android/voice-client-example/res/menu/buddies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/android/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 0 2 | #define VERSION_MINOR 9 3 | #define VERSION_PATCH 6 4 | #define VERSION_EXTRA "" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v0.9.6" 7 | #define VERSION_STRING " v0.9.6" 8 | -------------------------------------------------------------------------------- /android/voice-client-example/res/menu/accounts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/asm_dec_offsets.asm: -------------------------------------------------------------------------------- 1 | bool_decoder_user_buffer_end EQU 0 2 | bool_decoder_user_buffer EQU 4 3 | bool_decoder_value EQU 8 4 | bool_decoder_count EQU 12 5 | bool_decoder_range EQU 16 6 | END 7 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/asm_dec_offsets.asm: -------------------------------------------------------------------------------- 1 | bool_decoder_user_buffer_end EQU 0 2 | bool_decoder_user_buffer EQU 8 3 | bool_decoder_value EQU 16 4 | bool_decoder_count EQU 24 5 | bool_decoder_range EQU 28 6 | END 7 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IStatService.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.service.IStatServiceCallback; 4 | 5 | interface IStatService { 6 | void registerCallback( IStatServiceCallback cb ); 7 | void unregisterCallback( IStatServiceCallback cb ); 8 | } 9 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/list_selector_focused_and_checked.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/ia32/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/x64/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/ia32/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/x64/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/vpx_version.h: -------------------------------------------------------------------------------- 1 | #define VERSION_MAJOR 1 2 | #define VERSION_MINOR 1 3 | #define VERSION_PATCH 0 4 | #define VERSION_EXTRA "6-gdd6134b" 5 | #define VERSION_PACKED ((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH)) 6 | #define VERSION_STRING_NOSP "v1.1.0-6-gdd6134b" 7 | #define VERSION_STRING " v1.1.0-6-gdd6134b" 8 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/AudioPlayout.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum AudioPlayout 4 | { 5 | ENABLED; 6 | 7 | // -------------------------- STATIC METHODS -------------------------- 8 | 9 | public static AudioPlayout fromInteger( int i ) 10 | { 11 | return ENABLED; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IBuddyService.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.service.IBuddyServiceCallback; 4 | 5 | interface IBuddyService { 6 | 7 | void requestBuddyUpdate(); 8 | void registerCallback( IBuddyServiceCallback cb ); 9 | void unregisterCallback( IBuddyServiceCallback cb ); 10 | 11 | } -------------------------------------------------------------------------------- /tools/tagit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | TOOLSDIR="$( cd "$( dirname "$0" )" && pwd )" 3 | TRUNKDIR="$( dirname $TOOLSDIR )" 4 | pushd $TRUNKDIR 5 | # find the list of files with h & cc extensions then ignore the toplevel base dir 6 | 7 | find . -type f|egrep "\.(h|cc)$"|grep -v "^./base" > tagindex; 8 | # create C++ tags from the list 9 | ctags --tag-relative=yes --languages=C++ -L tagindex; 10 | popd 11 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/PortAllocatorFilter.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum PortAllocatorFilter { 4 | 5 | NO_FILTER, 6 | TURN; 7 | 8 | private static final PortAllocatorFilter[] filterValues = PortAllocatorFilter 9 | .values(); 10 | 11 | public static PortAllocatorFilter fromInteger(int i) { 12 | return filterValues[i]; 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /android/voice-client-example/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 80dp 4 | 24dp 5 | 16dp 6 | 8dp 7 | 20dp 8 | -------------------------------------------------------------------------------- /android/voice-client-aidl/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/manager/ConnectionManager.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.manager; 2 | 3 | public interface ConnectionManager 4 | { 5 | // -------------------------- OTHER METHODS -------------------------- 6 | 7 | void handleXmppError( int error ); 8 | 9 | void handleXmppSocketClose( int state ); 10 | 11 | void handleXmppStateChanged( int state ); 12 | } 13 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/util/Compatibility.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.util; 2 | 3 | import android.os.Build; 4 | 5 | public final class Compatibility 6 | { 7 | // -------------------------- STATIC METHODS -------------------------- 8 | 9 | public static boolean isCompatible( int apiLevel ) 10 | { 11 | return Build.VERSION.SDK_INT >= apiLevel; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/OnBuddyListener.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | import com.tuenti.voice.core.data.Buddy; 4 | 5 | public interface OnBuddyListener 6 | { 7 | // -------------------------- OTHER METHODS -------------------------- 8 | 9 | void onBuddyUpdated( Buddy[] buddies ); 10 | 11 | void onRegisterBuddyListener(); 12 | 13 | void requestBuddyUpdate(); 14 | } 15 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android_makefiles/expat.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(MY_THIRD_PARTY_PATH)/expat 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_MODULE:= libexpat_static 5 | 6 | LOCAL_SRC_FILES := \ 7 | files/lib/xmlparse.c \ 8 | files/lib/xmlrole.c \ 9 | files/lib/xmltok.c 10 | 11 | LOCAL_CFLAGS := \ 12 | -DHAVE_EXPAT_CONFIG_H 13 | 14 | LOCAL_C_INCLUDES += \ 15 | $(LOCAL_PATH)/files/lib 16 | 17 | include $(BUILD_STATIC_LIBRARY) 18 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android_makefiles/gtest.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(MY_GTEST_PATH) 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_C_INCLUDES := \ 5 | $(MY_GTEST_PATH) \ 6 | $(MY_GTEST_PATH)/include 7 | LOCAL_MODULE:= gunit 8 | 9 | ifeq ($(TARGET_ARCH),x86) 10 | LOCAL_CFLAGS:= \ 11 | -DGTEST_HAS_CLONE=0 12 | endif 13 | 14 | LOCAL_SRC_FILES:= src/gtest-all.cc 15 | LOCAL_CPP_EXTENSION:= .cc 16 | include $(BUILD_STATIC_LIBRARY) 17 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/VoiceClientExample-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'VoiceClientExample' target in the 'VoiceClientExample' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_5_0 8 | #warning "This project uses features only available in iOS SDK 5.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // VoiceClientExample 4 | // 5 | // Created by Luke Weber on 12/17/12. 6 | // Copyright (c) 2012 Luke Weber. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/OnConnectionListener.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | import com.tuenti.voice.core.data.Connection; 4 | 5 | public interface OnConnectionListener 6 | { 7 | // -------------------------- OTHER METHODS -------------------------- 8 | 9 | void login( Connection connection ); 10 | 11 | void onLoggedIn(); 12 | 13 | void onLoggedOut(); 14 | 15 | void onLoggingIn(); 16 | } 17 | -------------------------------------------------------------------------------- /tools/test/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 10 | replaceme 11 | 12 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/list_divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/manager/BuddyManager.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.manager; 2 | 3 | public interface BuddyManager 4 | { 5 | // -------------------------- OTHER METHODS -------------------------- 6 | 7 | void handleBuddyAdded( String remoteJid, String nick, int available, int show ); 8 | 9 | void handleBuddyListChanged( int state, String remoteJid ); 10 | 11 | void handlePresenceChanged( String remoteJid, int available, int show ); 12 | } 13 | -------------------------------------------------------------------------------- /third_party/google-gflags/README.webrtc: -------------------------------------------------------------------------------- 1 | URL: http://code.google.com/p/google-gflags/ 2 | Version: 1.5 3 | License: New BSD 4 | License File: LICENSE 5 | 6 | Description: 7 | The gflags package contains a library that implements commandline 8 | flags processing. As such it's a replacement for getopt(). It has 9 | increased flexibility, including built-in support for C++ types like 10 | string, and the ability to define flags in the source file in which 11 | they're used. 12 | 13 | Local Modifications: None 14 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/IConnectionService.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.data.Connection; 4 | import com.tuenti.voice.core.service.IConnectionServiceCallback; 5 | 6 | interface IConnectionService { 7 | 8 | void login( in Connection connection ); 9 | void logout(); 10 | void registerCallback( IConnectionServiceCallback cb ); 11 | void unregisterCallback( IConnectionServiceCallback cb ); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/manager/CallManager.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.manager; 2 | 3 | public interface CallManager 4 | { 5 | // -------------------------- OTHER METHODS -------------------------- 6 | 7 | void handleCallError( int error, long callId ); 8 | 9 | void handleCallStateChanged( int state, String remoteJid, long callId ); 10 | 11 | void handleCallTrackerId( long callId, String callTrackerId ); 12 | 13 | void handleAudioPlayout(); 14 | } 15 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppSocketClose.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum XmppSocketClose 4 | { 5 | CLOSED; 6 | 7 | // ------------------------------ FIELDS ------------------------------ 8 | 9 | private static final XmppSocketClose[] xmppSocketCloseValues = XmppSocketClose.values(); 10 | 11 | // -------------------------- STATIC METHODS -------------------------- 12 | 13 | public static XmppSocketClose fromInteger( int i ) 14 | { 15 | return CLOSED; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/data/BuddyComparator.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.data; 2 | 3 | import java.util.Comparator; 4 | 5 | public class BuddyComparator 6 | implements Comparator 7 | { 8 | // ------------------------ INTERFACE METHODS ------------------------ 9 | 10 | // --------------------- Interface Comparator --------------------- 11 | 12 | @Override 13 | public int compare( Buddy b1, Buddy b2 ) 14 | { 15 | return b1.getRemoteJid().compareTo( b2.getRemoteJid() ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/ICallServiceCallback.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.data.Call; 4 | 5 | oneway interface ICallServiceCallback { 6 | 7 | void handleCallInProgress(); 8 | void handleIncomingCall( in Call call ); 9 | void handleIncomingCallAccepted(); 10 | void handleIncomingCallTerminated( in Call call ); 11 | void handleOutgoingCall( in Call call ); 12 | void handleOutgoingCallAccepted(); 13 | void handleOutgoingCallTerminated( in Call call ); 14 | } -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/notification_cancel_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /client/unit/clientsignalingthread_unittest.cc: -------------------------------------------------------------------------------- 1 | #include "talk/base/gunit.h" 2 | #include "client/clientsignalingthread.h" 3 | 4 | namespace tuenti { 5 | 6 | TEST(WebrtcJingleTest, ConstructDestruct) { 7 | for (int i = 0; i < 5; ++i) { 8 | StunConfig* cfg = new StunConfig(); 9 | ClientSignalingThread *clientsignalingthread = new ClientSignalingThread(); 10 | clientsignalingthread->Login("lukewebertest@gmail.com", "testtester", cfg, "talk.google.com", 5222, false, 0, true); 11 | delete clientsignalingthread; 12 | delete cfg; 13 | } 14 | } 15 | } //namespace tuenti 16 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/BuddyListState.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum BuddyListState 4 | { 5 | ADD, 6 | REMOVE, 7 | RESET; 8 | 9 | // ------------------------------ FIELDS ------------------------------ 10 | 11 | private static final BuddyListState[] buddyListStateValues = BuddyListState.values(); 12 | 13 | // -------------------------- STATIC METHODS -------------------------- 14 | 15 | public static BuddyListState fromInteger( int i ) 16 | { 17 | return buddyListStateValues[i]; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppState.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum XmppState 4 | { 5 | NONE, 6 | START, 7 | OPENING, 8 | OPEN, 9 | CLOSED; 10 | 11 | // ------------------------------ FIELDS ------------------------------ 12 | 13 | private static final XmppState[] xmppStateValues = XmppState.values(); 14 | 15 | // -------------------------- STATIC METHODS -------------------------- 16 | 17 | public static XmppState fromInteger( int i ) 18 | { 19 | return xmppStateValues[i]; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/ICallService.aidl: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import com.tuenti.voice.core.service.ICallServiceCallback; 4 | 5 | interface ICallService { 6 | 7 | void acceptCall( long callId ); 8 | void call( String remoteJid ); 9 | void declineCall( long callId, boolean busy ); 10 | void endCall( long callId ); 11 | void toggleMute( long callId ); 12 | void toggleHold( long callId ); 13 | void registerCallback( ICallServiceCallback cb ); 14 | void unregisterCallback( ICallServiceCallback cb ); 15 | 16 | } -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/ui/connection/AccountConstants.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.ui.connection; 2 | 3 | public interface AccountConstants 4 | { 5 | // ------------------------------ FIELDS ------------------------------ 6 | 7 | /** 8 | * Account name 9 | */ 10 | String ACCOUNT_NAME = "TuentiVoice"; 11 | 12 | /** 13 | * Account type 14 | */ 15 | String ACCOUNT_TYPE = "com.tuenti.voice"; 16 | 17 | /** 18 | * Provider authority 19 | */ 20 | String PROVIDER_AUTHORITY = "com.tuenti.voice.sync"; 21 | } 22 | -------------------------------------------------------------------------------- /android/voice-client-example/res/layout/item_list_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /android/voice-client-example/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #1E1E1E 4 | #A0000000 5 | #FFFFFF 6 | #8033b5e5 7 | #E2E2E2 8 | #FFFFFF 9 | #F8F8F8 10 | #EDEDED 11 | #959595 12 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceAvailable.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum XmppPresenceAvailable 4 | { 5 | XMPP_PRESENCE_UNAVAILABLE, 6 | XMPP_PRESENCE_AVAILABLE, 7 | XMPP_PRESENCE_ERROR; 8 | 9 | // ------------------------------ FIELDS ------------------------------ 10 | 11 | private static final XmppPresenceAvailable[] values = XmppPresenceAvailable.values(); 12 | 13 | // -------------------------- STATIC METHODS -------------------------- 14 | 15 | public static XmppPresenceAvailable fromInteger( int i ) 16 | { 17 | return values[i]; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // VoiceClientExample 4 | // 5 | // Created by Luke Weber on 12/17/12. 6 | // Copyright (c) 2012 Luke Weber. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class ButtonController; 12 | @interface ViewController : UIViewController { 13 | // UIButton *loginButton_; 14 | IBOutlet UILabel *statsLabel_; 15 | } 16 | 17 | //@property (nonatomic, retain) UIButton *loginButton; 18 | - (IBAction)init:(id)sender; 19 | - (IBAction)login:(id)sender; 20 | - (IBAction)logout:(id)sender; 21 | - (IBAction)call:(id)sender; 22 | - (void)statsUpdate:(NSString *)stats; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceShow.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum XmppPresenceShow 4 | { 5 | XMPP_PRESENCE_CHAT, 6 | XMPP_PRESENCE_DEFAULT, 7 | XMPP_PRESENCE_AWAY, 8 | XMPP_PRESENCE_XA, 9 | XMPP_PRESENCE_DND; 10 | 11 | // ------------------------------ FIELDS ------------------------------ 12 | 13 | private static final XmppPresenceShow[] values = XmppPresenceShow.values(); 14 | 15 | // -------------------------- STATIC METHODS -------------------------- 16 | 17 | public static XmppPresenceShow fromInteger( int i ) 18 | { 19 | return values[i]; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/btn_compound_mute.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/btn_compound_hold.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/asm_com_offsets.asm: -------------------------------------------------------------------------------- 1 | @ This file was created from a .asm file 2 | @ using the ads2gas.pl script. 3 | .equ DO1STROUNDING, 0 4 | .equ yv12_buffer_config_y_width , 0 5 | .equ yv12_buffer_config_y_height , 4 6 | .equ yv12_buffer_config_y_stride , 8 7 | .equ yv12_buffer_config_uv_width , 12 8 | .equ yv12_buffer_config_uv_height , 16 9 | .equ yv12_buffer_config_uv_stride , 20 10 | .equ yv12_buffer_config_y_buffer , 24 11 | .equ yv12_buffer_config_u_buffer , 28 12 | .equ yv12_buffer_config_v_buffer , 32 13 | .equ yv12_buffer_config_border , 40 14 | .equ VP8BORDERINPIXELS_VAL , 32 15 | .equ MFQE_PRECISION_VAL , 4 16 | .section .note.GNU-stack,"",%progbits 17 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/asm_com_offsets.asm: -------------------------------------------------------------------------------- 1 | yv12_buffer_config_y_width EQU 0 2 | yv12_buffer_config_y_height EQU 4 3 | yv12_buffer_config_y_stride EQU 8 4 | yv12_buffer_config_uv_width EQU 12 5 | yv12_buffer_config_uv_height EQU 16 6 | yv12_buffer_config_uv_stride EQU 20 7 | yv12_buffer_config_y_buffer EQU 24 8 | yv12_buffer_config_u_buffer EQU 28 9 | yv12_buffer_config_v_buffer EQU 32 10 | yv12_buffer_config_border EQU 40 11 | VP8BORDERINPIXELS_VAL EQU 32 12 | MFQE_PRECISION_VAL EQU 4 13 | END 14 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/asm_com_offsets.asm: -------------------------------------------------------------------------------- 1 | yv12_buffer_config_y_width EQU 0 2 | yv12_buffer_config_y_height EQU 4 3 | yv12_buffer_config_y_stride EQU 8 4 | yv12_buffer_config_uv_width EQU 12 5 | yv12_buffer_config_uv_height EQU 16 6 | yv12_buffer_config_uv_stride EQU 20 7 | yv12_buffer_config_y_buffer EQU 24 8 | yv12_buffer_config_u_buffer EQU 32 9 | yv12_buffer_config_v_buffer EQU 40 10 | yv12_buffer_config_border EQU 56 11 | VP8BORDERINPIXELS_VAL EQU 32 12 | MFQE_PRECISION_VAL EQU 4 13 | END 14 | -------------------------------------------------------------------------------- /android/voice-client-example/res/layout/item_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/Intents.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example; 2 | 3 | public class Intents 4 | { 5 | 6 | /** 7 | * Prefix for all intents created 8 | */ 9 | public static final String INTENT_PREFIX = "com.tuenti.voice.example."; 10 | 11 | /** 12 | * Prefix for all extra data added to intents 13 | */ 14 | public static final String INTENT_EXTRA_PREFIX = INTENT_PREFIX + "extra."; 15 | 16 | /** 17 | * Call extra 18 | */ 19 | public static final String EXTRA_CALL = INTENT_EXTRA_PREFIX + "CALL"; 20 | 21 | /** 22 | * Connection extra 23 | */ 24 | public static final String EXTRA_CONNECTION = INTENT_EXTRA_PREFIX + "CONNECTION"; 25 | } 26 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppError.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum XmppError 4 | { 5 | NONE, 6 | XML, 7 | STREAM, 8 | VERSION, 9 | UNAUTHORIZED, 10 | TLS, 11 | AUTH, 12 | BIND, 13 | CONNECTION_CLOSED, 14 | DOCUMENT_CLOSED, 15 | SOCKET, 16 | NETWORK_TIMEOUT, 17 | MISSING_USERNAME; 18 | 19 | // ------------------------------ FIELDS ------------------------------ 20 | 21 | private static final XmppError[] xmppErrorValues = XmppError.values(); 22 | 23 | // -------------------------- STATIC METHODS -------------------------- 24 | 25 | public static XmppError fromInteger( int i ) 26 | { 27 | return xmppErrorValues[i]; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /client/xmppmessage.h: -------------------------------------------------------------------------------- 1 | #ifndef CLIENT_XMPPMESSAGE_H 2 | #define CLIENT_XMPPMESSAGE_H 3 | 4 | #include 5 | #include "talk/xmpp/jid.h" 6 | 7 | namespace tuenti { 8 | 9 | enum XmppMessageState { 10 | XMPP_CHAT_NONE, 11 | XMPP_CHAT_ACTIVE, 12 | XMPP_CHAT_COMPOSING, 13 | XMPP_CHAT_PAUSED, 14 | XMPP_CHAT_INACTIVE, 15 | XMPP_CHAT_GONE 16 | }; 17 | 18 | struct XmppMessage { 19 | std::string body; 20 | buzz::Jid jid; 21 | tuenti::XmppMessageState state; 22 | XmppMessage(std::string jid_str, tuenti::XmppMessageState state_, 23 | std::string body_) 24 | : body(body_), 25 | jid(jid_str), 26 | state(state_) {} 27 | XmppMessage(){} 28 | }; 29 | 30 | } // namespace tuenti 31 | #endif // CLIENT_XMPPMESSAGE_H 32 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/default_debug.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi armeabi-v7a mips x86 9 | APP_PLATFORM := android-9 10 | APP_CPPFLAGS += -fno-rtti 11 | APP_CFLAGS += \ 12 | -D_DEBUG=1 \ 13 | -DENABLE_DEBUG=1 \ 14 | -DLOGGING=1 \ 15 | -DWEBRTC_ANDROID_DEBUG=1 16 | APP_STL := stlport_static 17 | APP_OPTIM := debug 18 | ENABLE_WEBRTC_TRACE := 1 19 | ENABLE_UNITTEST := 1 20 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/ia32/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86-darwin9-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/x64/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86_64-darwin10-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/ia32/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86-linux-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/tuenti_debug.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi armeabi-v7a x86 9 | APP_PLATFORM := android-9 10 | APP_CPPFLAGS += -fno-rtti 11 | APP_CFLAGS += \ 12 | -D_DEBUG=1 \ 13 | -DENABLE_DEBUG=1 \ 14 | -DLOGGING=1 \ 15 | -DWEBRTC_ANDROID_DEBUG=1 \ 16 | -DTUENTI_CUSTOM_BUILD=1 17 | APP_STL := stlport_static 18 | APP_OPTIM := debug 19 | ENABLE_WEBRTC_TRACE := 1 20 | ENABLE_UNITTEST := 1 21 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/x64/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86_64-linux-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/default_debug_video.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi armeabi-v7a mips x86 9 | APP_PLATFORM := android-9 10 | APP_CPPFLAGS += -fno-rtti 11 | APP_CFLAGS += \ 12 | -D_DEBUG=1 \ 13 | -DENABLE_DEBUG=1 \ 14 | -DLOGGING=1 \ 15 | -DWEBRTC_ANDROID_DEBUG=1 16 | APP_STL := stlport_static 17 | APP_OPTIM := debug 18 | ENABLE_VIDEO := 1 19 | ENABLE_WEBRTC_TRACE := 1 20 | ENABLE_UNITTEST := 1 21 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/video_debug.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi-v7a 9 | APP_PLATFORM := android-9 10 | APP_CPPFLAGS += -fno-rtti 11 | APP_CFLAGS += \ 12 | -DHAVE_WEBRTC_VIDEO \ 13 | -D_DEBUG=1 \ 14 | -DENABLE_DEBUG=1 \ 15 | -DLOGGING=1 \ 16 | -DWEBRTC_ANDROID_DEBUG=1 17 | APP_STL := stlport_static 18 | APP_OPTIM := debug 19 | ENABLE_WEBRTC_TRACE := 1 20 | ENABLE_UNITTEST := 1 21 | ENABLE_VIDEO := 1 22 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86-win32-vs9 --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only --enable-static-msvcrt --as=yasm"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--target=x86_64-win64-vs9 --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only --enable-static-msvcrt --as=yasm"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/XmppClientDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // XmppClientDelegate.h 3 | // Viny 4 | // 5 | // Created by Hai Le Gia on 3/1/13. 6 | // Copyright (c) 2013 Hai Le Gia. All rights reserved. 7 | // 8 | 9 | #import 10 | #include 11 | #import "GCDAsyncSocket.h" 12 | #import "XMPPStream.h" 13 | #import "XMPPModule.h" 14 | #import "VoiceClientDelegate.h" 15 | 16 | @interface XmppClientDelegate : XMPPModule 17 | 18 | @property (nonatomic, assign) GCDAsyncSocket* asyncSocket; 19 | 20 | - (id)init; 21 | - (id)initWithDispatchQueue:(dispatch_queue_t)queue; 22 | 23 | //XmppOutputHandler, call only from XMPPClient::Private 24 | -(VoiceClientDelegate*) getVoiceClientDelegate; 25 | -(void)writeOutput:(const char *) bytes withLenght:(size_t) len; 26 | -(void)startTLS:(const std::string &) domainname; 27 | -(void)closeConnection; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /tools/create_supplement_gypi.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3 | # 4 | # Use of this source code is governed by a BSD-style license 5 | # that can be found in the LICENSE file in the root of the source 6 | # tree. An additional intellectual property rights grant can be found 7 | # in the file PATENTS. All contributing project authors may 8 | # be found in the AUTHORS file in the root of the source tree. 9 | 10 | import sys 11 | 12 | supplement_gypi = """#!/usr/bin/env python 13 | # This file is generated by %s. Not for check-in. 14 | # Please see the WebRTC DEPS file for details. 15 | { 16 | 'variables': { 17 | 'build_with_chromium': 0, 18 | } 19 | } 20 | """ 21 | 22 | def main(argv): 23 | open(argv[1], 'w').write(supplement_gypi % argv[0]) 24 | 25 | if __name__ == '__main__': 26 | sys.exit(main(sys.argv)) 27 | -------------------------------------------------------------------------------- /android/voice-client-example/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-14 15 | android.library.reference.1=../voice-client-aidl 16 | android.library.reference.2=gen-external-apklibs/com.actionbarsherlock_actionbarsherlock_4.2.0 17 | android.library.reference.3=gen-external-apklibs/com.github.kevinsawicki_wishlist_0.8 18 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--sdk-path=/usr/local/google/users/holmer/code/android/android-ndk-r7c --target=armv5te-android-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only --enable-postproc"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | voice-client-core/obj 2 | android/voice-client-example/libs 3 | android/voice-client-core/bin 4 | android/voice-client-core/gen 5 | android/voice-client-core/obj 6 | config.mk 7 | 8 | *.target.mk 9 | *.Makefile 10 | Makefile 11 | tools/* 12 | third_party/* 13 | testing/* 14 | base/* 15 | build/* 16 | gyp-mac-tool 17 | client/supplement.gypi 18 | 19 | #Android generated 20 | bin 21 | gen 22 | lint.xml 23 | 24 | #Eclipse 25 | .project 26 | .classpath 27 | .settings 28 | .checkstyle 29 | 30 | #IntelliJ IDEA 31 | .idea 32 | *.iml 33 | *.ipr 34 | *.iws 35 | classes 36 | gen-external-apklibs 37 | 38 | #Maven 39 | target 40 | release.properties 41 | pom.xml.* 42 | 43 | #Ant 44 | #build.xml 45 | ant.properties 46 | local.properties 47 | proguard.cfg 48 | proguard-project.txt 49 | 50 | #XCode 51 | webrtcjingle.xcodeproj 52 | xcodebuild 53 | 54 | #Other 55 | .DS_Store 56 | tmp 57 | tags 58 | tagindex 59 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/OnCallListener.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | import com.tuenti.voice.core.data.Call; 4 | 5 | public interface OnCallListener 6 | { 7 | // -------------------------- OTHER METHODS -------------------------- 8 | 9 | void acceptCall( long callId ); 10 | 11 | void call( String remoteJid ); 12 | 13 | void declineCall( long callId, boolean busy ); 14 | 15 | void endCall( long callId ); 16 | 17 | void onCallInProgress(); 18 | 19 | void onIncomingCall( Call call ); 20 | 21 | void onIncomingCallAccepted(); 22 | 23 | void onIncomingCallTerminated( Call call ); 24 | 25 | void onOutgoingCall( Call call ); 26 | 27 | void onOutgoingCallAccepted(); 28 | 29 | void onOutgoingCallTerminated( Call call ); 30 | 31 | void toggleHold( long callId ); 32 | 33 | void toggleMute( long callId ); 34 | } 35 | -------------------------------------------------------------------------------- /tools/gen_tests_apk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LIB_LIST="libjingle_unittest \ 4 | libjingle_media_unittest \ 5 | libjingle_p2p_unittest \ 6 | libwebrtcjingle_unittest" 7 | 8 | export ANDROID_SDK_VERSION=14 9 | 10 | TOOLSDIR="$( cd "$( dirname "$0" )" && pwd )" 11 | TRUNKDIR="$( dirname $TOOLSDIR )" 12 | 13 | OUT_DIR=${TRUNKDIR}"/voice_test" 14 | APP_ABI_LIST="armeabi armeabi-v7a mips x86" 15 | 16 | rm -rf $OUT_DIR 17 | 18 | for app_abi in $APP_ABI_LIST 19 | do 20 | mkdir -p $OUT_DIR/$app_abi 21 | 22 | for lib in $LIB_LIST 23 | do 24 | ${TRUNKDIR}/tools/test/generate_native_test.py \ 25 | --native_library=${TRUNKDIR}/android/voice-client-core/libs/${app_abi}/${lib}.so \ 26 | --output=$OUT_DIR/${app_abi}/${lib} \ 27 | --app_abi=${app_abi} \ 28 | --strip-binary=i686-linux-android-strip \ 29 | --ant-args=-DPRODUCT_DIR=$OUT_DIR/${app_abi} 30 | done 31 | done 32 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/tuenti_release.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi armeabi-v7a x86 9 | APP_PLATFORM := android-9 10 | APP_CPPFLAGS += \ 11 | -fno-rtti -ffast-math -O3 12 | 13 | APP_CFLAGS += \ 14 | -DENABLE_DEBUG=0 \ 15 | -DTUENTI_CUSTOM_BUILD=1 \ 16 | -DLOGGING=1 \ 17 | -fvisibility=hidden \ 18 | -ffunction-sections \ 19 | -fdata-sections 20 | 21 | APP_LDFLAGS += -Wl,--gc-sections \ 22 | -Wl,--icf=safe 23 | 24 | APP_STL := stlport_static 25 | APP_OPTIM := release 26 | ENABLE_WEBRTC_TRACE := 0 27 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/vpx_config.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | static const char* const cfg = "--sdk-path=/usr/local/google/users/holmer/code/android/android-ndk-r7c --target=armv7-android-gcc --enable-pic --enable-error-concealment --disable-install-docs --disable-install-srcs --disable-examples --disable-internal-stats --disable-install-libs --disable-install-bins --enable-realtime-only --enable-postproc --disable-runtime-cpu-detect"; 9 | const char *vpx_codec_build_config(void) {return cfg;} 10 | -------------------------------------------------------------------------------- /client/xmpplog.h: -------------------------------------------------------------------------------- 1 | #ifndef _XMPPLOG_H_ 2 | #define _XMPPLOG_H_ 3 | 4 | #include "talk/base/logging.h" 5 | #include "talk/base/sigslot.h" 6 | #include "client/logging.h" 7 | 8 | namespace tuenti { 9 | class XmppLog : public sigslot::has_slots<> { 10 | public: 11 | XmppLog() : 12 | debug_input_buf_(NULL), debug_input_len_(0), debug_input_alloc_(0), 13 | debug_output_buf_(NULL), debug_output_len_(0), debug_output_alloc_(0), 14 | censor_password_(false) 15 | {} 16 | void Input(const char * data, int len); 17 | void Output(const char * data, int len); 18 | private: 19 | char * debug_input_buf_; 20 | int debug_input_len_; 21 | int debug_input_alloc_; 22 | char * debug_output_buf_; 23 | int debug_output_len_; 24 | int debug_output_alloc_; 25 | bool censor_password_; 26 | bool IsAuthTag(const char * str, size_t len); 27 | void DebugPrint(char * buf, int * plen, bool output); 28 | }; 29 | } 30 | #endif // _XMPPLOG_H_ 31 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/CallError.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum CallError 4 | { 5 | ERROR_NONE, // no error 6 | ERROR_TIME, // no response to signaling 7 | ERROR_RESPONSE, // error during signaling 8 | ERROR_NETWORK, // network error, could not allocate network resources 9 | ERROR_CONTENT, // channel errors in SetLocalContent/SetRemoteContent 10 | ERROR_TRANSPORT, // transport error of some kind 11 | ERROR_ACK_TIME; // no ack response to signaling, client not available 12 | 13 | // ------------------------------ FIELDS ------------------------------ 14 | 15 | private static final CallError[] callErrorValues = CallError.values(); 16 | 17 | // -------------------------- STATIC METHODS -------------------------- 18 | 19 | public static CallError fromInteger( int i ) 20 | { 21 | return callErrorValues[i]; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/default_release.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | 9 | # Build both ARMv5TE and ARMv7-A x86 and mips machine code. 10 | APP_ABI := armeabi armeabi-v7a 11 | APP_PLATFORM := android-9 12 | APP_CPPFLAGS += \ 13 | -fno-rtti -ffast-math -O3 14 | 15 | APP_CFLAGS += \ 16 | -DENABLE_DEBUG=0 \ 17 | -DLOGGING=0 \ 18 | -fvisibility=hidden \ 19 | -ffunction-sections \ 20 | -fdata-sections 21 | 22 | APP_LDFLAGS += -Wl,--gc-sections \ 23 | -Wl,--icf=safe 24 | 25 | APP_STL := stlport_static 26 | APP_OPTIM := release 27 | ENABLE_WEBRTC_TRACE := 0 28 | -------------------------------------------------------------------------------- /android/voice-client-core/src/main/java/com/tuenti/voice/core/CallState.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core; 2 | 3 | public enum CallState 4 | { 5 | INIT, 6 | SENT_INITIATE, 7 | RECEIVED_INITIATE, 8 | RECEIVED_INITIATE_ACK, 9 | SENT_PR_ACCEPT, 10 | SENT_ACCEPT, 11 | RECEIVED_PR_ACCEPT, 12 | RECEIVED_ACCEPT, 13 | SENT_MODIFY, 14 | RECEIVED_MODIFY, 15 | SENT_BUSY, 16 | SENT_REJECT, 17 | RECEIVED_BUSY, 18 | RECEIVED_REJECT, 19 | SENT_REDIRECT, 20 | SENT_TERMINATE, 21 | RECEIVED_TERMINATE, 22 | IN_PROGRESS, 23 | DE_INIT; 24 | 25 | // ------------------------------ FIELDS ------------------------------ 26 | 27 | private static final CallState[] callStateValues = CallState.values(); 28 | 29 | // -------------------------- STATIC METHODS -------------------------- 30 | 31 | public static CallState fromInteger( int i ) 32 | { 33 | return callStateValues[i]; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/ui/buddy/BuddyLoader.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.ui.buddy; 2 | 3 | import android.content.Context; 4 | import com.github.kevinsawicki.wishlist.AsyncLoader; 5 | import com.tuenti.voice.core.data.Buddy; 6 | 7 | import java.util.List; 8 | 9 | public class BuddyLoader 10 | extends AsyncLoader> 11 | { 12 | // ------------------------------ FIELDS ------------------------------ 13 | 14 | private List mBuddies; 15 | 16 | // --------------------------- CONSTRUCTORS --------------------------- 17 | 18 | public BuddyLoader( final Context context, final List buddies ) 19 | { 20 | super( context ); 21 | mBuddies = buddies; 22 | } 23 | 24 | // -------------------------- OTHER METHODS -------------------------- 25 | 26 | @Override 27 | public List loadInBackground() 28 | { 29 | return mBuddies; 30 | } 31 | } -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/util/ProcessUtil.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.util; 2 | 3 | import android.app.ActivityManager; 4 | import android.app.ActivityManager.RunningAppProcessInfo; 5 | import android.content.Context; 6 | import android.util.Log; 7 | import android.os.Process; 8 | 9 | public class ProcessUtil { 10 | 11 | private static final String VoiceClientSerivceProcessName = "com.tuenti.voice.example:VoiceClientService"; 12 | 13 | public static boolean isRemoteService(Context context){ 14 | ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 15 | for (RunningAppProcessInfo process : manager.getRunningAppProcesses()) { 16 | if (VoiceClientSerivceProcessName.equals(process.processName)) { 17 | return Process.myPid() == process.pid; 18 | } 19 | } 20 | return false; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/btn_compound_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 9 | 12 | 14 | 16 | 17 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/edit_text_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/video_final.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | 9 | # Build both ARMv5TE and ARMv7-A x86 and mips machine code. 10 | NDK_TOOLCHAIN_VERSION=clang3.1 11 | APP_ABI := armeabi-v7a 12 | APP_PLATFORM := android-9 13 | APP_CPPFLAGS += \ 14 | -fno-rtti -ffast-math -O3 15 | APP_CFLAGS += \ 16 | -DHAVE_WEBRTC_VIDEO \ 17 | -DENABLE_DEBUG=0 \ 18 | -DLOGGING=0 \ 19 | -fvisibility=hidden \ 20 | -ffunction-sections \ 21 | -fdata-sections 22 | APP_LDFLAGS += -Wl,--gc-sections 23 | ifneq ($(TARGET_ARCH),mips) 24 | APP_LDFLAGS += -Wl,--icf=safe 25 | endif 26 | APP_STL := stlport_static 27 | APP_OPTIM := release 28 | ENABLE_WEBRTC_TRACE := 0 29 | ENABLE_VIDEO := 1 30 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/video_release.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | 9 | # Build both ARMv5TE and ARMv7-A x86 and mips machine code. 10 | #NDK_TOOLCHAIN_VERSION=clang3.1 11 | APP_ABI := armeabi-v7a 12 | APP_PLATFORM := android-9 13 | APP_CPPFLAGS += \ 14 | -fno-rtti -ffast-math -O3 15 | APP_CFLAGS += \ 16 | -DHAVE_WEBRTC_VIDEO \ 17 | -DENABLE_DEBUG=0 \ 18 | -DLOGGING=0 19 | -fvisibility=hidden \ 20 | -ffunction-sections \ 21 | -fdata-sections 22 | APP_LDFLAGS += -Wl,--gc-sections 23 | ifneq ($(TARGET_ARCH),mips) 24 | APP_LDFLAGS += -Wl,--icf=safe 25 | endif 26 | APP_STL := stlport_static 27 | APP_OPTIM := release 28 | ENABLE_WEBRTC_TRACE := 0 29 | ENABLE_VIDEO := 1 30 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/end_call_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/action_call_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/util/NetworkPreference.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.util; 2 | 3 | import android.content.Context; 4 | import android.net.ConnectivityManager; 5 | import android.net.NetworkInfo; 6 | 7 | public class NetworkPreference { 8 | 9 | 10 | private Context mContext; 11 | private ConnectivityManager mConnManager; 12 | 13 | public NetworkPreference(Context context){ 14 | mContext = context; 15 | } 16 | 17 | public void enableStickyNetworkPreference(){ 18 | mConnManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 19 | NetworkInfo networkInfo = mConnManager.getActiveNetworkInfo(); 20 | if (networkInfo != null) { 21 | int type = networkInfo.getType(); 22 | mConnManager.setNetworkPreference(type); 23 | } 24 | } 25 | 26 | public void unsetNetworkPreference(){ 27 | if(mConnManager != null) { 28 | mConnManager.setNetworkPreference(ConnectivityManager.DEFAULT_NETWORK_PREFERENCE); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/service/AuthenticatedVoiceClientService.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.service; 2 | 3 | import android.accounts.AccountManager; 4 | import android.content.Intent; 5 | import android.os.IBinder; 6 | import com.tuenti.voice.core.service.VoiceClientService; 7 | 8 | public final class AuthenticatedVoiceClientService 9 | extends VoiceClientService 10 | { 11 | // ------------------------------ FIELDS ------------------------------ 12 | 13 | private static AccountAuthenticator AUTHENTICATOR; 14 | 15 | // -------------------------- OTHER METHODS -------------------------- 16 | 17 | public IBinder onBind( Intent intent ) 18 | { 19 | if ( intent.getAction().equals( AccountManager.ACTION_AUTHENTICATOR_INTENT ) ) 20 | { 21 | return getAuthenticator().getIBinder(); 22 | } 23 | return super.onBind( intent ); 24 | } 25 | 26 | private AccountAuthenticator getAuthenticator() 27 | { 28 | if ( AUTHENTICATOR == null ) 29 | { 30 | AUTHENTICATOR = new AccountAuthenticator( this ); 31 | } 32 | return AUTHENTICATOR; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/tuenti_final.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | APP_ABI := armeabi armeabi-v7a x86 9 | #Crash in optimized neon code with clang. 10 | #NDK_TOOLCHAIN_VERSION=clang3.1 11 | #Mips temporarily not building 12 | #Below code has no effect as TARGET_ARCH is not defined at this level 13 | #FILE is only parsed one time. 14 | #ifneq ($(TARGET_ARCH),mips) 15 | # APP_LDFLAGS += -Wl,--icf=safe 16 | #endif 17 | 18 | APP_PLATFORM := android-9 19 | APP_CPPFLAGS += \ 20 | -fno-rtti -ffast-math -O3 21 | APP_CFLAGS += \ 22 | -DENABLE_DEBUG=0 \ 23 | -DTUENTI_CUSTOM_BUILD=1 \ 24 | -DLOGGING=0 \ 25 | -fvisibility=hidden \ 26 | -ffunction-sections \ 27 | -fdata-sections 28 | APP_LDFLAGS += -Wl,--gc-sections 29 | APP_LDFLAGS += -Wl,--icf=safe 30 | APP_STL := stlport_static 31 | APP_OPTIM := release 32 | ENABLE_WEBRTC_TRACE := 0 33 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android-webrtc.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | 9 | # These defines will apply to all source files 10 | # Think again before changing it 11 | MY_WEBRTC_COMMON_DEFS := \ 12 | '-DWEBRTC_TARGET_PC' \ 13 | '-DWEBRTC_LINUX' \ 14 | '-DWEBRTC_THREAD_RR' \ 15 | '-DWEBRTC_CLOCK_TYPE_REALTIME' \ 16 | '-DWEBRTC_ANDROID' \ 17 | '-DWEBRTC_SVNREVISION="2356"' \ 18 | '-DWEBRTC_EXTERNAL_TRANSPORT' 19 | 20 | ifeq ($(TARGET_ARCH), arm) 21 | MY_WEBRTC_COMMON_DEFS += \ 22 | '-DWEBRTC_ARCH_ARM' 23 | endif 24 | 25 | ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) 26 | WEBRTC_BUILD_NEON_LIBS := true 27 | MY_WEBRTC_COMMON_DEFS += \ 28 | '-DWEBRTC_ARCH_ARM_V7A' \ 29 | '-DWEBRTC_DETECT_ARM_NEON' 30 | 31 | MY_ARM_CFLAGS_NEON := \ 32 | -flax-vector-conversions 33 | else 34 | WEBRTC_BUILD_NEON_LIBS := false 35 | endif 36 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android_makefiles/libyuv.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(MY_THIRD_PARTY_PATH)/libyuv 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_MODULE:= libyuv 5 | 6 | LOCAL_SRC_FILES := \ 7 | source/compare.cc \ 8 | source/compare_common.cc \ 9 | source/compare_neon.cc \ 10 | source/compare_posix.cc \ 11 | source/compare_win.cc \ 12 | source/convert.cc \ 13 | source/convert_argb.cc \ 14 | source/convert_from.cc \ 15 | source/convert_from_argb.cc \ 16 | source/cpu_id.cc \ 17 | source/format_conversion.cc \ 18 | source/memcpy_mips.S \ 19 | source/mjpeg_decoder.cc \ 20 | source/planar_functions.cc \ 21 | source/rotate.cc \ 22 | source/rotate_argb.cc \ 23 | source/rotate_mips.cc \ 24 | source/rotate_neon.cc \ 25 | source/row_any.cc \ 26 | source/row_common.cc \ 27 | source/row_mips.cc \ 28 | source/row_neon.cc \ 29 | source/row_posix.cc \ 30 | source/row_win.cc \ 31 | source/scale.cc \ 32 | source/scale_argb.cc \ 33 | source/scale_argb_neon.cc \ 34 | source/scale_mips.cc \ 35 | source/scale_neon.cc \ 36 | source/video_common.cc \ 37 | 38 | LOCAL_CFLAGS := \ 39 | -DHAVE_JPEG 40 | 41 | LOCAL_C_INCLUDES += \ 42 | $(MY_THIRD_PARTY_PATH)/libjpeg_turbo \ 43 | $(LOCAL_PATH)/include \ 44 | $(LOCAL_PATH) 45 | 46 | include $(BUILD_STATIC_LIBRARY) 47 | -------------------------------------------------------------------------------- /ios/Readme.txt: -------------------------------------------------------------------------------- 1 | IPhone build working in a basic state with a login, logout and call button. 2 | 3 | Starting points 4 | * Apply the following patches 5 | * Autogenerate an xcode project with 6 | ./build/gyp_chromium --depth=. -DOS=ios -Dinclude_tests=0 -Denable_protobuf=0 -Denable_video=0 webrtcjingle.gyp 7 | * open webrtcjingle.xcodeproj 8 | * Modify usernames/servers, etc in ios/VoiceClientExample/VoiceClientDelegate.mm 9 | * Build and deploy 10 | * May experience issues about sse from audio_processing.gypi. If you push to an IOS device add -Dtarget_arch=arm. If emulator, the other command will probably work. 11 | 12 | ===Patches=== 13 | .../webrtcjingleproject/trunk/third_party/expat$ svn diff 14 | Index: expat.gyp 15 | =================================================================== 16 | --- expat.gyp (revision 169394) 17 | +++ expat.gyp (working copy) 18 | @@ -7,7 +7,7 @@ 19 | 'conditions': [ 20 | # On Linux, we implicitly already depend on expat via fontconfig; 21 | # let's not pull it in twice. 22 | - ['os_posix == 1 and OS != "mac" and OS != "android"', { 23 | + ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 24 | 'use_system_expat%': 1, 25 | }, { 26 | 'use_system_expat%': 0, 27 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/default_final.mk: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 | # 3 | # Use of this source code is governed by a BSD-style license 4 | # that can be found in the LICENSE file in the root of the source 5 | # tree. An additional intellectual property rights grant can be found 6 | # in the file PATENTS. All contributing project authors may 7 | # be found in the AUTHORS file in the root of the source tree. 8 | 9 | # Build both ARMv5TE and ARMv7-A x86 and mips machine code. 10 | APP_ABI := armeabi armeabi-v7a x86 11 | #Crash in optimized neon code with clang. 12 | #NDK_TOOLCHAIN_VERSION=clang3.1 13 | #Mips temporarily not building 14 | #Below code has no effect as TARGET_ARCH is not defined at this level 15 | #FILE is only parsed one time. 16 | #ifneq ($(TARGET_ARCH),mips) 17 | # APP_LDFLAGS += -Wl,--icf=safe 18 | #endif 19 | APP_PLATFORM := android-9 20 | 21 | APP_CPPFLAGS += \ 22 | -fno-rtti -ffast-math -O3 23 | 24 | APP_CFLAGS += \ 25 | -DENABLE_DEBUG=0 \ 26 | -DLOGGING=0 \ 27 | -fvisibility=hidden \ 28 | -ffunction-sections \ 29 | -fdata-sections 30 | 31 | APP_LDFLAGS += -Wl,--gc-sections \ 32 | -Wl,--icf=safe 33 | 34 | APP_STL := stlport_static 35 | APP_OPTIM := release 36 | ENABLE_WEBRTC_TRACE := 0 37 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android_makefiles/libjpeg_turbo.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(MY_THIRD_PARTY_PATH)/libjpeg_turbo 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_MODULE:= libjpeg_turbo 5 | 6 | LOCAL_SRC_FILES := \ 7 | jcapimin.c \ 8 | jcapistd.c \ 9 | jccoefct.c \ 10 | jccolor.c \ 11 | jcdctmgr.c \ 12 | jchuff.c \ 13 | jcinit.c \ 14 | jcmainct.c \ 15 | jcmarker.c \ 16 | jcmaster.c \ 17 | jcomapi.c \ 18 | jcparam.c \ 19 | jcphuff.c \ 20 | jcprepct.c \ 21 | jcsample.c \ 22 | jdapimin.c \ 23 | jdapistd.c \ 24 | jdatadst.c \ 25 | jdatasrc.c \ 26 | jdcoefct.c \ 27 | jdcolor.c \ 28 | jddctmgr.c \ 29 | jdhuff.c \ 30 | jdinput.c \ 31 | jdmainct.c \ 32 | jdmarker.c \ 33 | jdmaster.c \ 34 | jdmerge.c \ 35 | jdphuff.c \ 36 | jdpostct.c \ 37 | jdsample.c \ 38 | jerror.c \ 39 | jfdctflt.c \ 40 | jfdctfst.c \ 41 | jfdctint.c \ 42 | jidctflt.c \ 43 | jidctfst.c \ 44 | jidctint.c \ 45 | jidctred.c \ 46 | jmemmgr.c \ 47 | jmemnobs.c \ 48 | jquant1.c \ 49 | jquant2.c \ 50 | jutils.c 51 | 52 | ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) 53 | LOCAL_SRC_FILES += \ 54 | simd/jsimd_arm.c \ 55 | simd/jsimd_arm_neon.S 56 | endif 57 | 58 | LOCAL_CFLAGS := \ 59 | -DWITH_SIMD \ 60 | -DMOTION_JPEG_SUPPORTED 61 | 62 | LOCAL_C_INCLUDES += \ 63 | $(LOCAL_PATH) 64 | 65 | include $(BUILD_STATIC_LIBRARY) 66 | -------------------------------------------------------------------------------- /android/voice-client-example/res/drawable/btn_compound_audio.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/ia32/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 4 2 | vp8_block_zbin EQU 20 3 | vp8_block_round EQU 28 4 | vp8_block_quant EQU 8 5 | vp8_block_quant_fast EQU 12 6 | vp8_block_zbin_extra EQU 32 7 | vp8_block_zrun_zbin_boost EQU 24 8 | vp8_block_quant_shift EQU 16 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 12 11 | vp8_blockd_dqcoeff EQU 4 12 | vp8_blockd_eob EQU 20 13 | vp8_block_base_src EQU 36 14 | vp8_block_src EQU 40 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 44 17 | vp8_blockd_predictor EQU 8 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 20 24 | vp8_writer_error EQU 24 25 | tokenextra_token EQU 6 26 | tokenextra_extra EQU 4 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 7 29 | TOKENEXTRA_SZ EQU 8 30 | vp8_extra_bit_struct_sz EQU 16 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 4 35 | vp8_extra_bit_struct_len EQU 8 36 | vp8_extra_bit_struct_base_val EQU 12 37 | vp8_comp_tplist EQU 170716 38 | vp8_comp_common EQU 104032 39 | vp8_comp_bc EQU 116240 40 | vp8_writer_sz EQU 36 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 4 43 | TOKENLIST_SZ EQU 8 44 | vp8_common_mb_rows EQU 2296 45 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/ia32/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 4 2 | vp8_block_zbin EQU 20 3 | vp8_block_round EQU 28 4 | vp8_block_quant EQU 8 5 | vp8_block_quant_fast EQU 12 6 | vp8_block_zbin_extra EQU 32 7 | vp8_block_zrun_zbin_boost EQU 24 8 | vp8_block_quant_shift EQU 16 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 12 11 | vp8_blockd_dqcoeff EQU 4 12 | vp8_blockd_eob EQU 20 13 | vp8_block_base_src EQU 36 14 | vp8_block_src EQU 40 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 44 17 | vp8_blockd_predictor EQU 8 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 20 24 | vp8_writer_error EQU 24 25 | tokenextra_token EQU 6 26 | tokenextra_extra EQU 4 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 7 29 | TOKENEXTRA_SZ EQU 8 30 | vp8_extra_bit_struct_sz EQU 16 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 4 35 | vp8_extra_bit_struct_len EQU 8 36 | vp8_extra_bit_struct_base_val EQU 12 37 | vp8_comp_tplist EQU 170600 38 | vp8_comp_common EQU 104032 39 | vp8_comp_bc EQU 116160 40 | vp8_writer_sz EQU 36 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 4 43 | TOKENLIST_SZ EQU 8 44 | vp8_common_mb_rows EQU 2216 45 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/x64/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 8 2 | vp8_block_zbin EQU 40 3 | vp8_block_round EQU 56 4 | vp8_block_quant EQU 16 5 | vp8_block_quant_fast EQU 24 6 | vp8_block_zbin_extra EQU 64 7 | vp8_block_zrun_zbin_boost EQU 48 8 | vp8_block_quant_shift EQU 32 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 24 11 | vp8_blockd_dqcoeff EQU 8 12 | vp8_blockd_eob EQU 40 13 | vp8_block_base_src EQU 72 14 | vp8_block_src EQU 80 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 84 17 | vp8_blockd_predictor EQU 16 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 24 24 | vp8_writer_error EQU 32 25 | tokenextra_token EQU 10 26 | tokenextra_extra EQU 8 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 11 29 | TOKENEXTRA_SZ EQU 16 30 | vp8_extra_bit_struct_sz EQU 24 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 8 35 | vp8_extra_bit_struct_len EQU 16 36 | vp8_extra_bit_struct_base_val EQU 20 37 | vp8_comp_tplist EQU 173256 38 | vp8_comp_common EQU 105952 39 | vp8_comp_bc EQU 118384 40 | vp8_writer_sz EQU 56 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 8 43 | TOKENLIST_SZ EQU 16 44 | vp8_common_mb_rows EQU 2488 45 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/x64/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 8 2 | vp8_block_zbin EQU 40 3 | vp8_block_round EQU 56 4 | vp8_block_quant EQU 16 5 | vp8_block_quant_fast EQU 24 6 | vp8_block_zbin_extra EQU 64 7 | vp8_block_zrun_zbin_boost EQU 48 8 | vp8_block_quant_shift EQU 32 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 24 11 | vp8_blockd_dqcoeff EQU 8 12 | vp8_blockd_eob EQU 40 13 | vp8_block_base_src EQU 72 14 | vp8_block_src EQU 80 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 84 17 | vp8_blockd_predictor EQU 16 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 24 24 | vp8_writer_error EQU 32 25 | tokenextra_token EQU 10 26 | tokenextra_extra EQU 8 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 11 29 | TOKENEXTRA_SZ EQU 16 30 | vp8_extra_bit_struct_sz EQU 24 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 8 35 | vp8_extra_bit_struct_len EQU 16 36 | vp8_extra_bit_struct_base_val EQU 20 37 | vp8_comp_tplist EQU 173112 38 | vp8_comp_common EQU 105952 39 | vp8_comp_bc EQU 118320 40 | vp8_writer_sz EQU 56 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 8 43 | TOKENLIST_SZ EQU 16 44 | vp8_common_mb_rows EQU 2424 45 | -------------------------------------------------------------------------------- /tools/test/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /android/voice-client-native/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | 7 | com.tuenti.voice 8 | voice-parent 9 | 1.0-SNAPSHOT 10 | ../pom.xml 11 | 12 | voice-native 13 | so 14 | Tuenti Voice Client Native Library 15 | 16 | 17 | 18 | 19 | com.jayway.maven.plugins.android.generation2 20 | android-maven-plugin 21 | true 22 | 23 | ${android.ndkappfile} 24 | libs 25 | all 26 | voiceclient 27 | true 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/ui/connection/ConnectionListAdapter.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.ui.connection; 2 | 3 | import android.view.LayoutInflater; 4 | import com.github.kevinsawicki.wishlist.SingleTypeAdapter; 5 | import com.tuenti.voice.core.data.Connection; 6 | import com.tuenti.voice.example.R; 7 | 8 | public class ConnectionListAdapter 9 | extends SingleTypeAdapter 10 | { 11 | // --------------------------- CONSTRUCTORS --------------------------- 12 | 13 | public ConnectionListAdapter( final LayoutInflater inflater, final Connection[] connections ) 14 | { 15 | super( inflater, R.layout.account_item ); 16 | setItems( connections ); 17 | } 18 | 19 | @Override 20 | protected int[] getChildViewIds() 21 | { 22 | return new int[]{R.id.account_name, R.id.presence, R.id.status}; 23 | } 24 | 25 | @Override 26 | protected void update( final int position, final Connection connection ) 27 | { 28 | setText( 0, connection.getUsername() ); 29 | imageView( 1 ).setImageResource( getImageResource( connection ) ); 30 | setText( 2, connection.getPresenceId() ); 31 | } 32 | 33 | private int getImageResource( final Connection connection ) 34 | { 35 | if ( connection.getPresenceId() == R.string.presence_available ) 36 | { 37 | return R.drawable.presence_online; 38 | } 39 | return R.drawable.presence_offline; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /third_party/google-gflags/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // VoiceClientExample 4 | // 5 | // Created by Luke Weber on 12/17/12. 6 | // Copyright (c) 2012 Luke Weber. All rights reserved. 7 | // 8 | #import 9 | #import "xmppframework/XMPPFramework.h" 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (nonatomic, strong) UIWindow *window; 14 | 15 | @property (nonatomic, strong) XMPPStream *xmppStream; 16 | @property (nonatomic, strong) XMPPReconnect *xmppReconnect; 17 | @property (nonatomic, strong) XMPPRoster *xmppRoster; 18 | @property (nonatomic, strong) XMPPRosterCoreDataStorage *xmppRosterStorage; 19 | @property (nonatomic, strong) XMPPvCardTempModule *xmppvCardTempModule; 20 | @property (nonatomic, strong) XMPPvCardAvatarModule *xmppvCardAvatarModule; 21 | @property (nonatomic, strong) XMPPCapabilities *xmppCapabilities; 22 | @property (nonatomic, strong) XMPPCapabilitiesCoreDataStorage *xmppCapabilitiesStorage; 23 | @property (nonatomic, strong) XMPPvCardCoreDataStorage* xmppvCardStorage; 24 | @property BOOL reconnectAfterClosed; 25 | @property (nonatomic, strong) XMPPJID* myJid; 26 | @property (nonatomic, strong) NSString* password; 27 | 28 | - (NSManagedObjectContext *)managedObjectContext_roster; 29 | - (NSManagedObjectContext *)managedObjectContext_capabilities; 30 | 31 | - (void)setupStream; 32 | - (void)teardownStream; 33 | - (void)goOnline; 34 | - (void)goOffline; 35 | 36 | - (BOOL)connect; 37 | - (void)disconnect; 38 | 39 | #pragma mark VoiceClientDelegate section 40 | -(void)call:(NSString*) jid; 41 | #pragma mark - 42 | @end 43 | 44 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012, Tuenti technologies. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in 12 | the documentation and/or other materials provided with the 13 | distribution. 14 | 15 | * Neither the name of Tuenti technologies nor the names of its 16 | contributors may be used to endorse or promote products derived 17 | from this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /android/voice-client-native/jni/libjingle_config.mk: -------------------------------------------------------------------------------- 1 | LIBJINGLE_CPPFLAGS := \ 2 | -DGTEST_RELATIVE_PATH \ 3 | -DDISABLE_DYNAMIC_CAST \ 4 | -D_REENTRANT \ 5 | -DPOSIX \ 6 | -DOS_LINUX=OS_LINUX \ 7 | -DLINUX \ 8 | -DANDROID \ 9 | -DEXPAT_RELATIVE_PATH \ 10 | -DSRTP_RELATIVE_PATH \ 11 | -DXML_STATIC \ 12 | -DFEATURE_ENABLE_SSL \ 13 | -DHAVE_OPENSSL_SSL_H=1 \ 14 | -DFEATURE_ENABLE_VOICEMAIL \ 15 | -DFEATURE_ENABLE_PSTN \ 16 | -DHAVE_SRTP \ 17 | -DNO_SOUND_SYSTEM \ 18 | -DWEBRTC_RELATIVE_PATH \ 19 | -DEXPAT_RELATIVE_PATH \ 20 | -DHAVE_WEBRTC_VOICE \ 21 | -DDISABLE_YUV 22 | 23 | MY_LIBJINGLE_C_INCLUDES := \ 24 | $(MY_THIRD_PARTY_PATH)/openssl/openssl/include \ 25 | $(MY_THIRD_PARTY_PATH)/openssl/config/android \ 26 | $(MY_THIRD_PARTY_PATH)/libsrtp/source/config \ 27 | $(MY_THIRD_PARTY_PATH)/libsrtp/source/srtp \ 28 | $(MY_THIRD_PARTY_PATH)/libsrtp/source/srtp/include \ 29 | $(MY_THIRD_PARTY_PATH)/libsrtp/source/srtp/crypto/include \ 30 | $(MY_THIRD_PARTY_PATH) \ 31 | $(MY_THIRD_PARTY_PATH)/libjingle \ 32 | $(MY_THIRD_PARTY_PATH)/webrtc \ 33 | $(MY_THIRD_PARTY_PATH)/webrtc/modules/interface \ 34 | $(MY_THIRD_PARTY_PATH)/expat/files/lib 35 | 36 | MY_UNITTEST_CFLAGS := $(LIBJINGLE_CPPFLAGS) \ 37 | -DHAVE_STDLIB_H \ 38 | -DHAVE_STRING_H \ 39 | -DCPU_RISC \ 40 | -DSIZEOF_UNSIGNED_LONG=4 \ 41 | -DSIZEOF_UNSIGNED_LONG_LONG=8 \ 42 | -DHAVE_STDINT_H \ 43 | -DHAVE_INTTYPES_H \ 44 | -DHAVE_NETINET_IN_H \ 45 | -DHAVE_UINT64_T \ 46 | -DHAVE_UINT32_T \ 47 | -DHAVE_UINT16_T \ 48 | -DHAVE_UINT8_T \ 49 | -DHAVE_UINT_T \ 50 | -DUSE_WEBRTC_313_BRANCH 51 | 52 | GTEST_C_INCLUDES := \ 53 | $(MY_GTEST_PATH) \ 54 | $(MY_GTEST_PATH)/include 55 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | @ This file was created from a .asm file 2 | @ using the ads2gas.pl script. 3 | .equ DO1STROUNDING, 0 4 | .equ vp8_block_coeff , 4 5 | .equ vp8_block_zbin , 20 6 | .equ vp8_block_round , 28 7 | .equ vp8_block_quant , 8 8 | .equ vp8_block_quant_fast , 12 9 | .equ vp8_block_zbin_extra , 32 10 | .equ vp8_block_zrun_zbin_boost , 24 11 | .equ vp8_block_quant_shift , 16 12 | .equ vp8_blockd_qcoeff , 0 13 | .equ vp8_blockd_dequant , 12 14 | .equ vp8_blockd_dqcoeff , 4 15 | .equ vp8_blockd_eob , 20 16 | .equ vp8_block_base_src , 36 17 | .equ vp8_block_src , 40 18 | .equ vp8_block_src_diff , 0 19 | .equ vp8_block_src_stride , 44 20 | .equ vp8_blockd_predictor , 8 21 | .equ vp8_writer_lowvalue , 0 22 | .equ vp8_writer_range , 4 23 | .equ vp8_writer_count , 8 24 | .equ vp8_writer_pos , 12 25 | .equ vp8_writer_buffer , 16 26 | .equ vp8_writer_buffer_end , 20 27 | .equ vp8_writer_error , 24 28 | .equ tokenextra_token , 6 29 | .equ tokenextra_extra , 4 30 | .equ tokenextra_context_tree , 0 31 | .equ tokenextra_skip_eob_node , 7 32 | .equ TOKENEXTRA_SZ , 8 33 | .equ vp8_extra_bit_struct_sz , 16 34 | .equ vp8_token_value , 0 35 | .equ vp8_token_len , 4 36 | .equ vp8_extra_bit_struct_tree , 0 37 | .equ vp8_extra_bit_struct_prob , 4 38 | .equ vp8_extra_bit_struct_len , 8 39 | .equ vp8_extra_bit_struct_base_val , 12 40 | .equ vp8_comp_tplist , 167128 41 | .equ vp8_comp_common , 103296 42 | .equ vp8_comp_bc , 112656 43 | .equ vp8_writer_sz , 36 44 | .equ tokenlist_start , 0 45 | .equ tokenlist_stop , 4 46 | .equ TOKENLIST_SZ , 8 47 | .equ vp8_common_mb_rows , 2392 48 | .section .note.GNU-stack,"",%progbits 49 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | @ This file was created from a .asm file 2 | @ using the ads2gas.pl script. 3 | .equ DO1STROUNDING, 0 4 | .equ vp8_block_coeff , 4 5 | .equ vp8_block_zbin , 20 6 | .equ vp8_block_round , 28 7 | .equ vp8_block_quant , 8 8 | .equ vp8_block_quant_fast , 12 9 | .equ vp8_block_zbin_extra , 32 10 | .equ vp8_block_zrun_zbin_boost , 24 11 | .equ vp8_block_quant_shift , 16 12 | .equ vp8_blockd_qcoeff , 0 13 | .equ vp8_blockd_dequant , 12 14 | .equ vp8_blockd_dqcoeff , 4 15 | .equ vp8_blockd_eob , 20 16 | .equ vp8_block_base_src , 36 17 | .equ vp8_block_src , 40 18 | .equ vp8_block_src_diff , 0 19 | .equ vp8_block_src_stride , 44 20 | .equ vp8_blockd_predictor , 8 21 | .equ vp8_writer_lowvalue , 0 22 | .equ vp8_writer_range , 4 23 | .equ vp8_writer_count , 8 24 | .equ vp8_writer_pos , 12 25 | .equ vp8_writer_buffer , 16 26 | .equ vp8_writer_buffer_end , 20 27 | .equ vp8_writer_error , 24 28 | .equ tokenextra_token , 6 29 | .equ tokenextra_extra , 4 30 | .equ tokenextra_context_tree , 0 31 | .equ tokenextra_skip_eob_node , 7 32 | .equ TOKENEXTRA_SZ , 8 33 | .equ vp8_extra_bit_struct_sz , 16 34 | .equ vp8_token_value , 0 35 | .equ vp8_token_len , 4 36 | .equ vp8_extra_bit_struct_tree , 0 37 | .equ vp8_extra_bit_struct_prob , 4 38 | .equ vp8_extra_bit_struct_len , 8 39 | .equ vp8_extra_bit_struct_base_val , 12 40 | .equ vp8_comp_tplist , 167128 41 | .equ vp8_comp_common , 103296 42 | .equ vp8_comp_bc , 112656 43 | .equ vp8_writer_sz , 36 44 | .equ tokenlist_start , 0 45 | .equ tokenlist_stop , 4 46 | .equ TOKENLIST_SZ , 8 47 | .equ vp8_common_mb_rows , 2392 48 | .section .note.GNU-stack,"",%progbits 49 | -------------------------------------------------------------------------------- /client/keepalivetask.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All Rights Reserved. 2 | 3 | #include "client/keepalivetask.h" 4 | 5 | #include "talk/base/logging.h" 6 | #include "talk/base/scoped_ptr.h" 7 | #include "talk/xmpp/constants.h" 8 | #include "talk/xmpp/xmppclient.h" 9 | 10 | namespace tuenti { 11 | 12 | KeepAliveTask::KeepAliveTask(buzz::XmppClient* client, 13 | talk_base::MessageQueue* message_queue, 14 | uint32 keepalive_period_millis) 15 | : buzz::XmppTask(client, buzz::XmppEngine::HL_NONE), 16 | message_queue_(message_queue), 17 | keepalive_period_millis_(keepalive_period_millis), 18 | next_keepalive_time_(0), 19 | client_(client) { 20 | } 21 | 22 | bool KeepAliveTask::HandleStanza(const buzz::XmlElement* stanza) { 23 | //Shouldn't hit this. 24 | ASSERT(false); 25 | return false; 26 | } 27 | 28 | // This task runs indefinitely and remains in either the start or blocked 29 | // states. 30 | int KeepAliveTask::ProcessStart() { 31 | LOG(LS_INFO) << "Processing keepalive"; 32 | 33 | uint32 now = talk_base::Time(); 34 | 35 | // Send a keepalive if it's time. 36 | if (now >= next_keepalive_time_) { 37 | client_->SendRaw(" "); 38 | 39 | next_keepalive_time_ = now + keepalive_period_millis_; 40 | 41 | // Wake ourselves up when it's time to send another ping or when the ping 42 | // times out (so we can fire a signal). 43 | message_queue_->PostDelayed(keepalive_period_millis_, this); 44 | } 45 | 46 | return STATE_BLOCKED; 47 | } 48 | 49 | void KeepAliveTask::OnMessage(talk_base::Message* msg) { 50 | // Get the task manager to run this task so we can send a ping or signal or 51 | // process a ping response. 52 | Wake(); 53 | } 54 | 55 | } // namespace tuenti 56 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/ia32/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 1 4 | ARCH_X86_64 equ 0 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 1 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 1 22 | HAVE_SYS_MMAN_H equ 1 23 | HAVE_UNISTD_H equ 1 24 | CONFIG_EXTERNAL_BUILD equ 0 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 1 34 | CONFIG_MSVS equ 0 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 0 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/x64/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 0 4 | ARCH_X86_64 equ 1 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 1 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 1 22 | HAVE_SYS_MMAN_H equ 1 23 | HAVE_UNISTD_H equ 1 24 | CONFIG_EXTERNAL_BUILD equ 0 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 1 34 | CONFIG_MSVS equ 0 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 0 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/ia32/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 1 4 | ARCH_X86_64 equ 0 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 1 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 1 22 | HAVE_SYS_MMAN_H equ 1 23 | HAVE_UNISTD_H equ 1 24 | CONFIG_EXTERNAL_BUILD equ 0 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 1 34 | CONFIG_MSVS equ 0 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 0 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/x64/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 0 4 | ARCH_X86_64 equ 1 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 1 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 1 22 | HAVE_SYS_MMAN_H equ 1 23 | HAVE_UNISTD_H equ 1 24 | CONFIG_EXTERNAL_BUILD equ 0 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 1 34 | CONFIG_MSVS equ 0 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 0 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 1 4 | ARCH_X86_64 equ 0 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 0 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 0 22 | HAVE_SYS_MMAN_H equ 0 23 | HAVE_UNISTD_H equ 0 24 | CONFIG_EXTERNAL_BUILD equ 1 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 0 34 | CONFIG_MSVS equ 1 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 1 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/vpx_config.asm: -------------------------------------------------------------------------------- 1 | ARCH_ARM equ 0 2 | ARCH_MIPS equ 0 3 | ARCH_X86 equ 0 4 | ARCH_X86_64 equ 1 5 | ARCH_PPC32 equ 0 6 | ARCH_PPC64 equ 0 7 | HAVE_EDSP equ 0 8 | HAVE_MEDIA equ 0 9 | HAVE_NEON equ 0 10 | HAVE_MIPS32 equ 0 11 | HAVE_MMX equ 1 12 | HAVE_SSE equ 1 13 | HAVE_SSE2 equ 1 14 | HAVE_SSE3 equ 1 15 | HAVE_SSSE3 equ 1 16 | HAVE_SSE4_1 equ 1 17 | HAVE_ALTIVEC equ 0 18 | HAVE_VPX_PORTS equ 1 19 | HAVE_STDINT_H equ 0 20 | HAVE_ALT_TREE_LAYOUT equ 0 21 | HAVE_PTHREAD_H equ 0 22 | HAVE_SYS_MMAN_H equ 0 23 | HAVE_UNISTD_H equ 0 24 | CONFIG_EXTERNAL_BUILD equ 1 25 | CONFIG_INSTALL_DOCS equ 0 26 | CONFIG_INSTALL_BINS equ 0 27 | CONFIG_INSTALL_LIBS equ 0 28 | CONFIG_INSTALL_SRCS equ 0 29 | CONFIG_DEBUG equ 0 30 | CONFIG_GPROF equ 0 31 | CONFIG_GCOV equ 0 32 | CONFIG_RVCT equ 0 33 | CONFIG_GCC equ 0 34 | CONFIG_MSVS equ 1 35 | CONFIG_PIC equ 1 36 | CONFIG_BIG_ENDIAN equ 0 37 | CONFIG_CODEC_SRCS equ 0 38 | CONFIG_DEBUG_LIBS equ 0 39 | CONFIG_FAST_UNALIGNED equ 1 40 | CONFIG_MEM_MANAGER equ 0 41 | CONFIG_MEM_TRACKER equ 0 42 | CONFIG_MEM_CHECKS equ 0 43 | CONFIG_MD5 equ 1 44 | CONFIG_DEQUANT_TOKENS equ 0 45 | CONFIG_DC_RECON equ 0 46 | CONFIG_RUNTIME_CPU_DETECT equ 1 47 | CONFIG_POSTPROC equ 1 48 | CONFIG_MULTITHREAD equ 1 49 | CONFIG_INTERNAL_STATS equ 0 50 | CONFIG_VP8_ENCODER equ 1 51 | CONFIG_VP8_DECODER equ 1 52 | CONFIG_VP8 equ 1 53 | CONFIG_ENCODERS equ 1 54 | CONFIG_DECODERS equ 1 55 | CONFIG_STATIC_MSVCRT equ 1 56 | CONFIG_SPATIAL_RESAMPLING equ 1 57 | CONFIG_REALTIME_ONLY equ 1 58 | CONFIG_ONTHEFLY_BITPACKING equ 0 59 | CONFIG_ERROR_CONCEALMENT equ 1 60 | CONFIG_SHARED equ 0 61 | CONFIG_STATIC equ 1 62 | CONFIG_SMALL equ 0 63 | CONFIG_POSTPROC_VISUALIZER equ 0 64 | CONFIG_OS_SUPPORT equ 1 65 | CONFIG_UNIT_TESTS equ 0 66 | CONFIG_MULTI_RES_ENCODING equ 0 67 | CONFIG_TEMPORAL_DENOISING equ 1 68 | -------------------------------------------------------------------------------- /android/voice-client-example/res/menu/audio_mode_menu.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | 20 | 24 | 25 | 27 | 31 | 35 | 36 | 40 | 41 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/android/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* This file automatically generated by configure. Do not edit! */ 2 | #define RESTRICT 3 | #define ARCH_ARM 0 4 | #define ARCH_MIPS 0 5 | #define ARCH_X86 0 6 | #define ARCH_X86_64 0 7 | #define ARCH_PPC32 0 8 | #define ARCH_PPC64 0 9 | #define HAVE_ARMV5TE 0 10 | #define HAVE_ARMV6 0 11 | #define HAVE_ARMV7 0 12 | #define HAVE_IWMMXT 0 13 | #define HAVE_IWMMXT2 0 14 | #define HAVE_MIPS32 0 15 | #define HAVE_MMX 0 16 | #define HAVE_SSE 0 17 | #define HAVE_SSE2 0 18 | #define HAVE_SSE3 0 19 | #define HAVE_SSSE3 0 20 | #define HAVE_SSE4_1 0 21 | #define HAVE_ALTIVEC 0 22 | #define HAVE_VPX_PORTS 1 23 | #define HAVE_STDINT_H 1 24 | #define HAVE_ALT_TREE_LAYOUT 0 25 | #define HAVE_PTHREAD_H 1 26 | #define HAVE_SYS_MMAN_H 1 27 | #define CONFIG_EXTERNAL_BUILD 0 28 | #define CONFIG_INSTALL_DOCS 0 29 | #define CONFIG_INSTALL_BINS 1 30 | #define CONFIG_INSTALL_LIBS 1 31 | #define CONFIG_INSTALL_SRCS 0 32 | #define CONFIG_DEBUG 0 33 | #define CONFIG_GPROF 0 34 | #define CONFIG_GCOV 0 35 | #define CONFIG_RVCT 0 36 | #define CONFIG_GCC 1 37 | #define CONFIG_MSVS 0 38 | #define CONFIG_PIC 0 39 | #define CONFIG_BIG_ENDIAN 0 40 | #define CONFIG_CODEC_SRCS 0 41 | #define CONFIG_DEBUG_LIBS 0 42 | #define CONFIG_FAST_UNALIGNED 1 43 | #define CONFIG_MEM_MANAGER 0 44 | #define CONFIG_MEM_TRACKER 0 45 | #define CONFIG_MEM_CHECKS 0 46 | #define CONFIG_MD5 1 47 | #define CONFIG_DEQUANT_TOKENS 0 48 | #define CONFIG_DC_RECON 0 49 | #define CONFIG_RUNTIME_CPU_DETECT 0 50 | #define CONFIG_POSTPROC 0 51 | #define CONFIG_MULTITHREAD 1 52 | #define CONFIG_PSNR 0 53 | #define CONFIG_VP8_ENCODER 1 54 | #define CONFIG_VP8_DECODER 1 55 | #define CONFIG_VP8 1 56 | #define CONFIG_ENCODERS 1 57 | #define CONFIG_DECODERS 1 58 | #define CONFIG_STATIC_MSVCRT 0 59 | #define CONFIG_SPATIAL_RESAMPLING 1 60 | #define CONFIG_REALTIME_ONLY 0 61 | #define CONFIG_SHARED 0 62 | #define CONFIG_SMALL 0 63 | #define CONFIG_POSTPROC_VISUALIZER 0 64 | #define CONFIG_OS_SUPPORT 1 65 | -------------------------------------------------------------------------------- /client/receivemessagetask.cc: -------------------------------------------------------------------------------- 1 | #include "assert.h" 2 | #include "client/receivemessagetask.h" 3 | #include "talk/base/scoped_ptr.h" 4 | #include "talk/xmpp/constants.h" 5 | #include "talk/xmpp/jid.h" 6 | #include "talk/xmllite/qname.h" 7 | 8 | namespace tuenti { 9 | 10 | ReceiveMessageTask::ReceiveMessageTask(buzz::XmppTaskParentInterface* parent, buzz::XmppEngine::HandlerLevel level) 11 | : buzz::XmppTask(parent, level) { 12 | // 13 | } 14 | 15 | // Runs forever. 16 | bool ReceiveMessageTask::HandleStanza(const buzz::XmlElement* stanza) { 17 | if (stanza->Name() != buzz::QN_MESSAGE && !stanza->HasAttr(buzz::QN_FROM)){ 18 | return false; 19 | } 20 | 21 | if (stanza->Attr(buzz::QN_TYPE) != "chat" 22 | // TODO: We may want to handle group chat messages here. 23 | // Have to see if it's worth it. 24 | /*&& stanza->Attr(buzz::QN_TYPE) != "groupchat"*/){ 25 | return false; 26 | } 27 | 28 | std::string body = ""; 29 | if (stanza->FirstNamed(buzz::QN_BODY) != NULL) { 30 | body = stanza->FirstNamed(buzz::QN_BODY)->BodyText(); 31 | } 32 | 33 | tuenti::XmppMessageState state = XMPP_CHAT_NONE; 34 | if (stanza->FirstWithNamespace(buzz::NS_CHATSTATE) != NULL){ 35 | const buzz::QName& qname = stanza->FirstWithNamespace(buzz::NS_CHATSTATE)->Name(); 36 | if (qname == buzz::QN_CS_ACTIVE){ 37 | state = XMPP_CHAT_ACTIVE; 38 | } else if (qname == buzz::QN_CS_COMPOSING){ 39 | state = XMPP_CHAT_COMPOSING; 40 | } else if (qname == buzz::QN_CS_PAUSED){ 41 | state = XMPP_CHAT_PAUSED; 42 | } else if (qname == buzz::QN_CS_INACTIVE){ 43 | state = XMPP_CHAT_INACTIVE; 44 | } else if (qname == buzz::QN_CS_GONE){ 45 | state = XMPP_CHAT_GONE; 46 | } 47 | } 48 | 49 | const XmppMessage msg = XmppMessage(stanza->Attr(buzz::QN_FROM), state, body); 50 | SignalIncomingXmppMessage(msg); 51 | return true; 52 | } 53 | 54 | int ReceiveMessageTask::ProcessStart() { 55 | return STATE_BLOCKED; 56 | } 57 | 58 | } // namespace tuenti 59 | -------------------------------------------------------------------------------- /android/voice-client-native/jni/android_makefiles/libsrtp.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(MY_THIRD_PARTY_PATH)/libsrtp 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_SRC_FILES := \ 5 | source/srtp/srtp/ekt.c \ 6 | source/srtp/srtp/srtp.c \ 7 | source/srtp/crypto/cipher/aes.c \ 8 | source/srtp/crypto/cipher/aes_cbc.c \ 9 | source/srtp/crypto/cipher/aes_icm.c \ 10 | source/srtp/crypto/cipher/cipher.c \ 11 | source/srtp/crypto/cipher/null_cipher.c \ 12 | source/srtp/crypto/hash/auth.c \ 13 | source/srtp/crypto/hash/hmac.c \ 14 | source/srtp/crypto/hash/null_auth.c \ 15 | source/srtp/crypto/hash/sha1.c \ 16 | source/srtp/crypto/kernel/alloc.c \ 17 | source/srtp/crypto/kernel/crypto_kernel.c \ 18 | source/srtp/crypto/kernel/err.c \ 19 | source/srtp/crypto/kernel/key.c \ 20 | source/srtp/crypto/math/datatypes.c \ 21 | source/srtp/crypto/math/gf2_8.c \ 22 | source/srtp/crypto/math/stat.c \ 23 | source/srtp/crypto/replay/rdb.c \ 24 | source/srtp/crypto/replay/rdbx.c \ 25 | source/srtp/crypto/replay/ut_sim.c \ 26 | source/srtp/crypto/rng/ctr_prng.c \ 27 | source/srtp/crypto/rng/prng.c \ 28 | source/srtp/crypto/rng/rand_source.c 29 | 30 | LOCAL_CFLAGS := \ 31 | -DHAVE_STDLIB_H \ 32 | -DHAVE_STRING_H \ 33 | -DSIZEOF_UNSIGNED_LONG=4 \ 34 | -DSIZEOF_UNSIGNED_LONG_LONG=8 \ 35 | -DHAVE_STDINT_H \ 36 | -DHAVE_INTTYPES_H \ 37 | -DHAVE_NETINET_IN_H \ 38 | -DHAVE_UINT64_T \ 39 | -DHAVE_UINT32_T \ 40 | -DHAVE_UINT16_T \ 41 | -DHAVE_UINT8_T \ 42 | -DHAVE_UINT_T 43 | 44 | 45 | # CPU_RISC doesn't work properly on android/arm 46 | # self test for aes failed. CPU_RISC is used for optimization only, 47 | # and CPU_CISC should just work just fine, it has been tested on android/arm with srtp 48 | # test applications and libjingle. 49 | # More info here http://src.chromium.org/svn/trunk/deps/third_party/libsrtp/libsrtp.gyp 50 | LOCAL_CFLAGS += -DCPU_CISC 51 | 52 | LOCAL_C_INCLUDES += \ 53 | $(LOCAL_PATH)/source/config \ 54 | $(LOCAL_PATH)/source/srtp/include \ 55 | $(LOCAL_PATH)/source/srtp/crypto/include \ 56 | 57 | LOCAL_MODULE:= libsrtp_static 58 | include $(BUILD_STATIC_LIBRARY) 59 | -------------------------------------------------------------------------------- /android/voice-client-core/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | com.tuenti.voice 9 | voice-parent 10 | 1.0-SNAPSHOT 11 | ../pom.xml 12 | 13 | voice-core 14 | 1.0-SNAPSHOT 15 | jar 16 | Tuenti Voice Client Core 17 | 18 | 19 | 20 | com.google.android 21 | android 22 | provided 23 | 24 | 25 | 26 | 27 | 28 | 29 | org.apache.maven.plugins 30 | maven-enforcer-plugin 31 | 32 | 33 | enforce-maven-version 34 | 35 | enforce 36 | 37 | 38 | 39 | 40 | [3.0.3,) 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | maven-compiler-plugin 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/VoiceClientExample-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | com.tuenti.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | UIMainStoryboardFile 28 | MainStoryboard_iPhone 29 | UIMainStoryboardFile~ipad 30 | MainStoryboard_iPad 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UIStatusBarTintParameters 36 | 37 | UINavigationBar 38 | 39 | Style 40 | UIBarStyleDefault 41 | Translucent 42 | 43 | 44 | 45 | UISupportedInterfaceOrientations 46 | 47 | UIInterfaceOrientationPortrait 48 | UIInterfaceOrientationLandscapeLeft 49 | UIInterfaceOrientationLandscapeRight 50 | 51 | UISupportedInterfaceOrientations~ipad 52 | 53 | UIInterfaceOrientationPortrait 54 | UIInterfaceOrientationPortraitUpsideDown 55 | UIInterfaceOrientationLandscapeLeft 56 | UIInterfaceOrientationLandscapeRight 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /client/threadpriorityhandler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * webrtc-jingle 3 | * Copyright 2012 Tuenti Technologies 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | #ifndef CLIENT_THREAD_PRIORITY_HANDLER_H_ 28 | #define CLIENT_THREAD_PRIORITY_HANDLER_H_ 29 | 30 | #include 31 | #include 32 | 33 | #ifdef ANDROID 34 | #include 35 | #endif 36 | 37 | namespace tuenti { 38 | 39 | class ThreadPriorityHandler { 40 | public: 41 | #ifdef ANDROID 42 | static void Init(JavaVM* jvm); 43 | #endif 44 | static void SetPriority(int tid, int priority); 45 | #ifdef ANDROID 46 | static JavaVM* jvm_; 47 | #endif 48 | }; 49 | }; 50 | #endif // CLIENT_THREAD_PRIORITY_HANDLER_H_ 51 | -------------------------------------------------------------------------------- /android/voice-client-example/res/layout/account_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 24 | 25 | 26 | 27 | 33 | 34 | 42 | 43 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /android/voice-client-example/res/layout/buddy_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 24 | 25 | 26 | 27 | 33 | 34 | 42 | 43 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /client/client_defines.h: -------------------------------------------------------------------------------- 1 | #ifndef _CLIENT_CLIENT_DEFINES_H_ 2 | #define _CLIENT_CLIENT_DEFINES_H_ 3 | 4 | #ifdef __APPLE__ 5 | //TODO: Why doesn't srtp(openssl incorrectly compiled issue) work on iOS(arm). 6 | #include "TargetConditionals.h" 7 | #define ENABLE_SRTP TARGET_IPHONE_SIMULATOR 8 | #else 9 | #define ENABLE_SRTP 1 10 | #endif 11 | 12 | #if LOGGING 13 | #define XMPP_LOG_STANZAS 1 14 | #endif 15 | 16 | #ifdef IOS_XMPP_FRAMEWORK 17 | #define XMPP_COMPATIBILITY 1 18 | #define XMPP_WHITESPACE_KEEPALIVE_ENABLED 0 19 | #define XMPP_CHAT_ENABLED 0 20 | #define XMPP_PING_ENABLED 0 21 | #define XMPP_ENABLE_ROSTER 0 22 | #define XMPP_DISABLE_INCOMING_PRESENCE 0 23 | #define ADD_RANDOM_RESOURCE_TO_JID 0 24 | 25 | #elif TUENTI_CUSTOM_BUILD 26 | #define XMPP_COMPATIBILITY 1 27 | #define XMPP_CHAT_ENABLED 0 28 | #define XMPP_WHITESPACE_KEEPALIVE_ENABLED 0 29 | #define XMPP_PING_ENABLED 1 30 | #define XMPP_ENABLE_ROSTER 0 31 | #define XMPP_DISABLE_INCOMING_PRESENCE 1 32 | #define ADD_RANDOM_RESOURCE_TO_JID 1 33 | 34 | #else 35 | #define XMPP_CHAT_ENABLED 1 36 | #define XMPP_WHITESPACE_KEEPALIVE_ENABLED 1 37 | #define XMPP_PING_ENABLED 1 38 | #define XMPP_ENABLE_ROSTER 1 39 | #define XMPP_DISABLE_INCOMING_PRESENCE 0 40 | #define ADD_RANDOM_RESOURCE_TO_JID 0 41 | #endif 42 | 43 | #include 44 | #include 45 | 46 | namespace tuenti{ 47 | 48 | #ifdef IOS_XMPP_FRAMEWORK 49 | struct StunConfig { 50 | std::string stun; 51 | std::string turn; 52 | std::string turn_username; 53 | std::string turn_password; 54 | std::string ToString() { 55 | std::stringstream stream; 56 | stream << "[stun=(" << stun << "),"; 57 | stream << "turn=(" << turn << ")]"; 58 | return stream.str(); 59 | } 60 | }; 61 | #endif 62 | 63 | enum XmppTimings { 64 | LoginTimeout = 10000, // 10 Seconds 65 | PingTimeout = 10000, // 10 Seconds 66 | PingInterval = 360000, // 6 minutes 67 | XmppKeepAliveInterval = 360000, // 6 minutes 68 | }; 69 | 70 | const std::string STR_DENY = "deny"; 71 | const std::string STR_ALLOW = "allow"; 72 | 73 | } // namespace tuenti 74 | #endif //_CLIENT_CLIENT_DEFINES_H_ 75 | -------------------------------------------------------------------------------- /client/logging.h: -------------------------------------------------------------------------------- 1 | /* 2 | * webrtc-jingle 3 | * Copyright 2012 Tuenti Technologies 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | #ifndef _CLIENT_LOGGING_H_ 28 | #define _CLIENT_LOGGING_H_ 29 | 30 | #if LOGGING && ANDROID 31 | #include 32 | #define LOG_TAG "c-libjingle-webrtc" // As in WEBRTC Native... 33 | #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) 34 | #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) 35 | #elif LOGGING && IOS 36 | #define LOGI(...) printf(__VA_ARGS__);printf("\n") 37 | #define LOGE(...) printf(__VA_ARGS__);printf("\n") 38 | #else 39 | #define LOGI(...) (void)0 40 | #define LOGE(...) (void)0 41 | #endif 42 | 43 | #endif // _CLIENT_LOGGING_H_ 44 | -------------------------------------------------------------------------------- /tools/test/native_test_apk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Building native test runner ChromeNativeTests_replaceme.apk 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /client/sendmessagetask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2011, Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #ifndef CLIENT_SENDMESSAGETASK_H_ 29 | #define CLIENT_SENDMESSAGETASK_H_ 30 | 31 | #include "talk/xmpp/xmpptask.h" 32 | #include "client/xmppmessage.h" 33 | 34 | namespace tuenti { 35 | 36 | class SendMessageTask : public buzz::XmppTask { 37 | public: 38 | SendMessageTask(buzz::XmppTaskParentInterface* parent); 39 | void Send(const tuenti::XmppMessage &msg); 40 | 41 | virtual bool HandleStanza(const buzz::XmlElement* stanza); 42 | virtual int ProcessStart(); 43 | 44 | sigslot::signal0<> SignalError; 45 | 46 | private: 47 | XmppMessage pending_xmpp_msg_; 48 | }; 49 | 50 | } // namespace tuenti 51 | 52 | #endif // CLIENT_SENDMESSAGETASK_H_ 53 | 54 | -------------------------------------------------------------------------------- /client/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_ARM_MODE := arm 5 | LOCAL_CPP_EXTENSION := .cc 6 | LOCAL_MODULE := webrtcjingle 7 | LOCAL_MODULE_TAGS := optional 8 | LOCAL_CPP_EXTENSION := .cc 9 | LOCAL_SRC_FILES := \ 10 | receivemessagetask.cc \ 11 | sendmessagetask.cc \ 12 | keepalivetask.cc \ 13 | presenceouttask.cc \ 14 | rosterhandler.cc \ 15 | clientsignalingthread.cc \ 16 | voiceclient.cc \ 17 | txmppauth.cc \ 18 | txmpppump.cc \ 19 | txmppsocket.cc \ 20 | xmpplog.cc 21 | 22 | LOCAL_CFLAGS := \ 23 | $(LIBJINGLE_CPPFLAGS) \ 24 | -DJSONCPP_RELATIVE_PATH \ 25 | -DWEBRTC_TARGET_PC \ 26 | -DWEBRTC_ANDROID \ 27 | -DWEBRTC_LINUX 28 | 29 | LOCAL_C_INCLUDES := \ 30 | $(MY_ROOT_PATH) \ 31 | $(MY_CLIENT_PATH)/../ \ 32 | $(MY_WEBRTC_PATH) \ 33 | $(MY_THIRD_PARTY_PATH) \ 34 | $(MY_THIRD_PARTY_PATH)/libjingle \ 35 | $(MY_THIRD_PARTY_PATH)/webrtc/system_wrappers/interface \ 36 | $(MY_THIRD_PARTY_PATH)/webrtc/voice_engine/include \ 37 | $(MY_THIRD_PARTY_PATH)/webrtc/modules/interface \ 38 | $(MY_THIRD_PARTY_PATH)/webrtc/modules/utility/interface \ 39 | $(MY_THIRD_PARTY_PATH)/webrtc/modules/audio_device/main/interface \ 40 | $(MY_THIRD_PARTY_PATH)/webrtc/modules/audio_processing/include \ 41 | $(MY_THIRD_PARTY_PATH)/webrtc/voice_engine 42 | 43 | LOCAL_LDLIBS := -lgcc -llog 44 | LOCAL_PRELINK_MODULE := false 45 | include $(BUILD_STATIC_LIBRARY) 46 | 47 | ifeq ($(ENABLE_UNITTEST), 1) 48 | include $(CLEAR_VARS) 49 | LOCAL_ARM_MODE := arm 50 | LOCAL_MODULE := webrtcjingle_unittest 51 | 52 | LOCAL_CPP_EXTENSION:= .cc 53 | 54 | LOCAL_SRC_FILES := \ 55 | unit/webrtcjingletest.cc \ 56 | unit/sendmessagetask_unittest.cc \ 57 | unit/receivemessagetask_unittest.cc \ 58 | unit/clientsignalingthread_unittest.cc 59 | 60 | LOCAL_C_INCLUDES := \ 61 | $(MY_LIBJINGLE_C_INCLUDES) \ 62 | $(GTEST_C_INCLUDES) \ 63 | $(MY_CLIENT_PATH)/../ \ 64 | 65 | LOCAL_WHOLE_STATIC_LIBRARIES := \ 66 | libjingle_unittest_main \ 67 | libwebrtcjingle \ 68 | libjingle \ 69 | libwebrtc_voice \ 70 | libexpat_static \ 71 | libsrtp_static \ 72 | libssl_static 73 | 74 | LOCAL_CFLAGS += $(MY_UNITTEST_CFLAGS) 75 | LOCAL_LDLIBS := -llog -lOpenSLES 76 | include $(BUILD_SHARED_LIBRARY) 77 | endif #ENABLE_UNITTEST 1 78 | -------------------------------------------------------------------------------- /third_party/google-gflags/google-gflags.gyp: -------------------------------------------------------------------------------- 1 | # Copyright 2011 Google Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | { 16 | 'variables': { 17 | 'gflags_root': '<(DEPTH)/third_party/google-gflags', 18 | 'gflags_gen_arch_root': '<(gflags_root)/gen/arch/<(OS)/<(target_arch)', 19 | }, 20 | 'targets': [ 21 | { 22 | 'target_name': 'google-gflags', 23 | 'type': '<(library)', 24 | 'include_dirs': [ 25 | '<(gflags_gen_arch_root)/include/private', # For config.h 26 | '<(gflags_gen_arch_root)/include', # For configured files. 27 | '<(gflags_root)/src', # For everything else. 28 | ], 29 | 'defines': [ 30 | # These macros exist so flags and symbols are properly 31 | # exported when building DLLs. Since we don't build DLLs, we 32 | # need to disable them. 33 | 'GFLAGS_DLL_DECL=', 34 | 'GFLAGS_DLL_DECLARE_FLAG=', 35 | 'GFLAGS_DLL_DEFINE_FLAG=', 36 | ], 37 | 'direct_dependent_settings': { 38 | 'include_dirs': [ 39 | '<(gflags_gen_arch_root)/include', # For configured files. 40 | '<(gflags_root)/src', # For everything else. 41 | ], 42 | 'defines': [ 43 | 'GFLAGS_DLL_DECL=', 44 | 'GFLAGS_DLL_DECLARE_FLAG=', 45 | 'GFLAGS_DLL_DEFINE_FLAG=', 46 | ], 47 | }, 48 | 'sources': [ 49 | 'src/gflags.cc', 50 | 'src/gflags_completions.cc', 51 | 'src/gflags_reporting.cc', 52 | ], 53 | 'conditions': [ 54 | ['OS == "win"', { 55 | 'sources': [ 56 | 'src/windows/port.cc', 57 | ], 58 | }], 59 | ], 60 | }, 61 | ], 62 | } 63 | -------------------------------------------------------------------------------- /client/receivemessagetask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2011, Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #ifndef CLIENT_RECEIVEMESSAGETASK_H_ 29 | #define CLIENT_RECEIVEMESSAGETASK_H_ 30 | 31 | #include "talk/xmpp/xmpptask.h" 32 | #include "client/xmppmessage.h" 33 | 34 | namespace tuenti { 35 | 36 | class ReceiveMessageTask : public buzz::XmppTask { 37 | public: 38 | ReceiveMessageTask(buzz::XmppTaskParentInterface* parent, buzz::XmppEngine::HandlerLevel level); 39 | 40 | virtual bool HandleStanza(const buzz::XmlElement* stanza); 41 | virtual int ProcessStart(); 42 | 43 | sigslot::signal0<> SignalError; 44 | sigslot::signal1 SignalIncomingXmppMessage; 45 | }; 46 | 47 | } // namespace tuenti 48 | 49 | #endif // CLIENT_RECEIVEMESSAGETASK_H_ 50 | 51 | -------------------------------------------------------------------------------- /client/presenceouttask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2004--2005, Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #ifndef _PRESENCEOUTTASK_H_ 29 | #define _PRESENCEOUTTASK_H_ 30 | 31 | #include "talk/xmpp/xmppengine.h" 32 | #include "talk/xmpp/xmpptask.h" 33 | 34 | #include "client/status.h" 35 | 36 | namespace buzz { 37 | 38 | class PresenceOutTask: public XmppTask { 39 | public: 40 | explicit PresenceOutTask(XmppTaskParentInterface* parent) : 41 | XmppTask(parent) { 42 | } 43 | virtual ~PresenceOutTask() { 44 | } 45 | 46 | XmppReturnStatus Send(const Status & s); 47 | XmppReturnStatus SendDirected(const Jid & j, const Status & s); 48 | XmppReturnStatus SendProbe(const Jid& jid); 49 | 50 | virtual int ProcessStart(); 51 | private: 52 | XmlElement * TranslateStatus(const Status & s); 53 | }; 54 | } 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /client/sendmessagetask.cc: -------------------------------------------------------------------------------- 1 | 2 | #include "assert.h" 3 | #include "client/sendmessagetask.h" 4 | #include "talk/base/scoped_ptr.h" 5 | #include "talk/xmpp/constants.h" 6 | #include "talk/xmpp/jid.h" 7 | 8 | namespace tuenti { 9 | 10 | SendMessageTask::SendMessageTask(buzz::XmppTaskParentInterface* parent) 11 | : buzz::XmppTask(parent, buzz::XmppEngine::HL_SINGLE){ 12 | // 13 | } 14 | 15 | void SendMessageTask::Send(const tuenti::XmppMessage &msg) { 16 | pending_xmpp_msg_ = msg; 17 | } 18 | 19 | bool SendMessageTask::HandleStanza(const buzz::XmlElement* stanza) { 20 | //Should never hit this function, because sending is fire and forget. 21 | assert(false); 22 | return false; 23 | } 24 | 25 | //Sends the pending message and exits 26 | int SendMessageTask::ProcessStart() { 27 | buzz::XmlElement* stanza = new buzz::XmlElement(buzz::QN_MESSAGE); 28 | stanza->AddAttr(buzz::QN_TO, pending_xmpp_msg_.jid.BareJid().Str()); 29 | 30 | buzz::XmlElement* state = NULL; 31 | switch (pending_xmpp_msg_.state) { 32 | case XMPP_CHAT_NONE: 33 | //NO OP 34 | break; 35 | case XMPP_CHAT_ACTIVE: 36 | state = new buzz::XmlElement(buzz::QN_CS_ACTIVE); 37 | break; 38 | case XMPP_CHAT_COMPOSING: 39 | state = new buzz::XmlElement(buzz::QN_CS_COMPOSING); 40 | break; 41 | case XMPP_CHAT_PAUSED: 42 | state = new buzz::XmlElement(buzz::QN_CS_PAUSED); 43 | break; 44 | case XMPP_CHAT_INACTIVE: 45 | state = new buzz::XmlElement(buzz::QN_CS_INACTIVE); 46 | break; 47 | case XMPP_CHAT_GONE: 48 | state = new buzz::XmlElement(buzz::QN_CS_GONE); 49 | break; 50 | } 51 | stanza->AddAttr(buzz::QN_ID, task_id()); 52 | stanza->AddAttr(buzz::QN_TYPE, "chat"); 53 | 54 | if (pending_xmpp_msg_.body != ""){ 55 | buzz::XmlElement* body = new buzz::XmlElement(buzz::QN_BODY); 56 | body->SetBodyText(pending_xmpp_msg_.body); 57 | stanza->AddElement(body); 58 | } 59 | if(state){ 60 | stanza->AddElement(state); 61 | } 62 | 63 | SendStanza(stanza); 64 | 65 | //TODO: If message receipts worked. 66 | //buzz::XmlElement* requestAck = new buzz::XmlElement(buzz::QN_REQUEST, true); 67 | //stanza->AddElement(requestAck); 68 | //set_timeout_seconds(5); 69 | 70 | return STATE_DONE; 71 | } 72 | 73 | } // namespace tuenti 74 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm/vpx_config.asm: -------------------------------------------------------------------------------- 1 | @ This file was created from a .asm file 2 | @ using the ads2gas.pl script. 3 | .equ DO1STROUNDING, 0 4 | .equ ARCH_ARM , 1 5 | .equ ARCH_MIPS , 0 6 | .equ ARCH_X86 , 0 7 | .equ ARCH_X86_64 , 0 8 | .equ ARCH_PPC32 , 0 9 | .equ ARCH_PPC64 , 0 10 | .equ HAVE_EDSP , 1 11 | .equ HAVE_MEDIA , 0 12 | .equ HAVE_NEON , 0 13 | .equ HAVE_MIPS32 , 0 14 | .equ HAVE_MMX , 0 15 | .equ HAVE_SSE , 0 16 | .equ HAVE_SSE2 , 0 17 | .equ HAVE_SSE3 , 0 18 | .equ HAVE_SSSE3 , 0 19 | .equ HAVE_SSE4_1 , 0 20 | .equ HAVE_ALTIVEC , 0 21 | .equ HAVE_VPX_PORTS , 1 22 | .equ HAVE_STDINT_H , 1 23 | .equ HAVE_ALT_TREE_LAYOUT , 0 24 | .equ HAVE_PTHREAD_H , 1 25 | .equ HAVE_SYS_MMAN_H , 1 26 | .equ HAVE_UNISTD_H , 1 27 | .equ CONFIG_EXTERNAL_BUILD , 0 28 | .equ CONFIG_INSTALL_DOCS , 0 29 | .equ CONFIG_INSTALL_BINS , 0 30 | .equ CONFIG_INSTALL_LIBS , 0 31 | .equ CONFIG_INSTALL_SRCS , 0 32 | .equ CONFIG_DEBUG , 0 33 | .equ CONFIG_GPROF , 0 34 | .equ CONFIG_GCOV , 0 35 | .equ CONFIG_RVCT , 0 36 | .equ CONFIG_GCC , 1 37 | .equ CONFIG_MSVS , 0 38 | .equ CONFIG_PIC , 1 39 | .equ CONFIG_BIG_ENDIAN , 0 40 | .equ CONFIG_CODEC_SRCS , 0 41 | .equ CONFIG_DEBUG_LIBS , 0 42 | .equ CONFIG_FAST_UN.balignED , 1 43 | .equ CONFIG_MEM_MANAGER , 0 44 | .equ CONFIG_MEM_TRACKER , 0 45 | .equ CONFIG_MEM_CHECKS , 0 46 | .equ CONFIG_MD5 , 1 47 | .equ CONFIG_DEQUANT_TOKENS , 0 48 | .equ CONFIG_DC_RECON , 0 49 | .equ CONFIG_RUNTIME_CPU_DETECT , 0 50 | .equ CONFIG_POSTPROC , 1 51 | .equ CONFIG_MULTITHREAD , 1 52 | .equ CONFIG_INTERNAL_STATS , 0 53 | .equ CONFIG_VP8_ENCODER , 1 54 | .equ CONFIG_VP8_DECODER , 1 55 | .equ CONFIG_VP8 , 1 56 | .equ CONFIG_ENCODERS , 1 57 | .equ CONFIG_DECODERS , 1 58 | .equ CONFIG_STATIC_MSVCRT , 0 59 | .equ CONFIG_SPATIAL_RESAMPLING , 1 60 | .equ CONFIG_REALTIME_ONLY , 1 61 | .equ CONFIG_ONTHEFLY_BITPACKING , 0 62 | .equ CONFIG_ERROR_CONCEALMENT , 1 63 | .equ CONFIG_SHARED , 0 64 | .equ CONFIG_STATIC , 1 65 | .equ CONFIG_SMALL , 0 66 | .equ CONFIG_POSTPROC_VISUALIZER , 0 67 | .equ CONFIG_OS_SUPPORT , 1 68 | .equ CONFIG_UNIT_TESTS , 0 69 | .equ CONFIG_MULTI_RES_ENCODING , 0 70 | .equ CONFIG_TEMPORAL_DENOISING , 1 71 | .section .note.GNU-stack,"",%progbits 72 | @ This file was created from a .asm file 73 | @ using the ads2gas.pl script. 74 | .equ DO1STROUNDING, 0 75 | .section .note.GNU-stack,"",%progbits 76 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm: -------------------------------------------------------------------------------- 1 | @ This file was created from a .asm file 2 | @ using the ads2gas.pl script. 3 | .equ DO1STROUNDING, 0 4 | .equ ARCH_ARM , 1 5 | .equ ARCH_MIPS , 0 6 | .equ ARCH_X86 , 0 7 | .equ ARCH_X86_64 , 0 8 | .equ ARCH_PPC32 , 0 9 | .equ ARCH_PPC64 , 0 10 | .equ HAVE_EDSP , 1 11 | .equ HAVE_MEDIA , 1 12 | .equ HAVE_NEON , 1 13 | .equ HAVE_MIPS32 , 0 14 | .equ HAVE_MMX , 0 15 | .equ HAVE_SSE , 0 16 | .equ HAVE_SSE2 , 0 17 | .equ HAVE_SSE3 , 0 18 | .equ HAVE_SSSE3 , 0 19 | .equ HAVE_SSE4_1 , 0 20 | .equ HAVE_ALTIVEC , 0 21 | .equ HAVE_VPX_PORTS , 1 22 | .equ HAVE_STDINT_H , 1 23 | .equ HAVE_ALT_TREE_LAYOUT , 0 24 | .equ HAVE_PTHREAD_H , 1 25 | .equ HAVE_SYS_MMAN_H , 1 26 | .equ HAVE_UNISTD_H , 1 27 | .equ CONFIG_EXTERNAL_BUILD , 0 28 | .equ CONFIG_INSTALL_DOCS , 0 29 | .equ CONFIG_INSTALL_BINS , 0 30 | .equ CONFIG_INSTALL_LIBS , 0 31 | .equ CONFIG_INSTALL_SRCS , 0 32 | .equ CONFIG_DEBUG , 0 33 | .equ CONFIG_GPROF , 0 34 | .equ CONFIG_GCOV , 0 35 | .equ CONFIG_RVCT , 0 36 | .equ CONFIG_GCC , 1 37 | .equ CONFIG_MSVS , 0 38 | .equ CONFIG_PIC , 1 39 | .equ CONFIG_BIG_ENDIAN , 0 40 | .equ CONFIG_CODEC_SRCS , 0 41 | .equ CONFIG_DEBUG_LIBS , 0 42 | .equ CONFIG_FAST_UN.balignED , 1 43 | .equ CONFIG_MEM_MANAGER , 0 44 | .equ CONFIG_MEM_TRACKER , 0 45 | .equ CONFIG_MEM_CHECKS , 0 46 | .equ CONFIG_MD5 , 1 47 | .equ CONFIG_DEQUANT_TOKENS , 0 48 | .equ CONFIG_DC_RECON , 0 49 | .equ CONFIG_RUNTIME_CPU_DETECT , 1 50 | .equ CONFIG_POSTPROC , 1 51 | .equ CONFIG_MULTITHREAD , 1 52 | .equ CONFIG_INTERNAL_STATS , 0 53 | .equ CONFIG_VP8_ENCODER , 1 54 | .equ CONFIG_VP8_DECODER , 1 55 | .equ CONFIG_VP8 , 1 56 | .equ CONFIG_ENCODERS , 1 57 | .equ CONFIG_DECODERS , 1 58 | .equ CONFIG_STATIC_MSVCRT , 0 59 | .equ CONFIG_SPATIAL_RESAMPLING , 1 60 | .equ CONFIG_REALTIME_ONLY , 1 61 | .equ CONFIG_ONTHEFLY_BITPACKING , 0 62 | .equ CONFIG_ERROR_CONCEALMENT , 1 63 | .equ CONFIG_SHARED , 0 64 | .equ CONFIG_STATIC , 1 65 | .equ CONFIG_SMALL , 0 66 | .equ CONFIG_POSTPROC_VISUALIZER , 0 67 | .equ CONFIG_OS_SUPPORT , 1 68 | .equ CONFIG_UNIT_TESTS , 0 69 | .equ CONFIG_MULTI_RES_ENCODING , 0 70 | .equ CONFIG_TEMPORAL_DENOISING , 1 71 | .section .note.GNU-stack,"",%progbits 72 | @ This file was created from a .asm file 73 | @ using the ads2gas.pl script. 74 | .equ DO1STROUNDING, 0 75 | .section .note.GNU-stack,"",%progbits 76 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 4 2 | vp8_block_zbin EQU 20 3 | vp8_block_round EQU 28 4 | vp8_block_quant EQU 8 5 | vp8_block_quant_fast EQU 12 6 | vp8_block_zbin_extra EQU 32 7 | vp8_block_zrun_zbin_boost EQU 24 8 | vp8_block_quant_shift EQU 16 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 12 11 | vp8_blockd_dqcoeff EQU 4 12 | vp8_blockd_eob EQU 20 13 | vp8_block_base_src EQU 36 14 | vp8_block_src EQU 40 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 44 17 | vp8_blockd_predictor EQU 8 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 20 24 | vp8_writer_error EQU 24 25 | tokenextra_token EQU 6 26 | tokenextra_extra EQU 4 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 7 29 | TOKENEXTRA_SZ EQU 8 30 | vp8_extra_bit_struct_sz EQU 16 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 4 35 | vp8_extra_bit_struct_len EQU 8 36 | vp8_extra_bit_struct_base_val EQU 12 37 | vp8_comp_tplist EQU 170616 38 | vp8_comp_common EQU 104032 39 | vp8_comp_bc EQU 116144 40 | vp8_writer_sz EQU 36 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 4 43 | TOKENLIST_SZ EQU 8 44 | vp8_common_mb_rows EQU 2200 45 | END 46 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/asm_enc_offsets.asm: -------------------------------------------------------------------------------- 1 | vp8_block_coeff EQU 8 2 | vp8_block_zbin EQU 40 3 | vp8_block_round EQU 56 4 | vp8_block_quant EQU 16 5 | vp8_block_quant_fast EQU 24 6 | vp8_block_zbin_extra EQU 64 7 | vp8_block_zrun_zbin_boost EQU 48 8 | vp8_block_quant_shift EQU 32 9 | vp8_blockd_qcoeff EQU 0 10 | vp8_blockd_dequant EQU 24 11 | vp8_blockd_dqcoeff EQU 8 12 | vp8_blockd_eob EQU 40 13 | vp8_block_base_src EQU 72 14 | vp8_block_src EQU 80 15 | vp8_block_src_diff EQU 0 16 | vp8_block_src_stride EQU 84 17 | vp8_blockd_predictor EQU 16 18 | vp8_writer_lowvalue EQU 0 19 | vp8_writer_range EQU 4 20 | vp8_writer_count EQU 8 21 | vp8_writer_pos EQU 12 22 | vp8_writer_buffer EQU 16 23 | vp8_writer_buffer_end EQU 24 24 | vp8_writer_error EQU 32 25 | tokenextra_token EQU 10 26 | tokenextra_extra EQU 8 27 | tokenextra_context_tree EQU 0 28 | tokenextra_skip_eob_node EQU 11 29 | TOKENEXTRA_SZ EQU 16 30 | vp8_extra_bit_struct_sz EQU 24 31 | vp8_token_value EQU 0 32 | vp8_token_len EQU 4 33 | vp8_extra_bit_struct_tree EQU 0 34 | vp8_extra_bit_struct_prob EQU 8 35 | vp8_extra_bit_struct_len EQU 16 36 | vp8_extra_bit_struct_base_val EQU 20 37 | vp8_comp_tplist EQU 173160 38 | vp8_comp_common EQU 105952 39 | vp8_comp_bc EQU 118432 40 | vp8_writer_sz EQU 48 41 | tokenlist_start EQU 0 42 | tokenlist_stop EQU 8 43 | TOKENLIST_SZ EQU 16 44 | vp8_common_mb_rows EQU 2536 45 | END 46 | -------------------------------------------------------------------------------- /client/keepalivetask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2011, Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #ifndef CLIENT_KEEPALIVE_H_ 29 | #define CLIENT_KEEPALIVE_H_ 30 | 31 | #include "talk/base/messagehandler.h" 32 | #include "talk/base/messagequeue.h" 33 | #include "talk/xmpp/xmppclient.h" 34 | #include "talk/xmpp/xmpptask.h" 35 | 36 | namespace tuenti { 37 | 38 | class KeepAliveTask : public buzz::XmppTask, private talk_base::MessageHandler { 39 | public: 40 | KeepAliveTask(buzz::XmppClient* parent, 41 | talk_base::MessageQueue* message_queue, uint32 keepalive_period_millis); 42 | 43 | virtual bool HandleStanza(const buzz::XmlElement* stanza); 44 | virtual int ProcessStart(); 45 | 46 | private: 47 | // Implementation of MessageHandler. 48 | virtual void OnMessage(talk_base::Message* msg); 49 | 50 | talk_base::MessageQueue* message_queue_; 51 | uint32 keepalive_period_millis_; 52 | uint32 next_keepalive_time_; 53 | buzz::XmppClient* client_; 54 | }; 55 | 56 | } // namespace tuenti 57 | 58 | #endif // CLIENT_KEEPALIVETASK_H_ 59 | -------------------------------------------------------------------------------- /android/voice-client-example/src/main/java/com/tuenti/voice/example/ui/buddy/BuddyListAdapter.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.example.ui.buddy; 2 | 3 | import android.view.LayoutInflater; 4 | import com.github.kevinsawicki.wishlist.SingleTypeAdapter; 5 | import com.tuenti.voice.core.XmppPresenceAvailable; 6 | import com.tuenti.voice.core.XmppPresenceShow; 7 | import com.tuenti.voice.core.data.Buddy; 8 | import com.tuenti.voice.example.R; 9 | 10 | public class BuddyListAdapter 11 | extends SingleTypeAdapter 12 | { 13 | // --------------------------- CONSTRUCTORS --------------------------- 14 | 15 | public BuddyListAdapter( final LayoutInflater inflater, final Buddy[] buddies ) 16 | { 17 | super( inflater, R.layout.buddy_item ); 18 | setItems( buddies ); 19 | } 20 | 21 | @Override 22 | protected int[] getChildViewIds() 23 | { 24 | return new int[]{R.id.buddy_name, R.id.buddy_presence, R.id.buddy_status}; 25 | } 26 | 27 | @Override 28 | protected void update( final int position, final Buddy buddy ) 29 | { 30 | setText( 0, buddy.getName() ); 31 | imageView( 1 ).setImageResource( getImageResource( buddy ) ); 32 | setText( 2, getAvailable( buddy ) ); 33 | } 34 | 35 | private int getAvailable( final Buddy buddy ) 36 | { 37 | if ( XmppPresenceAvailable.XMPP_PRESENCE_AVAILABLE.equals( buddy.getAvailable() ) ) 38 | { 39 | if ( XmppPresenceShow.XMPP_PRESENCE_DND.equals( buddy.getShow() ) ) 40 | { 41 | return R.string.presence_busy; 42 | } 43 | if ( XmppPresenceShow.XMPP_PRESENCE_AWAY.equals( buddy.getShow() ) ) 44 | { 45 | return R.string.presence_away; 46 | } 47 | return R.string.presence_available; 48 | } 49 | return R.string.presence_offline; 50 | } 51 | 52 | private int getImageResource( final Buddy buddy ) 53 | { 54 | if ( XmppPresenceAvailable.XMPP_PRESENCE_AVAILABLE.equals( buddy.getAvailable() ) ) 55 | { 56 | if ( XmppPresenceShow.XMPP_PRESENCE_DND.equals( buddy.getShow() ) ) 57 | { 58 | return R.drawable.presence_busy; 59 | } 60 | if ( XmppPresenceShow.XMPP_PRESENCE_AWAY.equals( buddy.getShow() ) ) 61 | { 62 | return R.drawable.presence_away; 63 | } 64 | return R.drawable.presence_online; 65 | } 66 | return R.drawable.presence_offline; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/ViewController.mm: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // VoiceClientExample 4 | // 5 | // Created by Luke Weber on 12/17/12. 6 | // Copyright (c) 2012 Luke Weber. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "VoiceClientDelegate.h" 11 | #import "AppDelegate.h" 12 | 13 | @interface ViewController() 14 | { 15 | AppDelegate* appDelegate; 16 | } 17 | @end 18 | 19 | @implementation ViewController 20 | 21 | //@synthesize loginButton = loginButton_; 22 | 23 | - (void)viewDidLoad 24 | { 25 | [super viewDidLoad]; 26 | appDelegate = (AppDelegate*) [UIApplication sharedApplication].delegate; 27 | // Do any additional setup after loading the view, typically from a nib. 28 | [self statsUpdate:@"Sender:\nunknown stats\nReceiver:\nunknown stats\n"]; 29 | } 30 | 31 | - (void)didReceiveMemoryWarning 32 | { 33 | [super didReceiveMemoryWarning]; 34 | // Dispose of any resources that can be recreated. 35 | } 36 | 37 | - (IBAction)init:(id)sender{ 38 | printf("init"); 39 | [appDelegate setupStream]; 40 | #ifndef IOS_XMPP_FRAMEWORK 41 | VoiceClientDelegate* vc = VoiceClientDelegate::getInstance(); 42 | (void)vc; 43 | #endif 44 | } 45 | 46 | - (IBAction)login:(id)sender{ 47 | printf("logging in"); 48 | [appDelegate connect]; 49 | #ifndef IOS_XMPP_FRAMEWORK 50 | VoiceClientDelegate* vc = VoiceClientDelegate::getInstance(); 51 | vc->Login(); 52 | #endif 53 | } 54 | 55 | - (IBAction)call:(id)sender{ 56 | printf("calling"); 57 | #ifdef IOS_XMPP_FRAMEWORK 58 | [appDelegate call:@"user@gmail.com"]; 59 | #else 60 | VoiceClientDelegate* vc = VoiceClientDelegate::getInstance(); 61 | vc->Call(); 62 | #endif 63 | 64 | } 65 | 66 | - (IBAction)logout:(id)sender{ 67 | printf("logout"); 68 | #ifdef IOS_XMPP_FRAMEWORK 69 | [appDelegate disconnect]; 70 | #else 71 | VoiceClientDelegate* vc = VoiceClientDelegate::getInstance(); 72 | vc->Logout(); 73 | #endif 74 | } 75 | 76 | - (void)statsUpdate:(NSString *)stats { 77 | dispatch_async(dispatch_get_main_queue(), ^{ 78 | unsigned numberOfLines, index, stringLength = [stats length]; 79 | for (index = 0, numberOfLines = 0; index < stringLength; numberOfLines++) 80 | index = NSMaxRange([stats lineRangeForRange:NSMakeRange(index, 0)]); 81 | [self->statsLabel_ setNumberOfLines:numberOfLines]; 82 | [self->statsLabel_ setText:stats]; 83 | }); 84 | } 85 | 86 | - (void)dealloc { 87 | 88 | } 89 | 90 | - (void)viewDidUnload { 91 | statsLabel_ = nil; 92 | [super viewDidUnload]; 93 | } 94 | @end 95 | 96 | -------------------------------------------------------------------------------- /ios/VoiceClientExample/VoiceClientDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // VoiceClientDelegate.h 3 | // webrtcjingle 4 | // 5 | // Created by Luke Weber on 12/17/12. 6 | // 7 | // 8 | 9 | #ifndef webrtcjingle_VoiceClientDelegate_h 10 | #define webrtcjingle_VoiceClientDelegate_h 11 | 12 | #include "client/client_defines.h" 13 | 14 | #ifdef IOS_XMPP_FRAMEWORK 15 | #ifdef __OBJC__ 16 | @class XmppClientDelegate; 17 | typedef XmppClientDelegate * XmppClientDelegatePtr; 18 | #endif 19 | namespace tuenti { 20 | class TXmppPump; 21 | class VoiceClient; 22 | }; 23 | namespace tictok { 24 | class IOSXmppClient; 25 | }; 26 | namespace talk_base 27 | { 28 | class Thread; 29 | }; 30 | #endif 31 | 32 | class VoiceClientDelegate { 33 | 34 | public: 35 | static VoiceClientDelegate *getInstance(); 36 | #ifdef IOS_XMPP_FRAMEWORK 37 | #ifdef __OBJC__ 38 | static VoiceClientDelegate *Create(XmppClientDelegatePtr xmppClientDelegate); 39 | #endif 40 | #endif 41 | ~VoiceClientDelegate(); 42 | void Init(); 43 | void Login(); 44 | void Logout(); 45 | void Call(const char *remote_jid); 46 | void OnSignalCallStateChange(int state, const char *remote_jid, int call_id); 47 | void OnSignalCallTrackingId(int call_id, const char *call_tracker_id); 48 | void OnSignalAudioPlayout(); 49 | void OnSignalCallError(int error, int call_id); 50 | void OnSignalXmppError(int error); 51 | void OnSignalXmppSocketClose(int state); 52 | void OnSignalXmppStateChange(int state); 53 | void OnPresenceChanged(const std::string& jid, int available, int show); 54 | void OnSignalBuddyListRemove(const std::string& jid); 55 | void OnSignalBuddyListAdd(const std::string& jid, const std::string& nick, 56 | int available, int show); 57 | void OnSignalStatsUpdate(const char *stats); 58 | #ifdef IOS_XMPP_FRAMEWORK 59 | talk_base::Thread* GetSignalThread(); 60 | 61 | tictok::IOSXmppClient* GetClient() 62 | { 63 | return client_; 64 | } 65 | void SetClient(tictok::IOSXmppClient* client) 66 | { 67 | client_ = client; 68 | } 69 | void WriteOutput(const char* bytes, size_t len); 70 | void StartTls(const std::string& domain); 71 | void CloseConnection(); 72 | #endif 73 | private: 74 | static VoiceClientDelegate * voiceClientDelegateInstance_; 75 | tuenti::VoiceClient *voiceClient_; 76 | tuenti::StunConfig stun_config_; 77 | #ifdef IOS_XMPP_FRAMEWORK 78 | tictok::IOSXmppClient* client_; 79 | #ifdef __OBJC__ 80 | XmppClientDelegatePtr xmppClientDelegate_; 81 | #endif 82 | #endif 83 | }; 84 | 85 | #endif // webrtcjingle_VoiceClientDelegate_h 86 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 1 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 0 15 | #define ARCH_X86_64 0 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 1 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 0 23 | #define HAVE_SSE 0 24 | #define HAVE_SSE2 0 25 | #define HAVE_SSE3 0 26 | #define HAVE_SSSE3 0 27 | #define HAVE_SSE4_1 0 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 0 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/x64/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 0 15 | #define ARCH_X86_64 1 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/ia32/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 1 15 | #define ARCH_X86_64 0 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/mac/x64/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 0 15 | #define ARCH_X86_64 1 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/ia32/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 1 15 | #define ARCH_X86_64 0 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 0 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 0 33 | #define HAVE_SYS_MMAN_H 0 34 | #define HAVE_UNISTD_H 0 35 | #define CONFIG_EXTERNAL_BUILD 1 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 0 45 | #define CONFIG_MSVS 1 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 1 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/win/x64/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 0 15 | #define ARCH_X86_64 1 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 0 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 0 33 | #define HAVE_SYS_MMAN_H 0 34 | #define HAVE_UNISTD_H 0 35 | #define CONFIG_EXTERNAL_BUILD 1 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 0 45 | #define CONFIG_MSVS 1 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 1 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/arm-neon/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 1 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 0 15 | #define ARCH_X86_64 0 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 1 19 | #define HAVE_MEDIA 1 20 | #define HAVE_NEON 1 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 0 23 | #define HAVE_SSE 0 24 | #define HAVE_SSE2 0 25 | #define HAVE_SSE3 0 26 | #define HAVE_SSSE3 0 27 | #define HAVE_SSE4_1 0 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 0 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /third_party/libvpx/source/config/linux/ia32/vpx_config.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ 2 | /* */ 3 | /* Use of this source code is governed by a BSD-style license */ 4 | /* that can be found in the LICENSE file in the root of the source */ 5 | /* tree. An additional intellectual property rights grant can be found */ 6 | /* in the file PATENTS. All contributing project authors may */ 7 | /* be found in the AUTHORS file in the root of the source tree. */ 8 | /* This file automatically generated by configure. Do not edit! */ 9 | #ifndef VPX_CONFIG_H 10 | #define VPX_CONFIG_H 11 | #define RESTRICT 12 | #define ARCH_ARM 0 13 | #define ARCH_MIPS 0 14 | #define ARCH_X86 1 15 | #define ARCH_X86_64 0 16 | #define ARCH_PPC32 0 17 | #define ARCH_PPC64 0 18 | #define HAVE_EDSP 0 19 | #define HAVE_MEDIA 0 20 | #define HAVE_NEON 0 21 | #define HAVE_MIPS32 0 22 | #define HAVE_MMX 1 23 | #define HAVE_SSE 1 24 | #define HAVE_SSE2 1 25 | #define HAVE_SSE3 1 26 | #define HAVE_SSSE3 1 27 | #define HAVE_SSE4_1 1 28 | #define HAVE_ALTIVEC 0 29 | #define HAVE_VPX_PORTS 1 30 | #define HAVE_STDINT_H 1 31 | #define HAVE_ALT_TREE_LAYOUT 0 32 | #define HAVE_PTHREAD_H 1 33 | #define HAVE_SYS_MMAN_H 1 34 | #define HAVE_UNISTD_H 1 35 | #define CONFIG_EXTERNAL_BUILD 0 36 | #define CONFIG_INSTALL_DOCS 0 37 | #define CONFIG_INSTALL_BINS 0 38 | #define CONFIG_INSTALL_LIBS 0 39 | #define CONFIG_INSTALL_SRCS 0 40 | #define CONFIG_DEBUG 0 41 | #define CONFIG_GPROF 0 42 | #define CONFIG_GCOV 0 43 | #define CONFIG_RVCT 0 44 | #define CONFIG_GCC 1 45 | #define CONFIG_MSVS 0 46 | #define CONFIG_PIC 1 47 | #define CONFIG_BIG_ENDIAN 0 48 | #define CONFIG_CODEC_SRCS 0 49 | #define CONFIG_DEBUG_LIBS 0 50 | #define CONFIG_FAST_UNALIGNED 1 51 | #define CONFIG_MEM_MANAGER 0 52 | #define CONFIG_MEM_TRACKER 0 53 | #define CONFIG_MEM_CHECKS 0 54 | #define CONFIG_MD5 1 55 | #define CONFIG_DEQUANT_TOKENS 0 56 | #define CONFIG_DC_RECON 0 57 | #define CONFIG_RUNTIME_CPU_DETECT 1 58 | #define CONFIG_POSTPROC 1 59 | #define CONFIG_MULTITHREAD 1 60 | #define CONFIG_INTERNAL_STATS 0 61 | #define CONFIG_VP8_ENCODER 1 62 | #define CONFIG_VP8_DECODER 1 63 | #define CONFIG_VP8 1 64 | #define CONFIG_ENCODERS 1 65 | #define CONFIG_DECODERS 1 66 | #define CONFIG_STATIC_MSVCRT 0 67 | #define CONFIG_SPATIAL_RESAMPLING 1 68 | #define CONFIG_REALTIME_ONLY 1 69 | #define CONFIG_ONTHEFLY_BITPACKING 0 70 | #define CONFIG_ERROR_CONCEALMENT 1 71 | #define CONFIG_SHARED 0 72 | #define CONFIG_STATIC 1 73 | #define CONFIG_SMALL 0 74 | #define CONFIG_POSTPROC_VISUALIZER 0 75 | #define CONFIG_OS_SUPPORT 1 76 | #define CONFIG_UNIT_TESTS 0 77 | #define CONFIG_MULTI_RES_ENCODING 0 78 | #define CONFIG_TEMPORAL_DENOISING 1 79 | #endif /* VPX_CONFIG_H */ 80 | -------------------------------------------------------------------------------- /android/voice-client-aidl/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | com.tuenti.voice 9 | voice-parent 10 | 1.0-SNAPSHOT 11 | ../pom.xml 12 | 13 | voice-aidl 14 | 1.0-SNAPSHOT 15 | apklib 16 | Tuenti Voice Client AIDL 17 | 18 | 19 | 20 | com.google.android 21 | android 22 | provided 23 | 24 | 25 | ${project.groupId} 26 | voice-core 27 | ${project.version} 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | maven-compiler-plugin 37 | 38 | 39 | com.jayway.maven.plugins.android.generation2 40 | android-maven-plugin 41 | true 42 | 43 | 44 | org.codehaus.mojo 45 | build-helper-maven-plugin 46 | ${build-helper-maven-plugin.version} 47 | 48 | 49 | package 50 | 51 | attach-artifact 52 | 53 | 54 | 55 | 56 | jar 57 | ${project.build.directory}/${project.build.finalName}.jar 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /android/voice-client-aidl/src/main/java/com/tuenti/voice/core/service/VoiceClientService.java: -------------------------------------------------------------------------------- 1 | package com.tuenti.voice.core.service; 2 | 3 | import android.app.Service; 4 | import android.content.Intent; 5 | import android.os.IBinder; 6 | import com.tuenti.voice.core.VoiceClient; 7 | import com.tuenti.voice.core.manager.BuddyManagerImpl; 8 | import com.tuenti.voice.core.manager.CallManagerImpl; 9 | import com.tuenti.voice.core.manager.ConnectionManagerImpl; 10 | import com.tuenti.voice.core.manager.StatManagerImpl; 11 | 12 | public class VoiceClientService 13 | extends Service 14 | { 15 | // ------------------------------ FIELDS ------------------------------ 16 | 17 | private BuddyManagerImpl mBuddyManager; 18 | 19 | private CallManagerImpl mCallManager; 20 | 21 | private VoiceClient mClient; 22 | 23 | private ConnectionManagerImpl mConnectionManager; 24 | 25 | private StatManagerImpl mStatManager; 26 | 27 | // -------------------------- OTHER METHODS -------------------------- 28 | 29 | @Override 30 | public IBinder onBind( Intent intent ) 31 | { 32 | if ( IConnectionService.class.getName().equals( intent.getAction() ) ) 33 | { 34 | return mConnectionManager.onBind(); 35 | } 36 | if ( IBuddyService.class.getName().equals( intent.getAction() ) ) 37 | { 38 | return mBuddyManager.onBind(); 39 | } 40 | if ( ICallService.class.getName().equals( intent.getAction() ) ) 41 | { 42 | return mCallManager.onBind(); 43 | } 44 | if ( IStatService.class.getName().equals( intent.getAction() ) ) 45 | { 46 | return mStatManager.onBind(); 47 | } 48 | return null; 49 | } 50 | 51 | @Override 52 | public void onCreate() 53 | { 54 | super.onCreate(); 55 | 56 | // VoiceClient should only be created here 57 | // probably init here too. 58 | mClient = new VoiceClient(); 59 | 60 | // init managers 61 | mConnectionManager = new ConnectionManagerImpl( mClient ); 62 | mBuddyManager = new BuddyManagerImpl( mClient ); 63 | mCallManager = new CallManagerImpl( mClient, getBaseContext() ); 64 | mStatManager = new StatManagerImpl( mClient ); 65 | 66 | mClient.init(getApplicationContext()); 67 | } 68 | 69 | @Override 70 | public void onDestroy() 71 | { 72 | // destroy the client 73 | mClient.release(); 74 | mClient = null; 75 | 76 | super.onDestroy(); 77 | } 78 | 79 | @Override 80 | public int onStartCommand( Intent intent, int flags, int startId ) 81 | { 82 | return START_STICKY; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /client/threadpriorityhandler.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * webrtc-jingle 3 | * Copyright 2012 Tuenti Technologies 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | #include 28 | #include 29 | #include "client/threadpriorityhandler.h" 30 | #include "client/logging.h" 31 | 32 | #ifdef ANDROID 33 | #include 34 | #endif 35 | 36 | namespace tuenti { 37 | 38 | #ifdef ANDROID 39 | JavaVM *ThreadPriorityHandler::jvm_ = NULL; 40 | 41 | void ThreadPriorityHandler::Init(JavaVM* jvm) { 42 | jvm_ = jvm; 43 | } 44 | #endif 45 | 46 | void ThreadPriorityHandler::SetPriority(int tid, int priority) { 47 | #ifdef ANDROID 48 | JNIEnv *env; 49 | int status = jvm_->AttachCurrentThread(&env, NULL); 50 | if (status < 0) { 51 | LOGE("failed to attach native thread"); 52 | return; 53 | } 54 | jclass clazz = (jclass) env->NewGlobalRef( 55 | env->FindClass("android/os/Process")); 56 | if (!clazz) { 57 | LOGE("Failed to get class reference"); 58 | jvm_->DetachCurrentThread(); 59 | return; 60 | } 61 | 62 | jmethodID method = env->GetStaticMethodID(clazz, "setThreadPriority", 63 | "(II)V"); 64 | if (!method) { 65 | LOGE("Failed to get method ID"); 66 | jvm_->DetachCurrentThread(); 67 | return; 68 | } 69 | env->CallStaticVoidMethod(clazz, method, (jint) tid, (jint) priority); 70 | jvm_->DetachCurrentThread(); 71 | #endif 72 | return; 73 | } 74 | } 75 | --------------------------------------------------------------------------------