├── .gitignore ├── LICENSE ├── README.md ├── baresip ├── include │ ├── baresip.h │ ├── baresip_base_config.h │ ├── baresip_conference.h │ ├── baresip_dialog_info_direction.h │ ├── baresip_dialog_info_status.h │ ├── baresip_presence_status.h │ ├── baresip_recorder.h │ ├── baresip_zrtp.h │ └── module.h ├── mk │ └── win32-tc │ │ ├── baresip.bdsproj │ │ └── baresip.cpp ├── modules │ ├── aufile │ │ └── aufile.c │ ├── aufile_mm │ │ └── aufile_mm.c │ ├── avcodec │ │ ├── avcodec.c │ │ ├── avcodec.h │ │ ├── avcodec_sdp.c │ │ ├── decode.c │ │ ├── encode.c │ │ ├── h263.c │ │ ├── h264.c │ │ └── h26x.h │ ├── avformat │ │ ├── avformat.c │ │ ├── avformat_audio.c │ │ ├── avformat_video.c │ │ └── mod_avformat.h │ ├── colorbar_generator │ │ └── colorbar_generator.c │ ├── colorbar_generator_animated │ │ └── colorbar_generator_animated.c │ ├── dialog_info │ │ ├── dialog_info.c │ │ ├── dialog_info.h │ │ └── dialog_info_subscriber.c │ ├── dshow │ │ └── dshow.cpp │ ├── g711 │ │ └── g711.c │ ├── g722 │ │ └── g722.c │ ├── g726_32 │ │ ├── g726.c │ │ ├── g726.h │ │ └── g726_32.c │ ├── gsm │ │ └── gsm.c │ ├── gzrtp │ │ ├── gzrtp.cpp │ │ ├── gzrtp_stream.cpp │ │ ├── gzrtp_stream.h │ │ ├── messages.cpp │ │ ├── module.mk │ │ ├── session.cpp │ │ ├── session.h │ │ ├── srtp.cpp │ │ └── srtp.h │ ├── ice │ │ └── ice.c │ ├── l16 │ │ └── l16.c │ ├── mixminus │ │ └── mixminus.c │ ├── mwi │ │ └── mwi.c │ ├── nullaudio │ │ ├── nullaudio.c │ │ ├── nullaudio.h │ │ ├── nullaudio_play.c │ │ └── nullaudio_src.c │ ├── nullvideo │ │ └── nullvideo.c │ ├── opus │ │ ├── opus.c │ │ ├── opus_decode.c │ │ ├── opus_encode.c │ │ ├── opus_priv.h │ │ └── opus_sdp.c │ ├── portaudio │ │ └── portaudio.c │ ├── presence │ │ ├── notifier.c │ │ ├── presence.c │ │ ├── presence.h │ │ └── subscriber.c │ ├── recorder │ │ ├── recorder.c │ │ ├── wavfile.c │ │ └── wavfile.h │ ├── sdl │ │ ├── CMakeLists.txt │ │ └── sdl.c │ ├── selfview │ │ └── selfview.c │ ├── softvol │ │ ├── agc.c │ │ ├── agc.h │ │ ├── gate.c │ │ ├── gate.h │ │ └── softvol.c │ ├── speex │ │ └── speex.c │ ├── speex_aec │ │ └── speex_aec.c │ ├── speex_pp │ │ └── speex_pp.c │ ├── srtp │ │ ├── sdes.c │ │ ├── sdes.h │ │ └── srtp_srtp.c │ ├── stun │ │ └── stun.c │ ├── webrtc_aec │ │ └── webrtc_aec.c │ └── winwave2 │ │ ├── winwave2.c │ │ ├── winwave2.h │ │ ├── winwave2_play.c │ │ └── winwave2_src.c └── src │ ├── account.c │ ├── aucodec.c │ ├── audio.c │ ├── aufilt.c │ ├── auplay.c │ ├── ausrc.c │ ├── call.c │ ├── cmd.c │ ├── conf.c │ ├── config.c │ ├── contact.c │ ├── core.h │ ├── dtmf.c │ ├── dtmf.h │ ├── magic.h │ ├── mctrl.c │ ├── menc.c │ ├── message.c │ ├── mnat.c │ ├── module.c │ ├── net.c │ ├── paging_tx.c │ ├── play.c │ ├── reg.c │ ├── rtpkeep.c │ ├── sdp.c │ ├── sipreq.c │ ├── static.c │ ├── stream.c │ ├── tone_generator.c │ ├── tone_generator.h │ ├── ua.c │ ├── vidcodec.c │ ├── video.c │ ├── vidfilt.c │ ├── vidisp.c │ └── vidsrc.c ├── bccsdk └── strmiids.lib ├── common ├── BtnController.h ├── Colors.cpp ├── Colors.h ├── KeybKeys.cpp ├── KeybKeys.h ├── MathUtils.cpp ├── MathUtils.h ├── Mutex.h ├── NetworkUtils.cpp ├── NetworkUtils.h ├── OS.cpp ├── OS.h ├── Observable.h ├── Observer.h ├── ScopedLock.h ├── StaticCheck.h ├── TelecomUtils.cpp ├── TelecomUtils.h ├── TimeCounter.h ├── TrayIcon.cpp ├── TrayIcon.h ├── Unicode.cpp ├── Unicode.h ├── Utilities.cpp ├── Utilities.h ├── WindowsMessageFilter.cpp ├── WindowsMessageFilter.h ├── base64.cpp ├── base64.h ├── common.bdsproj ├── common.cpp ├── ecc.cpp ├── ecc.h ├── fifo.h └── singleton.h ├── cppcheck └── tSIP.cppcheck ├── ffmpeg ├── dll2lib.bat ├── include │ ├── COPYING.LGPLv3 │ ├── libavcodec │ │ ├── avcodec.h │ │ ├── codec.h │ │ ├── codec_desc.h │ │ ├── codec_id.h │ │ ├── codec_par.h │ │ ├── defs.h │ │ ├── packet.h │ │ ├── version.h │ │ └── version_major.h │ ├── libavdevice │ │ ├── avdevice.h │ │ ├── version.h │ │ └── version_major.h │ ├── libavformat │ │ ├── avformat.h │ │ ├── avio.h │ │ ├── version.h │ │ └── version_major.h │ ├── libavutil │ │ ├── attributes.h │ │ ├── avconfig.h │ │ ├── avutil.h │ │ ├── buffer.h │ │ ├── channel_layout.h │ │ ├── common.h │ │ ├── dict.h │ │ ├── error.h │ │ ├── frame.h │ │ ├── hwcontext.h │ │ ├── intfloat.h │ │ ├── log.h │ │ ├── macros.h │ │ ├── mathematics.h │ │ ├── mem.h │ │ ├── opt.h │ │ ├── pixdesc.h │ │ ├── pixfmt.h │ │ ├── rational.h │ │ ├── samplefmt.h │ │ └── version.h │ └── libswresample │ │ ├── swresample.h │ │ ├── version.h │ │ └── version_major.h ├── info.txt └── lib │ ├── avcodec-59.lib │ ├── avdevice-59.lib │ ├── avformat-59.lib │ ├── avutil-57.lib │ ├── info.txt │ └── swresample-4.lib ├── g722 ├── GNUmakefile ├── Makefile ├── README.md ├── g722.bdsproj ├── g722.cpp ├── g722.h ├── g722_decode.c ├── g722_decoder.h ├── g722_encode.c ├── g722_encoder.h ├── g722_private.h ├── test.c ├── test.checksum └── test.g722 ├── gsm ├── COPYRIGHT ├── README ├── build │ ├── gsm.bdsproj │ └── gsm.cpp ├── inc │ ├── config.h │ ├── gsm.h │ ├── gsm.h.orig │ ├── private.h │ ├── proto.h │ ├── toast.h │ └── unproto.h └── src │ ├── add.c │ ├── code.c │ ├── debug.c │ ├── decode.c │ ├── gsm_create.c │ ├── gsm_decode.c │ ├── gsm_destroy.c │ ├── gsm_encode.c │ ├── gsm_explode.c │ ├── gsm_implode.c │ ├── gsm_option.c │ ├── gsm_print.c │ ├── long_term.c │ ├── lpc.c │ ├── preprocess.c │ ├── rpe.c │ ├── short_term.c │ ├── table.c │ ├── toast.c │ ├── toast_alaw.c │ ├── toast_audio.c │ ├── toast_lin.c │ └── toast_ulaw.c ├── inttypes └── inttypes.h ├── jsoncpp ├── AUTHORS ├── README.txt ├── doc │ ├── doxyfile.in │ ├── footer.html │ ├── header.html │ ├── jsoncpp.dox │ ├── readme.txt │ ├── roadmap.dox │ └── sconscript ├── include │ └── json │ │ ├── autolink.h │ │ ├── config.h │ │ ├── forwards.h │ │ ├── json.h │ │ ├── reader.h │ │ ├── value.h │ │ └── writer.h ├── jsoncpp.bdsproj ├── jsoncpp.cpp └── src │ ├── jsontestrunner │ ├── jsontest.vcproj │ ├── main.cpp │ └── sconscript │ └── lib_json │ ├── json_batchallocator.h │ ├── json_internalarray.inl │ ├── json_internalmap.inl │ ├── json_reader.cpp │ ├── json_value.cpp │ ├── json_valueiterator.inl │ ├── json_writer.cpp │ ├── lib_json.vcproj │ └── sconscript ├── lua ├── Makefile ├── README ├── doc │ ├── contents.html │ ├── index.css │ ├── logo.gif │ ├── lua.1 │ ├── lua.css │ ├── luac.1 │ ├── manual.css │ ├── manual.html │ ├── osi-certified-72x60.png │ └── readme.html ├── src │ ├── Makefile │ ├── lapi.c │ ├── lapi.h │ ├── lauxlib.c │ ├── lauxlib.h │ ├── lbaselib.c │ ├── lbitlib.c │ ├── lcode.c │ ├── lcode.h │ ├── lcorolib.c │ ├── lctype.c │ ├── lctype.h │ ├── ldblib.c │ ├── ldebug.c │ ├── ldebug.h │ ├── ldo.c │ ├── ldo.h │ ├── ldump.c │ ├── lfunc.c │ ├── lfunc.h │ ├── lgc.c │ ├── lgc.h │ ├── linit.c │ ├── liolib.c │ ├── llex.c │ ├── llex.h │ ├── llimits.h │ ├── lmathlib.c │ ├── lmem.c │ ├── lmem.h │ ├── loadlib.c │ ├── lobject.c │ ├── lobject.h │ ├── lopcodes.c │ ├── lopcodes.h │ ├── loslib.c │ ├── lparser.c │ ├── lparser.h │ ├── lprefix.h │ ├── lstate.c │ ├── lstate.h │ ├── lstring.c │ ├── lstring.h │ ├── lstrlib.c │ ├── ltable.c │ ├── ltable.h │ ├── ltablib.c │ ├── ltm.c │ ├── ltm.h │ ├── lua.c │ ├── lua.h │ ├── lua.hpp │ ├── luac.c │ ├── luaconf.h │ ├── lualib.h │ ├── lundump.c │ ├── lundump.h │ ├── lutf8lib.c │ ├── lvm.c │ ├── lvm.h │ ├── lzio.c │ └── lzio.h └── turbo_cpp │ ├── lua_static.bdsproj │ └── lua_static.cpp ├── openssl ├── inc32 │ └── openssl │ │ ├── __DECC_INCLUDE_EPILOGUE.H │ │ ├── __DECC_INCLUDE_PROLOGUE.H │ │ ├── aes.h │ │ ├── applink.c │ │ ├── asn1.h │ │ ├── asn1_mac.h │ │ ├── asn1err.h │ │ ├── asn1t.h │ │ ├── async.h │ │ ├── asyncerr.h │ │ ├── bio.h │ │ ├── bioerr.h │ │ ├── blowfish.h │ │ ├── bn.h │ │ ├── bnerr.h │ │ ├── buffer.h │ │ ├── buffererr.h │ │ ├── camellia.h │ │ ├── cast.h │ │ ├── cmac.h │ │ ├── cms.h │ │ ├── cmserr.h │ │ ├── comp.h │ │ ├── comperr.h │ │ ├── conf.h │ │ ├── conf_api.h │ │ ├── conferr.h │ │ ├── crypto.h │ │ ├── cryptoerr.h │ │ ├── ct.h │ │ ├── cterr.h │ │ ├── des.h │ │ ├── dh.h │ │ ├── dherr.h │ │ ├── dsa.h │ │ ├── dsaerr.h │ │ ├── dtls1.h │ │ ├── e_os2.h │ │ ├── ebcdic.h │ │ ├── ec.h │ │ ├── ecdh.h │ │ ├── ecdsa.h │ │ ├── ecerr.h │ │ ├── engine.h │ │ ├── engineerr.h │ │ ├── err.h │ │ ├── evp.h │ │ ├── evperr.h │ │ ├── hmac.h │ │ ├── idea.h │ │ ├── kdf.h │ │ ├── kdferr.h │ │ ├── lhash.h │ │ ├── md2.h │ │ ├── md4.h │ │ ├── md5.h │ │ ├── mdc2.h │ │ ├── modes.h │ │ ├── obj_mac.h │ │ ├── objects.h │ │ ├── objectserr.h │ │ ├── ocsp.h │ │ ├── ocsperr.h │ │ ├── opensslconf.h │ │ ├── opensslv.h │ │ ├── ossl_typ.h │ │ ├── pem.h │ │ ├── pem2.h │ │ ├── pemerr.h │ │ ├── pkcs12.h │ │ ├── pkcs12err.h │ │ ├── pkcs7.h │ │ ├── pkcs7err.h │ │ ├── rand.h │ │ ├── rand_drbg.h │ │ ├── randerr.h │ │ ├── rc2.h │ │ ├── rc4.h │ │ ├── rc5.h │ │ ├── ripemd.h │ │ ├── rsa.h │ │ ├── rsaerr.h │ │ ├── safestack.h │ │ ├── seed.h │ │ ├── sha.h │ │ ├── srp.h │ │ ├── srtp.h │ │ ├── ssl.h │ │ ├── ssl2.h │ │ ├── ssl3.h │ │ ├── sslerr.h │ │ ├── stack.h │ │ ├── store.h │ │ ├── storeerr.h │ │ ├── symhacks.h │ │ ├── tls1.h │ │ ├── ts.h │ │ ├── tserr.h │ │ ├── txt_db.h │ │ ├── ui.h │ │ ├── uierr.h │ │ ├── whrlpool.h │ │ ├── x509.h │ │ ├── x509_vfy.h │ │ ├── x509err.h │ │ ├── x509v3.h │ │ └── x509v3err.h └── out32 │ ├── libcrypto-1_1.lib │ └── libssl-1_1.lib ├── opus ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── Makefile.in ├── Makefile.mips ├── Makefile.unix ├── NEWS ├── README ├── aclocal.m4 ├── celt │ ├── _kiss_fft_guts.h │ ├── arch.h │ ├── arm │ │ ├── arm2gnu.pl │ │ ├── arm_celt_map.c │ │ ├── armcpu.c │ │ ├── armcpu.h │ │ ├── armopts.s.in │ │ ├── celt_ne10_fft.c │ │ ├── celt_ne10_mdct.c │ │ ├── celt_neon_intr.c │ │ ├── celt_pitch_xcorr_arm-gnu.S │ │ ├── celt_pitch_xcorr_arm.s │ │ ├── fft_arm.h │ │ ├── fixed_arm64.h │ │ ├── fixed_armv4.h │ │ ├── fixed_armv5e.h │ │ ├── kiss_fft_armv4.h │ │ ├── kiss_fft_armv5e.h │ │ ├── mdct_arm.h │ │ └── pitch_arm.h │ ├── bands.c │ ├── bands.h │ ├── celt.c │ ├── celt.h │ ├── celt_decoder.c │ ├── celt_encoder.c │ ├── celt_lpc.c │ ├── celt_lpc.h │ ├── cpu_support.h │ ├── cwrs.c │ ├── cwrs.h │ ├── ecintrin.h │ ├── entcode.c │ ├── entcode.h │ ├── entdec.c │ ├── entdec.h │ ├── entenc.c │ ├── entenc.h │ ├── fixed_debug.h │ ├── fixed_generic.h │ ├── float_cast.h │ ├── kiss_fft.c │ ├── kiss_fft.h │ ├── laplace.c │ ├── laplace.h │ ├── mathops.c │ ├── mathops.h │ ├── mdct.c │ ├── mdct.h │ ├── mfrngcod.h │ ├── mips │ │ ├── celt_mipsr1.h │ │ ├── fixed_generic_mipsr1.h │ │ ├── kiss_fft_mipsr1.h │ │ ├── mdct_mipsr1.h │ │ ├── pitch_mipsr1.h │ │ └── vq_mipsr1.h │ ├── modes.c │ ├── modes.h │ ├── opus_custom_demo.c │ ├── os_support.h │ ├── pitch.c │ ├── pitch.h │ ├── quant_bands.c │ ├── quant_bands.h │ ├── rate.c │ ├── rate.h │ ├── stack_alloc.h │ ├── static_modes_fixed.h │ ├── static_modes_fixed_arm_ne10.h │ ├── static_modes_float.h │ ├── static_modes_float_arm_ne10.h │ ├── tests │ │ ├── test_unit_cwrs32.c │ │ ├── test_unit_dft.c │ │ ├── test_unit_entropy.c │ │ ├── test_unit_laplace.c │ │ ├── test_unit_mathops.c │ │ ├── test_unit_mdct.c │ │ ├── test_unit_rotation.c │ │ └── test_unit_types.c │ ├── vq.c │ ├── vq.h │ └── x86 │ │ ├── celt_lpc_sse.c │ │ ├── celt_lpc_sse.h │ │ ├── pitch_sse.c │ │ ├── pitch_sse.h │ │ ├── pitch_sse2.c │ │ ├── pitch_sse4_1.c │ │ ├── x86_celt_map.c │ │ ├── x86cpu.c │ │ └── x86cpu.h ├── celt_headers.mk ├── celt_sources.mk ├── compile ├── config.guess ├── config.h.in ├── config.sub ├── configure ├── configure.ac ├── depcomp ├── doc │ ├── Doxyfile.in │ ├── Makefile.am │ ├── Makefile.in │ ├── TODO │ ├── customdoxygen.css │ ├── footer.html │ ├── header.html │ ├── opus_logo.svg │ └── trivial_example.c ├── include │ ├── opus.h │ ├── opus_custom.h │ ├── opus_defines.h │ ├── opus_multistream.h │ └── opus_types.h ├── install-sh ├── libopus.bdsproj ├── libopus.cpp ├── ltmain.sh ├── m4 │ ├── as-gcc-inline-assembly.m4 │ ├── libtool.m4 │ ├── ltoptions.m4 │ ├── ltsugar.m4 │ ├── ltversion.m4 │ ├── lt~obsolete.m4 │ └── opus-intrinsics.m4 ├── missing ├── opus-uninstalled.pc.in ├── opus.m4 ├── opus.pc.in ├── opus_headers.mk ├── opus_sources.mk ├── package_version ├── silk │ ├── A2NLSF.c │ ├── API.h │ ├── CNG.c │ ├── HP_variable_cutoff.c │ ├── Inlines.h │ ├── LPC_analysis_filter.c │ ├── LPC_inv_pred_gain.c │ ├── LP_variable_cutoff.c │ ├── MacroCount.h │ ├── MacroDebug.h │ ├── NLSF2A.c │ ├── NLSF_VQ.c │ ├── NLSF_VQ_weights_laroia.c │ ├── NLSF_decode.c │ ├── NLSF_del_dec_quant.c │ ├── NLSF_encode.c │ ├── NLSF_stabilize.c │ ├── NLSF_unpack.c │ ├── NSQ.c │ ├── NSQ.h │ ├── NSQ_del_dec.c │ ├── PLC.c │ ├── PLC.h │ ├── SigProc_FIX.h │ ├── VAD.c │ ├── VQ_WMat_EC.c │ ├── ana_filt_bank_1.c │ ├── arm │ │ ├── NSQ_neon.c │ │ ├── NSQ_neon.h │ │ ├── SigProc_FIX_armv4.h │ │ ├── SigProc_FIX_armv5e.h │ │ ├── arm_silk_map.c │ │ ├── macros_arm64.h │ │ ├── macros_armv4.h │ │ └── macros_armv5e.h │ ├── biquad_alt.c │ ├── bwexpander.c │ ├── bwexpander_32.c │ ├── check_control_input.c │ ├── code_signs.c │ ├── control.h │ ├── control_SNR.c │ ├── control_audio_bandwidth.c │ ├── control_codec.c │ ├── debug.c │ ├── debug.h │ ├── dec_API.c │ ├── decode_core.c │ ├── decode_frame.c │ ├── decode_indices.c │ ├── decode_parameters.c │ ├── decode_pitch.c │ ├── decode_pulses.c │ ├── decoder_set_fs.c │ ├── define.h │ ├── enc_API.c │ ├── encode_indices.c │ ├── encode_pulses.c │ ├── errors.h │ ├── fixed │ │ ├── LTP_analysis_filter_FIX.c │ │ ├── LTP_scale_ctrl_FIX.c │ │ ├── apply_sine_window_FIX.c │ │ ├── autocorr_FIX.c │ │ ├── burg_modified_FIX.c │ │ ├── corrMatrix_FIX.c │ │ ├── encode_frame_FIX.c │ │ ├── find_LPC_FIX.c │ │ ├── find_LTP_FIX.c │ │ ├── find_pitch_lags_FIX.c │ │ ├── find_pred_coefs_FIX.c │ │ ├── k2a_FIX.c │ │ ├── k2a_Q16_FIX.c │ │ ├── main_FIX.h │ │ ├── mips │ │ │ ├── noise_shape_analysis_FIX_mipsr1.h │ │ │ ├── prefilter_FIX_mipsr1.h │ │ │ └── warped_autocorrelation_FIX_mipsr1.h │ │ ├── noise_shape_analysis_FIX.c │ │ ├── pitch_analysis_core_FIX.c │ │ ├── prefilter_FIX.c │ │ ├── process_gains_FIX.c │ │ ├── regularize_correlations_FIX.c │ │ ├── residual_energy16_FIX.c │ │ ├── residual_energy_FIX.c │ │ ├── schur64_FIX.c │ │ ├── schur_FIX.c │ │ ├── solve_LS_FIX.c │ │ ├── structs_FIX.h │ │ ├── vector_ops_FIX.c │ │ ├── warped_autocorrelation_FIX.c │ │ └── x86 │ │ │ ├── burg_modified_FIX_sse.c │ │ │ ├── prefilter_FIX_sse.c │ │ │ └── vector_ops_FIX_sse.c │ ├── float │ │ ├── LPC_analysis_filter_FLP.c │ │ ├── LPC_inv_pred_gain_FLP.c │ │ ├── LTP_analysis_filter_FLP.c │ │ ├── LTP_scale_ctrl_FLP.c │ │ ├── SigProc_FLP.h │ │ ├── apply_sine_window_FLP.c │ │ ├── autocorrelation_FLP.c │ │ ├── burg_modified_FLP.c │ │ ├── bwexpander_FLP.c │ │ ├── corrMatrix_FLP.c │ │ ├── encode_frame_FLP.c │ │ ├── energy_FLP.c │ │ ├── find_LPC_FLP.c │ │ ├── find_LTP_FLP.c │ │ ├── find_pitch_lags_FLP.c │ │ ├── find_pred_coefs_FLP.c │ │ ├── inner_product_FLP.c │ │ ├── k2a_FLP.c │ │ ├── levinsondurbin_FLP.c │ │ ├── main_FLP.h │ │ ├── noise_shape_analysis_FLP.c │ │ ├── pitch_analysis_core_FLP.c │ │ ├── prefilter_FLP.c │ │ ├── process_gains_FLP.c │ │ ├── regularize_correlations_FLP.c │ │ ├── residual_energy_FLP.c │ │ ├── scale_copy_vector_FLP.c │ │ ├── scale_vector_FLP.c │ │ ├── schur_FLP.c │ │ ├── solve_LS_FLP.c │ │ ├── sort_FLP.c │ │ ├── structs_FLP.h │ │ ├── warped_autocorrelation_FLP.c │ │ └── wrappers_FLP.c │ ├── gain_quant.c │ ├── init_decoder.c │ ├── init_encoder.c │ ├── inner_prod_aligned.c │ ├── interpolate.c │ ├── lin2log.c │ ├── log2lin.c │ ├── macros.h │ ├── main.h │ ├── mips │ │ ├── NSQ_del_dec_mipsr1.h │ │ ├── macros_mipsr1.h │ │ └── sigproc_fix_mipsr1.h │ ├── pitch_est_defines.h │ ├── pitch_est_tables.c │ ├── process_NLSFs.c │ ├── quant_LTP_gains.c │ ├── resampler.c │ ├── resampler_down2.c │ ├── resampler_down2_3.c │ ├── resampler_private.h │ ├── resampler_private_AR2.c │ ├── resampler_private_IIR_FIR.c │ ├── resampler_private_down_FIR.c │ ├── resampler_private_up2_HQ.c │ ├── resampler_rom.c │ ├── resampler_rom.h │ ├── resampler_structs.h │ ├── shell_coder.c │ ├── sigm_Q15.c │ ├── sort.c │ ├── stereo_LR_to_MS.c │ ├── stereo_MS_to_LR.c │ ├── stereo_decode_pred.c │ ├── stereo_encode_pred.c │ ├── stereo_find_predictor.c │ ├── stereo_quant_pred.c │ ├── structs.h │ ├── sum_sqr_shift.c │ ├── table_LSF_cos.c │ ├── tables.h │ ├── tables_LTP.c │ ├── tables_NLSF_CB_NB_MB.c │ ├── tables_NLSF_CB_WB.c │ ├── tables_gain.c │ ├── tables_other.c │ ├── tables_pitch_lag.c │ ├── tables_pulses_per_block.c │ ├── tuning_parameters.h │ ├── typedef.h │ └── x86 │ │ ├── NSQ_del_dec_sse.c │ │ ├── NSQ_sse.c │ │ ├── SigProc_FIX_sse.h │ │ ├── VAD_sse.c │ │ ├── VQ_WMat_EC_sse.c │ │ ├── main_sse.h │ │ └── x86_silk_map.c ├── silk_headers.mk ├── silk_sources.mk ├── src │ ├── analysis.c │ ├── analysis.h │ ├── mlp.c │ ├── mlp.h │ ├── mlp_data.c │ ├── opus.c │ ├── opus_compare.c │ ├── opus_decoder.c │ ├── opus_demo.c │ ├── opus_encoder.c │ ├── opus_multistream.c │ ├── opus_multistream_decoder.c │ ├── opus_multistream_encoder.c │ ├── opus_private.h │ ├── repacketizer.c │ ├── repacketizer_demo.c │ └── tansig_table.h ├── test-driver ├── tests │ ├── run_vectors.sh │ ├── test_opus_api.c │ ├── test_opus_common.h │ ├── test_opus_decode.c │ ├── test_opus_encode.c │ └── test_opus_padding.c ├── version.mk └── win32 │ ├── VS2015 │ ├── celt.vcxproj │ ├── celt.vcxproj.filters │ ├── opus.sln │ ├── opus.vcxproj │ ├── opus.vcxproj.filters │ ├── opus_demo.vcxproj │ ├── opus_demo.vcxproj.filters │ ├── silk_common.vcxproj │ ├── silk_common.vcxproj.filters │ ├── silk_fixed.vcxproj │ ├── silk_fixed.vcxproj.filters │ ├── silk_float.vcxproj │ ├── silk_float.vcxproj.filters │ ├── test_opus_api.vcxproj │ ├── test_opus_api.vcxproj.filters │ ├── test_opus_decode.vcxproj │ ├── test_opus_decode.vcxproj.filters │ ├── test_opus_encode.vcxproj │ └── test_opus_encode.vcxproj.filters │ ├── config.h │ └── genversion.bat ├── opusenc ├── include │ └── opusenc.h ├── src │ ├── arch.h │ ├── ogg_packer.c │ ├── ogg_packer.h │ ├── opus_header.c │ ├── opus_header.h │ ├── opusenc.c │ ├── picture.c │ ├── picture.h │ ├── unicode_support.c │ └── unicode_support.h └── win32-tc │ ├── libopusenc.bdsproj │ └── libopusenc.cpp ├── portaudio ├── LICENSE.txt ├── README.txt ├── build │ └── bc │ │ ├── portaudio.bdsproj │ │ └── portaudio.cpp ├── include │ ├── pa_asio.h │ ├── pa_jack.h │ ├── pa_linux_alsa.h │ ├── pa_mac_core.h │ ├── pa_win_ds.h │ ├── pa_win_wasapi.h │ ├── pa_win_waveformat.h │ ├── pa_win_wmme.h │ └── portaudio.h └── src │ ├── common │ ├── pa_allocation.c │ ├── pa_allocation.h │ ├── pa_converters.c │ ├── pa_converters.h │ ├── pa_cpuload.c │ ├── pa_cpuload.h │ ├── pa_debugprint.c │ ├── pa_debugprint.h │ ├── pa_dither.c │ ├── pa_dither.h │ ├── pa_endianness.h │ ├── pa_front.c │ ├── pa_hostapi.h │ ├── pa_memorybarrier.h │ ├── pa_process.c │ ├── pa_process.h │ ├── pa_ringbuffer.c │ ├── pa_ringbuffer.h │ ├── pa_stream.c │ ├── pa_stream.h │ ├── pa_trace.c │ ├── pa_trace.h │ ├── pa_types.h │ └── pa_util.h │ ├── hostapi │ └── dsound │ │ ├── pa_win_ds.c │ │ ├── pa_win_ds_dynlink.c │ │ └── pa_win_ds_dynlink.h │ └── os │ ├── unix │ ├── pa_unix_hostapis.c │ ├── pa_unix_util.c │ └── pa_unix_util.h │ └── win │ ├── pa_win_coinitialize.c │ ├── pa_win_coinitialize.h │ ├── pa_win_hostapis.c │ ├── pa_win_util.c │ ├── pa_win_waveformat.c │ ├── pa_win_wdmks_utils.c │ ├── pa_win_wdmks_utils.h │ ├── pa_x86_plain_converters.c │ └── pa_x86_plain_converters.h ├── re ├── Makefile ├── docs │ ├── COPYING │ ├── ChangeLog │ ├── README │ ├── TODO │ ├── main.dox │ └── symbols.txt ├── include │ ├── re.h │ ├── re_aes.h │ ├── re_av1.h │ ├── re_base64.h │ ├── re_bitv.h │ ├── re_conf.h │ ├── re_crc32.h │ ├── re_dbg.h │ ├── re_dns.h │ ├── re_fmt.h │ ├── re_h264.h │ ├── re_h265.h │ ├── re_hash.h │ ├── re_hmac.h │ ├── re_http.h │ ├── re_httpauth.h │ ├── re_ice.h │ ├── re_jbuf.h │ ├── re_list.h │ ├── re_lock.h │ ├── re_main.h │ ├── re_mbuf.h │ ├── re_md5.h │ ├── re_mem.h │ ├── re_mod.h │ ├── re_mqueue.h │ ├── re_msg.h │ ├── re_natbd.h │ ├── re_net.h │ ├── re_rtp.h │ ├── re_sa.h │ ├── re_sdp.h │ ├── re_sha.h │ ├── re_sip.h │ ├── re_sipevent.h │ ├── re_sipreg.h │ ├── re_sipsess.h │ ├── re_srtp.h │ ├── re_stun.h │ ├── re_sxmlc.h │ ├── re_sxmlsearch.h │ ├── re_sys.h │ ├── re_tcp.h │ ├── re_telev.h │ ├── re_thread.h │ ├── re_tls.h │ ├── re_tmr.h │ ├── re_turn.h │ ├── re_types.h │ ├── re_udp.h │ └── re_uri.h ├── mk │ └── win32-tc │ │ ├── re.bdsproj │ │ └── re.cpp └── src │ ├── _new_h265 │ └── h265_nal.c │ ├── aes │ └── aes.c │ ├── av1 │ ├── av1_pkt.c │ ├── depack.c │ └── obu.c │ ├── base64 │ └── b64.c │ ├── conf │ └── conf.c │ ├── crc32 │ └── crc32.c │ ├── dbg │ ├── dbg.c │ └── log.c │ ├── dns │ ├── client.c │ ├── cstr.c │ ├── darwin │ │ └── srv.c │ ├── dname.c │ ├── dns.h │ ├── dns_hdr.c │ ├── ns.c │ ├── res.c │ ├── rr.c │ ├── rrlist.c │ └── win32 │ │ └── srv.c │ ├── fmt │ ├── ch.c │ ├── hexdump.c │ ├── pl.c │ ├── print.c │ ├── prm.c │ ├── regex.c │ ├── str.c │ ├── str_error.c │ └── time.c │ ├── h264 │ ├── getbit.c │ ├── h264.h │ ├── h264_nal.c │ └── sps.c │ ├── hash │ ├── func.c │ └── hash.c │ ├── hmac │ ├── hmac.c │ └── hmac_sha1.c │ ├── http │ ├── auth.c │ ├── mod.mk │ ├── msg.c │ └── server.c │ ├── httpauth │ ├── basic.c │ └── digest.c │ ├── ice │ ├── cand.c │ ├── candpair.c │ ├── chklist.c │ ├── comp.c │ ├── connchk.c │ ├── gather.c │ ├── ice.c │ ├── ice.h │ ├── icem.c │ ├── icesdp.c │ ├── icestr.c │ ├── stunsrv.c │ └── util.c │ ├── jbuf │ └── jbuf.c │ ├── list │ └── list.c │ ├── lock │ ├── lock.c │ ├── rwlock.c │ ├── symbian │ │ └── rmutex.cpp │ └── win32 │ │ ├── lock.c │ │ └── win32_lock.c │ ├── main │ ├── epoll.c │ ├── init.c │ ├── main.c │ ├── main.h │ ├── method.c │ └── symbian │ │ └── actsched.cpp │ ├── mbuf │ └── mbuf.c │ ├── md5 │ ├── md5.c │ ├── md5.h │ └── wrap.c │ ├── mem │ └── mem.c │ ├── mod │ ├── dl.c │ ├── mod.c │ ├── mod_internal.h │ ├── symbian │ │ └── rlib.cpp │ └── win32 │ │ └── dll.c │ ├── mqueue │ ├── mqueue.c │ ├── mqueue.h │ └── win32 │ │ └── pipe.c │ ├── msg │ ├── ctype.c │ └── msg_param.c │ ├── natbd │ ├── filtering.c │ ├── genalg.c │ ├── hairpinning.c │ ├── lifetime.c │ ├── mapping.c │ └── natstr.c │ ├── net │ ├── bsd │ │ └── brt.c │ ├── if.c │ ├── ifaddrs.c │ ├── linux │ │ └── rt.c │ ├── net.c │ ├── net_sock.c │ ├── netstr.c │ ├── posix │ │ └── pif.c │ ├── rt.c │ ├── sockopt.c │ ├── symbian │ │ ├── rconn.cpp │ │ ├── sif.cpp │ │ ├── snet.cpp │ │ └── srt.cpp │ └── win32 │ │ └── wif.c │ ├── rtp │ ├── fb.c │ ├── member.c │ ├── ntp.c │ ├── pkt.c │ ├── rtcp.c │ ├── rtcp.h │ ├── rtp.c │ ├── rtp_rr.c │ ├── sdes.c │ ├── sess.c │ └── source.c │ ├── sa │ ├── ntop.c │ ├── printaddr.c │ ├── pton.c │ └── sa.c │ ├── sdp │ ├── format.c │ ├── media.c │ ├── sdp.h │ ├── sdp_attr.c │ ├── sdp_msg.c │ ├── sdp_str.c │ └── session.c │ ├── sha │ └── sha1.c │ ├── sip │ ├── addr.c │ ├── auth.c │ ├── cseq.c │ ├── ctrans.c │ ├── dialog.c │ ├── keepalive.c │ ├── keepalive_udp.c │ ├── reply.c │ ├── request.c │ ├── sip.c │ ├── sip.h │ ├── sip_access_url.c │ ├── sip_alert_info.c │ ├── sip_call_info.c │ ├── sip_msg.c │ ├── sip_reason.c │ ├── sip_transp.c │ ├── strans.c │ └── via.c │ ├── sipevent │ ├── notify.c │ ├── sipevent.h │ ├── sipevent_listen.c │ ├── sipevent_msg.c │ └── subscribe.c │ ├── sipreg │ └── reg.c │ ├── sipsess │ ├── accept.c │ ├── ack.c │ ├── close.c │ ├── connect.c │ ├── info.c │ ├── listen.c │ ├── modify.c │ ├── sip_sess.c │ ├── sipsess.h │ ├── sipsess_reply.c │ └── sipsess_request.c │ ├── srtp │ ├── README │ ├── misc.c │ ├── replay.c │ ├── srtcp.c │ ├── srtp.c │ ├── srtp.h │ └── stream.c │ ├── stun │ ├── dnsdisc.c │ ├── stun.c │ ├── stun.h │ ├── stun_addr.c │ ├── stun_attr.c │ ├── stun_ctrans.c │ ├── stun_hdr.c │ ├── stun_ind.c │ ├── stun_keepalive.c │ ├── stun_msg.c │ ├── stun_rep.c │ ├── stun_req.c │ └── stunstr.c │ ├── sxmlc │ ├── sxmlc.c │ └── sxmlsearch.c │ ├── sys │ ├── daemon.c │ ├── endian.c │ ├── fs.c │ ├── rand.c │ ├── sleep.c │ ├── symbian │ │ └── sleep.cpp │ ├── sys.c │ └── sys_time.c │ ├── tcp │ ├── symbian │ │ └── tcp.cpp │ ├── tcp.c │ └── tcp_high.c │ ├── telev │ └── telev.c │ ├── thread │ ├── posix.c │ ├── thread.c │ └── thread_win32.c │ ├── tls │ └── openssl │ │ ├── tls.c │ │ ├── tls.h │ │ ├── tls_tcp.c │ │ └── tls_udp.c │ ├── tmr │ └── tmr.c │ ├── turn │ ├── chan.c │ ├── perm.c │ ├── turnc.c │ └── turnc.h │ ├── udp │ ├── symbian │ │ └── udp.cpp │ └── udp.c │ └── uri │ ├── ucmp.c │ ├── uri.c │ └── uric.c ├── rem ├── docs │ ├── COPYING │ └── README ├── include │ ├── rem.h │ ├── rem_au.h │ ├── rem_aubuf.h │ ├── rem_audio.h │ ├── rem_aufile.h │ ├── rem_aumix.h │ ├── rem_auresamp.h │ ├── rem_autone.h │ ├── rem_avc.h │ ├── rem_dsp.h │ ├── rem_fir.h │ ├── rem_flv.h │ ├── rem_g711.h │ ├── rem_vid.h │ ├── rem_vidconv.h │ ├── rem_video.h │ └── rem_vidmix.h ├── mk │ └── win32-tc │ │ ├── rem.bdsproj │ │ └── rem.cpp └── src │ ├── au │ ├── au_fmt.c │ └── au_util.c │ ├── aubuf │ └── aubuf.c │ ├── aufile │ ├── aufile.c │ ├── aufile.h │ └── wave.c │ ├── aumix │ └── aumix.c │ ├── auresamp │ └── resamp.c │ ├── autone │ └── tone.c │ ├── fir │ └── fir.c │ ├── g711 │ └── g711.c │ ├── vid │ ├── draw.c │ ├── fmt.c │ └── frame.c │ ├── vidconv │ └── vconv.c │ └── vidmix │ └── vidmix.c ├── run_bds.bat ├── run_bds_x64.bat ├── run_bds_x64_tSIP.bat ├── run_bds_x64_tSIP_exe.bat ├── scintilla ├── License.txt ├── README ├── doc │ ├── Design.html │ ├── Icons.html │ ├── Lexer.txt │ ├── SciBreak.jpg │ ├── SciCoding.html │ ├── SciRest.jpg │ ├── SciTEIco.png │ ├── SciWord.jpg │ ├── ScintillaDoc.html │ ├── ScintillaDownload.html │ ├── ScintillaHistory.html │ ├── ScintillaRelated.html │ ├── ScintillaToDo.html │ ├── ScintillaUsage.html │ ├── Steps.html │ ├── annotations.png │ ├── index.html │ └── styledmargin.png ├── include │ ├── ILexer.h │ ├── Platform.h │ ├── SciLexer.h │ ├── Scintilla.h │ ├── Scintilla.iface │ └── ScintillaWidget.h ├── lexers │ ├── LexCPP.cpp │ ├── LexJSON.cpp │ └── LexLua.cpp ├── lexlib │ ├── Accessor.cpp │ ├── Accessor.h │ ├── CharacterSet.cpp │ ├── CharacterSet.h │ ├── LexAccessor.h │ ├── LexerBase.cpp │ ├── LexerBase.h │ ├── LexerModule.cpp │ ├── LexerModule.h │ ├── LexerNoExceptions.cpp │ ├── LexerNoExceptions.h │ ├── LexerSimple.cpp │ ├── LexerSimple.h │ ├── OptionSet.h │ ├── PropSetSimple.cpp │ ├── PropSetSimple.h │ ├── SparseState.h │ ├── StyleContext.cpp │ ├── StyleContext.h │ ├── WordList.cpp │ └── WordList.h ├── scintilla.bdsproj ├── scintilla.cpp ├── src │ ├── AutoComplete.cpp │ ├── AutoComplete.h │ ├── CallTip.cpp │ ├── CallTip.h │ ├── Catalogue.cpp │ ├── Catalogue.h │ ├── CellBuffer.cpp │ ├── CellBuffer.h │ ├── CharClassify.cpp │ ├── CharClassify.h │ ├── ContractionState.cpp │ ├── ContractionState.h │ ├── Decoration.cpp │ ├── Decoration.h │ ├── Document.cpp │ ├── Document.h │ ├── Editor.cpp │ ├── Editor.h │ ├── ExternalLexer.cpp │ ├── ExternalLexer.h │ ├── FontQuality.h │ ├── Indicator.cpp │ ├── Indicator.h │ ├── KeyMap.cpp │ ├── KeyMap.h │ ├── LexGen.py │ ├── LineMarker.cpp │ ├── LineMarker.h │ ├── Partitioning.h │ ├── PerLine.cpp │ ├── PerLine.h │ ├── PositionCache.cpp │ ├── PositionCache.h │ ├── RESearch.cpp │ ├── RESearch.h │ ├── RunStyles.cpp │ ├── RunStyles.h │ ├── SVector.h │ ├── SciTE.properties │ ├── ScintillaBase.cpp │ ├── ScintillaBase.h │ ├── Selection.cpp │ ├── Selection.h │ ├── SplitVector.h │ ├── Style.cpp │ ├── Style.h │ ├── UniConversion.cpp │ ├── UniConversion.h │ ├── ViewStyle.cpp │ ├── ViewStyle.h │ ├── XPM.cpp │ └── XPM.h └── win32 │ ├── CheckD2D.cpp │ ├── PlatWin.cpp │ ├── PlatWin.h │ ├── ScintRes.rc │ ├── Scintilla.def │ ├── ScintillaWin.cpp │ └── makefile ├── sdl2 ├── COPYING.txt ├── README-SDL.txt ├── WhatsNew.txt ├── include │ └── SDL2 │ │ ├── SDL.h │ │ ├── SDL_assert.h │ │ ├── SDL_atomic.h │ │ ├── SDL_audio.h │ │ ├── SDL_bits.h │ │ ├── SDL_blendmode.h │ │ ├── SDL_clipboard.h │ │ ├── SDL_config.h │ │ ├── SDL_config.h.cmake │ │ ├── SDL_config.h.in │ │ ├── SDL_config_android.h │ │ ├── SDL_config_iphoneos.h │ │ ├── SDL_config_macosx.h │ │ ├── SDL_config_macosx.h.orig │ │ ├── SDL_config_minimal.h │ │ ├── SDL_config_pandora.h │ │ ├── SDL_config_psp.h │ │ ├── SDL_config_windows.h │ │ ├── SDL_config_winrt.h │ │ ├── SDL_config_wiz.h │ │ ├── SDL_copying.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_egl.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_filesystem.h │ │ ├── SDL_gamecontroller.h │ │ ├── SDL_gesture.h │ │ ├── SDL_guid.h │ │ ├── SDL_haptic.h │ │ ├── SDL_hidapi.h │ │ ├── SDL_hints.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keycode.h │ │ ├── SDL_loadso.h │ │ ├── SDL_locale.h │ │ ├── SDL_log.h │ │ ├── SDL_main.h │ │ ├── SDL_messagebox.h │ │ ├── SDL_metal.h │ │ ├── SDL_misc.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_opengl_glext.h │ │ ├── SDL_opengles.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_opengles2_gl2.h │ │ ├── SDL_opengles2_gl2ext.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_opengles2_khrplatform.h │ │ ├── SDL_pixels.h │ │ ├── SDL_platform.h │ │ ├── SDL_power.h │ │ ├── SDL_quit.h │ │ ├── SDL_rect.h │ │ ├── SDL_render.h │ │ ├── SDL_revision.h │ │ ├── SDL_rwops.h │ │ ├── SDL_scancode.h │ │ ├── SDL_sensor.h │ │ ├── SDL_shape.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_surface.h │ │ ├── SDL_system.h │ │ ├── SDL_syswm.h │ │ ├── SDL_test.h │ │ ├── SDL_test_assert.h │ │ ├── SDL_test_common.h │ │ ├── SDL_test_compare.h │ │ ├── SDL_test_crc32.h │ │ ├── SDL_test_font.h │ │ ├── SDL_test_fuzzer.h │ │ ├── SDL_test_harness.h │ │ ├── SDL_test_images.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test_md5.h │ │ ├── SDL_test_memory.h │ │ ├── SDL_test_random.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_touch.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── SDL_vulkan.h │ │ ├── begin_code.h │ │ └── close_code.h └── lib │ ├── SDL2.def │ ├── SDL2.lib │ └── note.txt ├── speex ├── AUTHORS ├── COPYING ├── README ├── build │ ├── libspeex.bdsproj │ └── libspeex.cpp ├── doc │ ├── Makefile.am │ ├── Makefile.in │ └── manual.pdf ├── include │ ├── Makefile.am │ ├── Makefile.in │ ├── os_support_custom.h │ └── speex │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── speex.h │ │ ├── speex_bits.h │ │ ├── speex_buffer.h │ │ ├── speex_callbacks.h │ │ ├── speex_config_types.h.in │ │ ├── speex_echo.h │ │ ├── speex_header.h │ │ ├── speex_jitter.h │ │ ├── speex_preprocess.h │ │ ├── speex_resampler.h │ │ ├── speex_stereo.h │ │ └── speex_types.h └── libspeex │ ├── Makefile.am │ ├── Makefile.in │ ├── _kiss_fft_guts.h │ ├── arch.h │ ├── bits.c │ ├── buffer.c │ ├── cb_search.c │ ├── cb_search.h │ ├── cb_search_arm4.h │ ├── cb_search_bfin.h │ ├── cb_search_sse.h │ ├── echo_diagnostic.m │ ├── exc_10_16_table.c │ ├── exc_10_32_table.c │ ├── exc_20_32_table.c │ ├── exc_5_256_table.c │ ├── exc_5_64_table.c │ ├── exc_8_128_table.c │ ├── fftwrap.c │ ├── fftwrap.h │ ├── filterbank.c │ ├── filterbank.h │ ├── filters.c │ ├── filters.h │ ├── filters_arm4.h │ ├── filters_bfin.h │ ├── filters_sse.h │ ├── fixed_arm4.h │ ├── fixed_arm5e.h │ ├── fixed_bfin.h │ ├── fixed_debug.h │ ├── fixed_generic.h │ ├── gain_table.c │ ├── gain_table_lbr.c │ ├── hexc_10_32_table.c │ ├── hexc_table.c │ ├── high_lsp_tables.c │ ├── jitter.c │ ├── kiss_fft.c │ ├── kiss_fft.h │ ├── kiss_fftr.c │ ├── kiss_fftr.h │ ├── lpc.c │ ├── lpc.h │ ├── lpc_bfin.h │ ├── lsp.c │ ├── lsp.h │ ├── lsp_bfin.h │ ├── lsp_tables_nb.c │ ├── ltp.c │ ├── ltp.h │ ├── ltp_arm4.h │ ├── ltp_bfin.h │ ├── ltp_sse.h │ ├── math_approx.h │ ├── mdf.c │ ├── misc_bfin.h │ ├── modes.c │ ├── modes.h │ ├── modes_wb.c │ ├── nb_celp.c │ ├── nb_celp.h │ ├── os_support.h │ ├── preprocess.c │ ├── pseudofloat.h │ ├── quant_lsp.c │ ├── quant_lsp.h │ ├── quant_lsp_bfin.h │ ├── resample.c │ ├── resample_sse.h │ ├── sb_celp.c │ ├── sb_celp.h │ ├── scal.c │ ├── smallft.c │ ├── smallft.h │ ├── speex.c │ ├── speex_callbacks.c │ ├── speex_header.c │ ├── stack_alloc.h │ ├── stereo.c │ ├── testdenoise.c │ ├── testecho.c │ ├── testenc.c │ ├── testenc_uwb.c │ ├── testenc_wb.c │ ├── testjitter.c │ ├── vbr.c │ ├── vbr.h │ ├── vorbis_psy.h │ ├── vq.c │ ├── vq.h │ ├── vq_arm4.h │ ├── vq_bfin.h │ ├── vq_sse.h │ └── window.c ├── tSIP.bdsgroup ├── tSIP ├── Action.cpp ├── Action.h ├── AppStatus.cpp ├── AppStatus.h ├── AudioDevicesList.cpp ├── AudioDevicesList.h ├── Bitmaps.cpp ├── Bitmaps.h ├── Branding.cpp ├── Branding.h ├── CommandLine.cpp ├── CommandLine.h ├── CustomDateUtils.hpp ├── DialpadConf.cpp ├── DialpadConf.h ├── FixedSettings.json ├── FormAbout.cpp ├── FormAbout.dfm ├── FormAbout.h ├── FormAccount.cpp ├── FormAccount.dfm ├── FormAccount.h ├── FormAccountCodecs.cpp ├── FormAccountCodecs.dfm ├── FormAccountCodecs.h ├── FormDialpadConf.cpp ├── FormDialpadConf.dfm ├── FormDialpadConf.h ├── FormMain.cpp ├── FormMain.dfm ├── FormMain.h ├── FormMessage.cpp ├── FormMessage.dfm ├── FormMessage.h ├── FormScreen.cpp ├── FormScreen.dfm ├── FormScreen.h ├── FormSettings.cpp ├── FormSettings.dfm ├── FormSettings.h ├── FormSettingsPatch.cpp ├── FormSettingsPatch.dfm ├── FormSettingsPatch.h ├── FormTextEditor.cpp ├── FormTextEditor.dfm ├── FormTextEditor.h ├── FormTrayNotifier.cpp ├── FormTrayNotifier.dfm ├── FormTrayNotifier.h ├── FormTroubleshooting.cpp ├── FormTroubleshooting.dfm ├── FormTroubleshooting.h ├── FormVideoConf.cpp ├── FormVideoConf.dfm ├── FormVideoConf.h ├── Globals.cpp ├── Globals.h ├── Log.cpp ├── Log.h ├── LogUnit.cpp ├── LogUnit.dfm ├── LogUnit.h ├── NetInterfaces.cpp ├── NetInterfaces.h ├── Paths.cpp ├── Paths.h ├── PortaudioLock.cpp ├── PortaudioLock.h ├── SIMPLE_Messages.cpp ├── SIMPLE_Messages.h ├── ScEdit.cpp ├── ScEdit.h ├── ScEditStyle.h ├── Settings.cpp ├── Settings.h ├── SettingsAppVersion.cpp ├── SettingsAppVersion.h ├── Sizes.h ├── SpeedDialStatus.cpp ├── SpeedDialStatus.h ├── Translate.cpp ├── Translate.h ├── TrayNotifierConf.cpp ├── TrayNotifierConf.h ├── Troubleshooting.cpp ├── Troubleshooting.h ├── VideoConf.cpp ├── VideoConf.h ├── VideoDevicesList.cpp ├── VideoDevicesList.h ├── _dist │ ├── busy.wav │ ├── certificates │ │ └── README.txt │ ├── error.wav │ ├── img │ │ ├── Backspace.bmp │ │ ├── FoldIn.bmp │ │ ├── FoldIn2.bmp │ │ ├── FoldOut.bmp │ │ ├── MicOff.bmp │ │ ├── Microphone.bmp │ │ ├── OVCP.ico │ │ ├── README.txt │ │ ├── Speaker.bmp │ │ ├── bellOff.bmp │ │ ├── check.bmp │ │ ├── codec.bmp │ │ ├── confirmed.bmp │ │ ├── confirmed2.bmp │ │ ├── cross.bmp │ │ ├── early.bmp │ │ ├── early2.bmp │ │ ├── empty.bmp │ │ ├── hold.bmp │ │ ├── hold2.bmp │ │ ├── json.ico │ │ ├── lock_green.bmp │ │ ├── lock_yellow.bmp │ │ ├── mail.bmp │ │ ├── mail_white.bmp │ │ ├── mail_yellow.bmp │ │ ├── miniscope.ico │ │ ├── redial.bmp │ │ ├── tSIP2.ico │ │ ├── tSIP_16x16_crossed.bmp │ │ ├── tSIP_16x16_pink.bmp │ │ ├── tSIP_16x16_yellow.bmp │ │ ├── terminated.bmp │ │ └── terminated2.bmp │ ├── libcrypto-1_1.dll │ ├── libssl-1_1.dll │ ├── modules │ │ └── README.txt │ ├── notfound.wav │ ├── phone │ │ └── README.txt │ ├── pluck.wav │ ├── recordings │ │ └── README.txt │ ├── ring.wav │ ├── ringback.wav │ ├── scripts │ │ └── README.txt │ ├── translations │ │ ├── README.txt │ │ ├── de_DE │ │ │ └── translations.json │ │ ├── en_US │ │ │ └── translations.json │ │ ├── es_ES │ │ │ └── translations.json │ │ ├── fr_FR │ │ │ └── translations.json │ │ ├── pl_PL │ │ │ └── translations.json │ │ ├── pt_BR │ │ │ └── translations.json │ │ └── ru_RU │ │ │ └── translations.json │ └── vcruntime140.dll ├── _dist_extra_video │ ├── CISCO_OPENH264_BINARY_LICENSE.txt │ ├── README.txt │ ├── SDL2.dll │ ├── avcodec-59.dll │ ├── avdevice-59.dll │ ├── avformat-59.dll │ ├── avutil-57.dll │ └── swresample-4.dll ├── _doc │ ├── Doxyfile │ ├── changelog.h │ ├── doxygen.h │ ├── doxygen_footer.html │ ├── doxygen_header.html │ ├── licenses.txt │ ├── proto │ │ └── proto.html │ ├── roadmap.h │ └── turbo_cpp_stdint_fix │ │ ├── stdint.h │ │ └── stdint.h.original ├── build-tools │ └── touch.exe ├── buttons │ ├── ButtonConf.cpp │ ├── ButtonConf.h │ ├── ButtonContainerConf.cpp │ ├── ButtonContainerConf.h │ ├── ButtonContainers.cpp │ ├── ButtonContainers.h │ ├── ButtonType.cpp │ ├── ButtonType.h │ ├── ButtonsDataModule.cpp │ ├── ButtonsDataModule.dfm │ ├── ButtonsDataModule.h │ ├── FormButtonContainer.cpp │ ├── FormButtonContainer.dfm │ ├── FormButtonContainer.h │ ├── FormButtonContainerConf.cpp │ ├── FormButtonContainerConf.dfm │ ├── FormButtonContainerConf.h │ ├── FormButtonCopy.cpp │ ├── FormButtonCopy.dfm │ ├── FormButtonCopy.h │ ├── FormButtonEdit.cpp │ ├── FormButtonEdit.dfm │ ├── FormButtonEdit.h │ ├── ProgrammableButton.cpp │ ├── ProgrammableButton.h │ ├── ProgrammableButtons.cpp │ └── ProgrammableButtons.h ├── contacts │ ├── Contacts.cpp │ ├── Contacts.h │ ├── ContactsXmlImport.cpp │ ├── ContactsXmlImport.h │ ├── FormContactEditor.cpp │ ├── FormContactEditor.dfm │ ├── FormContactEditor.h │ ├── FormContactPopup.cpp │ ├── FormContactPopup.dfm │ ├── FormContactPopup.h │ ├── FormContacts.cpp │ ├── FormContacts.dfm │ ├── FormContacts.h │ ├── FormContactsCsvImport.cpp │ ├── FormContactsCsvImport.dfm │ └── FormContactsCsvImport.h ├── history │ ├── FormHistory.cpp │ ├── FormHistory.dfm │ ├── FormHistory.h │ ├── History.cpp │ ├── History.h │ ├── HistoryConf.cpp │ └── HistoryConf.h ├── hotkeys │ ├── FormHotkeys.cpp │ ├── FormHotkeys.dfm │ ├── FormHotkeys.h │ ├── HotKeyConf.cpp │ ├── HotKeyConf.h │ ├── HotkeyCfgPanel.cpp │ ├── HotkeyCfgPanel.h │ ├── Hotkeys.cpp │ └── Hotkeys.h ├── phone │ ├── FormPhones.cpp │ ├── FormPhones.dfm │ ├── FormPhones.h │ ├── Phone.h │ ├── PhoneCapabilities.h │ ├── PhoneConf.h │ ├── PhoneInterface.cpp │ ├── PhoneInterface.h │ └── PhoneSettings.h ├── resource.h ├── resource.rc ├── resources │ ├── 1195445181899094722molumen_phone_icon.svg.med.png │ ├── backspace.bmp │ ├── edit.bmp │ ├── edit2.bmp │ ├── enter.bmp │ ├── error.bmp │ ├── error2.bmp │ ├── error3.bmp │ ├── info.bmp │ ├── microphone.bmp │ ├── speaker.bmp │ ├── tSIP.bmp │ ├── tSIP.ico │ ├── tSIP2.bmp │ ├── tSIP2.ico │ ├── tSIP_16x16.bmp │ ├── tSIP_16x16_pink.bmp │ ├── tSIP_16x16_yellow.bmp │ ├── warning.bmp │ ├── warning2.bmp │ └── zoom.bmp ├── scripting │ ├── FormLuaScript.cpp │ ├── FormLuaScript.dfm │ ├── FormLuaScript.h │ ├── FormLuaScriptHelp.cpp │ ├── FormLuaScriptHelp.dfm │ ├── FormLuaScriptHelp.h │ ├── FormScriptPluginVariables.cpp │ ├── FormScriptPluginVariables.dfm │ ├── FormScriptPluginVariables.h │ ├── LuaExamples.h │ ├── LuaState.cpp │ ├── LuaState.h │ ├── LuaWinapi.cpp │ ├── LuaWinapi.h │ ├── ScriptExec.cpp │ ├── ScriptExec.h │ └── ScriptSource.h ├── tSIP.bdsproj ├── tSIP.cpp ├── tSIP.res └── ua │ ├── AudioModules.cpp │ ├── AudioModules.h │ ├── Call.cpp │ ├── Call.h │ ├── Callback.cpp │ ├── Callback.h │ ├── CallbackQueue.cpp │ ├── CallbackQueue.h │ ├── Calls.cpp │ ├── Calls.h │ ├── Command.cpp │ ├── Command.h │ ├── ControlQueue.cpp │ ├── ControlQueue.h │ ├── FormUaConfOpus.cpp │ ├── FormUaConfOpus.dfm │ ├── FormUaConfOpus.h │ ├── Recorder.cpp │ ├── Recorder.h │ ├── UaConf.cpp │ ├── UaConf.h │ ├── UaCustomRequests.cpp │ ├── UaCustomRequests.h │ ├── UaGlobals.cpp │ ├── UaGlobals.h │ ├── UaMain.cpp │ ├── UaMain.h │ ├── VideoModules.cpp │ └── VideoModules.h ├── tSIP_baresip.bdsgroup ├── tSIP_baresip_common.bdsgroup ├── tSIP_baresip_opusenc.bdsgroup ├── tSIP_baresip_re.bdsgroup ├── tSIP_baresip_rem.bdsgroup ├── tSIP_baresip_speex.bdsgroup ├── tSIP_baresip_webrtc.bdsgroup ├── tSIP_baresip_zrtpcpp.bdsgroup ├── tSIP_common.bdsgroup ├── tSIP_essential.bdsgroup ├── tSIP_exe.bdsgroup ├── tSIP_re_baresip_zrtpcpp.bdsgroup ├── tSIP_rem_baresip.bdsgroup ├── webrtc ├── webrtc │ ├── common_audio │ │ ├── include │ │ │ └── audio_util.h │ │ └── signal_processing │ │ │ ├── complex_bit_reverse.c │ │ │ ├── complex_fft.c │ │ │ ├── complex_fft_tables.h │ │ │ ├── copy_set_operations.c │ │ │ ├── cross_correlation.c │ │ │ ├── downsample_fast.c │ │ │ ├── energy.c │ │ │ ├── get_scaling_square.c │ │ │ ├── include │ │ │ ├── real_fft.h │ │ │ ├── signal_processing_library.h │ │ │ └── spl_inl.h │ │ │ ├── min_max_operations.c │ │ │ ├── randomization_functions.c │ │ │ ├── real_fft.c │ │ │ ├── spl_init.c │ │ │ ├── spl_sqrt_floor.c │ │ │ └── vector_scaling_operations.c │ ├── modules │ │ └── audio_processing │ │ │ ├── OWNERS │ │ │ ├── aec │ │ │ ├── aec_core.c │ │ │ ├── aec_core.h │ │ │ ├── aec_core_internal.h │ │ │ ├── aec_rdft.c │ │ │ ├── aec_rdft.h │ │ │ ├── aec_resampler.c │ │ │ ├── aec_resampler.h │ │ │ ├── echo_cancellation.c │ │ │ ├── echo_cancellation_internal.h │ │ │ └── include │ │ │ │ └── echo_cancellation.h │ │ │ ├── audio_buffer.cc │ │ │ ├── audio_buffer.h │ │ │ ├── audio_processing_impl.cc │ │ │ ├── audio_processing_impl.h │ │ │ ├── echo_cancellation_impl.cc │ │ │ ├── echo_cancellation_impl.h │ │ │ ├── echo_control_mobile_impl.cc │ │ │ ├── echo_control_mobile_impl.h │ │ │ ├── gain_control_impl.cc │ │ │ ├── gain_control_impl.h │ │ │ ├── high_pass_filter_impl.cc │ │ │ ├── high_pass_filter_impl.h │ │ │ ├── include │ │ │ ├── audio_processing.h │ │ │ └── mock_audio_processing.h │ │ │ ├── level_estimator_impl.cc │ │ │ ├── level_estimator_impl.h │ │ │ ├── noise_suppression_impl.cc │ │ │ ├── noise_suppression_impl.h │ │ │ ├── ns │ │ │ ├── defines.h │ │ │ ├── include │ │ │ │ ├── noise_suppression.h │ │ │ │ └── noise_suppression_x.h │ │ │ ├── noise_suppression.c │ │ │ ├── noise_suppression_x.c │ │ │ ├── ns_core.c │ │ │ ├── ns_core.h │ │ │ ├── nsx_core.c │ │ │ ├── nsx_core.h │ │ │ ├── nsx_defines.h │ │ │ └── windows_private.h │ │ │ ├── processing_component.cc │ │ │ ├── processing_component.h │ │ │ ├── splitting_filter.cc │ │ │ ├── splitting_filter.h │ │ │ ├── utility │ │ │ ├── delay_estimator.c │ │ │ ├── delay_estimator.h │ │ │ ├── delay_estimator_internal.h │ │ │ ├── delay_estimator_wrapper.c │ │ │ ├── delay_estimator_wrapper.h │ │ │ ├── fft4g.h │ │ │ ├── ring_buffer.c │ │ │ └── ring_buffer.h │ │ │ ├── voice_detection_impl.cc │ │ │ └── voice_detection_impl.h │ ├── system_wrappers │ │ └── interface │ │ │ ├── compile_assert.h │ │ │ └── cpu_features_wrapper.h │ └── typedefs.h ├── webrtc_tc.bdsproj └── webrtc_tc.cpp └── zrtpcpp ├── AUTHORS ├── COPYING ├── LICENSES └── summary.md ├── bnlib ├── bn.c ├── bn.h ├── bn00.c ├── bn16.c ├── bn16.h ├── bn32.c ├── bn32.h ├── bn64.c ├── bn64.h ├── bnconfig.h.cmake ├── bninit16.c ├── bninit32.c ├── bninit64.c ├── bnprint.c ├── bnprint.h ├── bnsize00.h ├── ec │ ├── curve25519-donna.c │ ├── ec.c │ ├── ec.h │ ├── ecdh.c │ └── ecdh.h ├── germain.c ├── germain.h ├── jacobi.c ├── jacobi.h ├── kludge.h ├── lbn.h ├── lbn00.c ├── lbn16.c ├── lbn16.h ├── lbn32.c ├── lbn32.h ├── lbn64.c ├── lbn64.h ├── lbnmem.c ├── lbnmem.h ├── legal.c ├── legal.h ├── prime.c ├── prime.h ├── sieve.c └── sieve.h ├── build ├── zrtpcpp.bdsproj └── zrtpcpp.cpp ├── common ├── icuUtf.h ├── icuUtf8.c ├── osSpecifics.c └── osSpecifics.h ├── cryptcommon ├── ZrtpRandom.cpp ├── ZrtpRandom.h ├── aes.h ├── aes_modes.c ├── aescpp.h ├── aescrypt.c ├── aeskey.c ├── aesopt.h ├── aestab.c ├── aestab.h ├── brg_endian.h ├── brg_types.h ├── macSkein.cpp ├── macSkein.h ├── skein.c ├── skein.h ├── skeinApi.c ├── skeinApi.h ├── skein_block.c ├── skein_iv.h ├── skein_port.h ├── twofish.c ├── twofish.h └── twofish_cfb.c ├── srtp ├── CryptoContext.cpp ├── CryptoContext.h ├── CryptoContextCtrl.cpp ├── CryptoContextCtrl.h ├── SrtpHandler.cpp ├── SrtpHandler.h └── crypto │ ├── SrtpSymCrypto.cpp │ ├── SrtpSymCrypto.h │ ├── hmac.cpp │ ├── hmac.h │ ├── sha1.c │ └── sha1.h └── zrtp ├── Base32.cpp ├── EmojiBase32.cpp ├── ZIDCacheDb.cpp ├── ZIDCacheEmpty.cpp ├── ZIDCacheFile.cpp ├── ZIDRecordDb.cpp ├── ZIDRecordEmpty.cpp ├── ZIDRecordFile.cpp ├── ZRtp.cpp ├── ZrtpConfigure.cpp ├── ZrtpCrc32.cpp ├── ZrtpPacketClearAck.cpp ├── ZrtpPacketCommit.cpp ├── ZrtpPacketConf2Ack.cpp ├── ZrtpPacketConfirm.cpp ├── ZrtpPacketDHPart.cpp ├── ZrtpPacketError.cpp ├── ZrtpPacketErrorAck.cpp ├── ZrtpPacketGoClear.cpp ├── ZrtpPacketHello.cpp ├── ZrtpPacketHelloAck.cpp ├── ZrtpPacketPing.cpp ├── ZrtpPacketPingAck.cpp ├── ZrtpPacketRelayAck.cpp ├── ZrtpPacketSASrelay.cpp ├── ZrtpSdesStream.cpp ├── ZrtpStateClass.cpp ├── ZrtpTextData.cpp ├── crypto ├── aesCFB.cpp ├── aesCFB.h ├── hmac256.cpp ├── hmac256.h ├── hmac384.cpp ├── hmac384.h ├── sha2.c ├── sha2.h ├── sha256.cpp ├── sha256.h ├── sha384.cpp ├── sha384.h ├── skein256.cpp ├── skein256.h ├── skein384.cpp ├── skein384.h ├── skeinMac256.cpp ├── skeinMac256.h ├── skeinMac384.cpp ├── skeinMac384.h ├── twoCFB.cpp ├── twoCFB.h ├── zrtpDH.cpp └── zrtpDH.h ├── libzrtpcpp ├── Base32.h ├── EmojiBase32.h ├── ZIDCache.h ├── ZIDCacheDb.h ├── ZIDCacheEmpty.h ├── ZIDCacheFile.h ├── ZIDRecord.h ├── ZIDRecordDb.h ├── ZIDRecordEmpty.h ├── ZIDRecordFile.h ├── ZRtp.h ├── ZrtpCallback.h ├── ZrtpCodes.h ├── ZrtpConfigure.h ├── ZrtpCrc32.h ├── ZrtpPacketBase.h ├── ZrtpPacketClearAck.h ├── ZrtpPacketCommit.h ├── ZrtpPacketConf2Ack.h ├── ZrtpPacketConfirm.h ├── ZrtpPacketDHPart.h ├── ZrtpPacketError.h ├── ZrtpPacketErrorAck.h ├── ZrtpPacketGoClear.h ├── ZrtpPacketHello.h ├── ZrtpPacketHelloAck.h ├── ZrtpPacketPing.h ├── ZrtpPacketPingAck.h ├── ZrtpPacketRelayAck.h ├── ZrtpPacketSASrelay.h ├── ZrtpSdesStream.h ├── ZrtpStateClass.h ├── ZrtpStates.h ├── ZrtpTextData.h ├── ZrtpUserCallback.h ├── zrtpB64Decode.h ├── zrtpB64Encode.h ├── zrtpCacheDbBackend.h └── zrtpPacket.h ├── zrtpB64Decode.c ├── zrtpB64Encode.c └── zrtpCacheSqliteBackend.c /.gitignore: -------------------------------------------------------------------------------- 1 | **/Debug_Build 2 | **/Release_Build 3 | **/Release 4 | **/Debug 5 | **/__history 6 | *.local 7 | *.bak 8 | *.obj 9 | *.depend 10 | tSIP.todo 11 | .i18n-editor-metadata -------------------------------------------------------------------------------- /baresip/include/baresip_base_config.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_BASE_CONFIG_H 2 | #define BARESIP_BASE_CONFIG_H 3 | 4 | #if 0 5 | #define USE_VIDEO 6 | #endif 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /baresip/include/baresip_conference.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_CONFERENCE_H 2 | #define BARESIP_CONFERENCE_H 3 | 4 | int baresip_start_conference(void); 5 | int baresip_debug_conference(void); 6 | 7 | #endif -------------------------------------------------------------------------------- /baresip/include/baresip_dialog_info_direction.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_DIALOG_INFO_DIRECTION 2 | #define BARESIP_DIALOG_INFO_DIRECTION 3 | 4 | enum dialog_info_direction { 5 | DIALOG_INFO_DIR_UNKNOWN = 0, 6 | DIALOG_INFO_DIR_INITIATOR, 7 | DIALOG_INFO_DIR_RECIPIENT 8 | }; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /baresip/include/baresip_dialog_info_status.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_DIALOG_INFO_STATUS 2 | #define BARESIP_DIALOG_INFO_STATUS 3 | 4 | #include "baresip_dialog_info_direction.h" 5 | 6 | enum dialog_info_status { 7 | DIALOG_INFO_UNKNOWN = 0, ///< not subscribed / subscription failed 8 | DIALOG_INFO_TERMINATED, 9 | DIALOG_INFO_EARLY, 10 | DIALOG_INFO_CONFIRMED 11 | }; 12 | 13 | struct dialog_data { 14 | enum dialog_info_direction direction; 15 | char identity_display[64]; 16 | char identity[64]; 17 | enum dialog_info_status status; 18 | }; 19 | 20 | enum { MAX_DIALOG_DATA_CNT = 6 }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /baresip/include/baresip_presence_status.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_PRESENCE_STATUS_H 2 | #define BARESIP_PRESENCE_STATUS_H 3 | 4 | enum presence_status { 5 | PRESENCE_UNKNOWN, 6 | PRESENCE_OPEN, 7 | PRESENCE_CLOSED, 8 | PRESENCE_BUSY 9 | }; 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /baresip/include/baresip_zrtp.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_ZRTP_H 2 | #define BARESIP_ZRTP_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | int baresip_zrtp_verify_sas(int session_id, bool verify); 9 | 10 | 11 | struct zrtp_st { 12 | bool active; 13 | char sas[32]; 14 | char cipher[64]; 15 | bool verified; 16 | }; 17 | 18 | typedef void (baresip_zrtp_state_h)(int session_id, struct zrtp_st *zrtp); 19 | 20 | void baresip_zrtp_init(baresip_zrtp_state_h *state_h); 21 | 22 | #ifdef __cplusplus 23 | } 24 | #endif 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /baresip/mk/win32-tc/baresip.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /baresip/modules/dialog_info/dialog_info.c: -------------------------------------------------------------------------------- 1 | /** \file 2 | \brief Dialog-info 3 | */ 4 | #include 5 | #include 6 | #include "dialog_info.h" 7 | 8 | 9 | static int module_init(void) 10 | { 11 | int err; 12 | 13 | err = dialog_info_subscriber_init(); 14 | if (err) 15 | return err; 16 | 17 | return 0; 18 | } 19 | 20 | 21 | static int module_close(void) 22 | { 23 | dialog_info_subscriber_close(); 24 | 25 | return 0; 26 | } 27 | 28 | 29 | const struct mod_export DECL_EXPORTS(dialog_info) = { 30 | "dialog-info", 31 | "application", 32 | module_init, 33 | module_close 34 | }; 35 | -------------------------------------------------------------------------------- /baresip/modules/dialog_info/dialog_info.h: -------------------------------------------------------------------------------- 1 | /** \file 2 | \brief Dialog-info subscriber (application/dialog-info+xml) 3 | */ 4 | 5 | int dialog_info_subscriber_init(void); 6 | void dialog_info_subscriber_close(void); 7 | 8 | -------------------------------------------------------------------------------- /baresip/modules/gzrtp/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # module.mk 3 | # 4 | # Copyright (C) 2010 - 2017 Alfred E. Heggestad 5 | # 6 | 7 | # 8 | # To build libzrtpcppcore run the following commands: 9 | # 10 | # git clone https://github.com/wernerd/ZRTPCPP.git 11 | # cd ZRTPCPP 12 | # mkdir build 13 | # cd build 14 | # cmake -DCMAKE_POSITION_INDEPENDENT_CODE=1 -DCORE_LIB=1 -DSDES=1 \ 15 | # -DBUILD_STATIC=1 .. 16 | # make 17 | # 18 | 19 | # GNU ZRTP C++ library (ZRTPCPP) source directory 20 | ZRTP_PATH ?= ../ZRTPCPP 21 | 22 | ZRTP_LIB := $(shell find $(ZRTP_PATH) -name libzrtpcppcore.a) 23 | 24 | MOD := gzrtp 25 | $(MOD)_SRCS += gzrtp.cpp session.cpp stream.cpp messages.cpp srtp.cpp 26 | $(MOD)_LFLAGS += $(ZRTP_LIB) -lstdc++ 27 | $(MOD)_CXXFLAGS += \ 28 | -I$(ZRTP_PATH) \ 29 | -I$(ZRTP_PATH)/zrtp \ 30 | -I$(ZRTP_PATH)/srtp 31 | 32 | $(MOD)_CXXFLAGS += -O2 -Wall -fPIC 33 | 34 | # Uncomment this if you want to use libre SRTP facilities instead of the ones 35 | # provided by ZRTPCPP. In this case only standard ciphers (AES) are supported. 36 | #$(MOD)_CXXFLAGS += -DGZRTP_USE_RE_SRTP=1 37 | 38 | include mk/mod.mk 39 | -------------------------------------------------------------------------------- /baresip/modules/gzrtp/session.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file session.h GNU ZRTP: Session class 3 | * 4 | * Copyright (C) 2010 - 2017 Alfred E. Heggestad 5 | */ 6 | #ifndef __SESSION_H 7 | #define __SESSION_H 8 | 9 | 10 | #include "gzrtp_stream.h" 11 | 12 | 13 | class Stream; 14 | class ZRTPConfig; 15 | 16 | class Session { 17 | public: 18 | Session(const ZRTPConfig& config); 19 | 20 | ~Session(); 21 | 22 | Stream *create_stream(const ZRTPConfig& config, 23 | udp_sock *rtpsock, 24 | udp_sock *rtcpsock, 25 | uint32_t local_ssrc, 26 | StreamMediaType media_type); 27 | 28 | int start_stream(Stream *stream); 29 | int id() const { return m_id; } 30 | 31 | bool request_master(Stream *stream); 32 | void on_secure(Stream *stream); 33 | 34 | static int verify_sas(int session_id, bool verify); 35 | 36 | private: 37 | static std::vector s_sessl; 38 | 39 | const bool m_start_parallel; 40 | int m_id; 41 | std::vector m_streams; 42 | Stream *m_master; 43 | unsigned int m_encrypted; 44 | }; 45 | 46 | 47 | #endif // __SESSION_H 48 | 49 | -------------------------------------------------------------------------------- /baresip/modules/gzrtp/srtp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file srtp.h GNU ZRTP: SRTP processing 3 | * 4 | * Copyright (C) 2010 - 2017 Alfred E. Heggestad 5 | */ 6 | #ifndef __SRTP_H 7 | #define __SRTP_H 8 | 9 | 10 | #include 11 | 12 | 13 | #ifdef GZRTP_USE_RE_SRTP 14 | struct srtp; 15 | #else 16 | class CryptoContext; 17 | class CryptoContextCtrl; 18 | #endif 19 | 20 | 21 | class Srtp { 22 | public: 23 | Srtp(int& err, const SrtpSecret_t *secrets, EnableSecurity part); 24 | ~Srtp(); 25 | 26 | int protect(struct mbuf *mb); 27 | int protect_ctrl(struct mbuf *mb); 28 | int unprotect(struct mbuf *mb); 29 | int unprotect_ctrl(struct mbuf *mb); 30 | 31 | private: 32 | int protect_int(struct mbuf *mb, bool control); 33 | int unprotect_int(struct mbuf *mb, bool control); 34 | 35 | #ifdef GZRTP_USE_RE_SRTP 36 | int32_t m_auth_tag_len; 37 | struct srtp *m_srtp; 38 | #else 39 | CryptoContext *m_cc; 40 | CryptoContextCtrl *m_cc_ctrl; 41 | #endif 42 | }; 43 | 44 | 45 | #endif // __SRTP_H 46 | 47 | -------------------------------------------------------------------------------- /baresip/modules/nullaudio/nullaudio.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * "NULL" audio device. For input: silence, for output: discarded data. 4 | */ 5 | #include 6 | #include 7 | #define WIN32_LEAN_AND_MEAN 8 | #include 9 | #include 10 | #include "nullaudio.h" 11 | 12 | 13 | #define DEBUG_MODULE "nullaudio" 14 | #define DEBUG_LEVEL 5 15 | #include 16 | 17 | 18 | static struct ausrc *ausrc; 19 | static struct auplay *auplay; 20 | 21 | 22 | static int nullaudio_init(void) 23 | { 24 | int err; 25 | 26 | err = ausrc_register(&ausrc, "nullaudio", nullaudio_src_alloc); 27 | err |= auplay_register(&auplay, "nullaudio", nullaudio_play_alloc); 28 | 29 | return err; 30 | } 31 | 32 | 33 | static int nullaudio_close(void) 34 | { 35 | ausrc = mem_deref(ausrc); 36 | auplay = mem_deref(auplay); 37 | 38 | return 0; 39 | } 40 | 41 | 42 | EXPORT_SYM const struct mod_export DECL_EXPORTS(nullaudio) = { 43 | "nullaudio", 44 | "sound", 45 | nullaudio_init, 46 | nullaudio_close 47 | }; 48 | -------------------------------------------------------------------------------- /baresip/modules/nullaudio/nullaudio.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * "NULL" audio device 4 | */ 5 | 6 | 7 | struct dspbuf { 8 | struct mbuf *mb; 9 | }; 10 | 11 | 12 | int nullaudio_src_alloc(struct ausrc_st **stp, struct ausrc *as, 13 | struct media_ctx **ctx, 14 | struct ausrc_prm *prm, const char *device, 15 | ausrc_read_h *rh, ausrc_error_h *errh, void *arg); 16 | int nullaudio_play_alloc(struct auplay_st **stp, struct auplay *ap, 17 | struct auplay_prm *prm, const char *device, 18 | auplay_write_h *wh, void *arg); 19 | -------------------------------------------------------------------------------- /baresip/modules/presence/presence.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file presence.c Presence module 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include "presence.h" 9 | 10 | 11 | static int module_init(void) 12 | { 13 | int err; 14 | 15 | err = subscriber_init(); 16 | if (err) 17 | return err; 18 | 19 | err = notifier_init(); 20 | if (err) 21 | return err; 22 | 23 | return 0; 24 | } 25 | 26 | 27 | static int module_close(void) 28 | { 29 | notifier_close(); 30 | subscriber_close(); 31 | 32 | return 0; 33 | } 34 | 35 | 36 | const struct mod_export DECL_EXPORTS(presence) = { 37 | "presence", 38 | "application", 39 | module_init, 40 | module_close 41 | }; 42 | -------------------------------------------------------------------------------- /baresip/modules/presence/presence.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file presence.h Presence module interface 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | int subscriber_init(void); 9 | void subscriber_close(void); 10 | 11 | 12 | int notifier_init(void); 13 | void notifier_close(void); 14 | -------------------------------------------------------------------------------- /baresip/modules/recorder/wavfile.h: -------------------------------------------------------------------------------- 1 | #ifndef WavFileH 2 | #define WavFileH 3 | 4 | #include 5 | 6 | FILE * wavfile_open(const char *filename, unsigned int channels, unsigned int samples_per_sec); 7 | void wavfile_close(FILE * file); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /baresip/modules/sdl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(sdl) 2 | 3 | set(SRCS sdl.c) 4 | 5 | if(STATIC) 6 | add_library(${PROJECT_NAME} OBJECT ${SRCS}) 7 | else() 8 | add_library(${PROJECT_NAME} MODULE ${SRCS}) 9 | endif() 10 | 11 | target_include_directories(${PROJECT_NAME} PRIVATE ${SDL_INCLUDE_DIRS}) 12 | target_link_libraries(${PROJECT_NAME} PRIVATE ${SDL_LIBRARIES}) 13 | -------------------------------------------------------------------------------- /baresip/modules/softvol/agc.h: -------------------------------------------------------------------------------- 1 | #ifndef AGC_H 2 | #define AGC_H 3 | 4 | #include 5 | #include 6 | 7 | struct agc_st { 8 | float gain; // current gain 9 | uint16_t history[300]; // peak values from each audio frame 10 | unsigned int history_cnt; // number of valid entries in history 11 | unsigned int history_pos; // position to write to 12 | }; 13 | 14 | void agc_reset(struct agc_st *st); 15 | 16 | void agc_process(struct agc_st *st, int16_t *sampv, size_t sampc, uint16_t target, float max_gain, float attack_rate, float release_rate); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /baresip/modules/softvol/gate.h: -------------------------------------------------------------------------------- 1 | #ifndef GATE_H 2 | #define GATE_H 3 | 4 | #include 5 | #include 6 | 7 | struct gate_st { 8 | int opened; 9 | float gain; // current gain 10 | unsigned int hold_samples; 11 | unsigned int srate; 12 | }; 13 | 14 | void gate_reset(struct gate_st *st, unsigned int srate); 15 | 16 | void gate_process(struct gate_st *st, int16_t *sampv, size_t sampc, uint16_t close_threshold, unsigned int hold_ms, float attack_ms, float release_ms); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /baresip/modules/srtp/sdes.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file /srtp/sdes.h SDP Security Descriptions for Media Streams API 3 | * 4 | * Copyright (C) 2010 Alfred E. Heggestad 5 | */ 6 | 7 | 8 | struct crypto { 9 | uint32_t tag; 10 | struct pl suite; 11 | struct pl key_method; 12 | struct pl key_info; 13 | struct pl lifetime; /* optional */ 14 | struct pl mki; /* optional */ 15 | struct pl sess_prms; /* optional */ 16 | }; 17 | 18 | extern const char sdp_attr_crypto[]; 19 | 20 | int sdes_encode_crypto(struct sdp_media *m, uint32_t tag, const char *suite, 21 | const char *key, size_t key_len); 22 | int sdes_decode_crypto(struct crypto *c, const char *val); 23 | -------------------------------------------------------------------------------- /baresip/modules/winwave2/winwave2.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file winwave2.h Windows sound driver -- internal api 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | * based on https://github.com/alfredh/baresip/issues/148 6 | */ 7 | 8 | 9 | struct dspbuf { 10 | WAVEHDR wh; 11 | struct mbuf *mb; 12 | }; 13 | 14 | 15 | int winwave2_src_alloc(struct ausrc_st **stp, struct ausrc *as, 16 | struct media_ctx **ctx, 17 | struct ausrc_prm *prm, const char *device, 18 | ausrc_read_h *rh, ausrc_error_h *errh, void *arg); 19 | int winwave2_play_alloc(struct auplay_st **stp, struct auplay *ap, 20 | struct auplay_prm *prm, const char *device, 21 | auplay_write_h *wh, void *arg); 22 | -------------------------------------------------------------------------------- /baresip/src/aufilt.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file aufilt.c Audio Filter 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include "core.h" 9 | 10 | 11 | static struct list afl; 12 | 13 | 14 | void aufilt_register(struct aufilt *af) 15 | { 16 | if (!af) 17 | return; 18 | 19 | list_append(&afl, &af->le, af); 20 | 21 | (void)re_printf("aufilt: %s\n", af->name); 22 | } 23 | 24 | 25 | void aufilt_unregister(struct aufilt *af) 26 | { 27 | if (!af) 28 | return; 29 | 30 | list_unlink(&af->le); 31 | } 32 | 33 | 34 | struct list *aufilt_list(void) 35 | { 36 | return &afl; 37 | } 38 | -------------------------------------------------------------------------------- /baresip/src/dtmf.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_DTMF_H 2 | #define BARESIP_DTMF_H 3 | 4 | /* DTMF inband transmitter */ 5 | #define DTMF_MAX_DIGITS 128 6 | 7 | struct dtmf_state { 8 | float kx[2]; 9 | float ky[2]; 10 | uint32_t duration; 11 | }; 12 | 13 | struct dtmf_generator { 14 | struct dtmf_state state[DTMF_MAX_DIGITS]; 15 | volatile uint16_t input_pos; 16 | volatile uint16_t output_pos; 17 | 18 | float x[2]; 19 | float y[2]; 20 | uint32_t duration; 21 | }; 22 | 23 | int dtmf_is_empty(struct dtmf_generator *pg); 24 | 25 | int dtmf_queue_digit(struct dtmf_generator *, uint8_t digit, 26 | uint32_t sample_rate, uint16_t tone_duration, 27 | uint16_t gap_duration); 28 | int dtmf_get_sample(struct dtmf_generator *pg, int16_t *psamp); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /baresip/src/magic.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file magic.h Interface to magic macros 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | //#ifndef RELEASE 9 | #if 0 10 | #ifndef MAGIC 11 | #error "macro MAGIC must be defined" 12 | #endif 13 | 14 | /** Check magic number */ 15 | #define MAGIC_DECL uint32_t magic; 16 | #define MAGIC_INIT(s) (s)->magic = MAGIC 17 | #define MAGIC_CHECK(s) \ 18 | if (MAGIC != s->magic) { \ 19 | DEBUG_WARNING("%s: wrong magic struct=%p (magic=0x%08x)\n", \ 20 | __FUNCTION__, s, s->magic); \ 21 | BREAKPOINT; \ 22 | } 23 | #else 24 | #define MAGIC_DECL 25 | #define MAGIC_INIT(s) 26 | #define MAGIC_CHECK(s) do {(void)(s);} while (0); 27 | #endif 28 | -------------------------------------------------------------------------------- /baresip/src/mctrl.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mctrl.c Media Control 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include "core.h" 9 | 10 | 11 | /* 12 | * RFC 5168 XML Schema for Media Control 13 | * note: deprecated, use RTCP FIR instead 14 | * 15 | * 16 | * Example XML Document: 17 | * 18 | *
19 | 
20 |    
21 |      
22 |        
23 |          
24 |            
25 | 	   
26 | 	 
27 |        
28 |      
29 | 
30 |   
31 | */ 32 | int mctrl_handle_media_control(struct pl *body, bool *pfu) 33 | { 34 | if (!body) 35 | return EINVAL; 36 | 37 | /* XXX: Poor-mans XML parsing (use xml-parser instead) */ 38 | if (0 == re_regex(body->p, body->l, "picture_fast_update")) { 39 | if (pfu) 40 | *pfu = true; 41 | } 42 | 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /baresip/src/tone_generator.h: -------------------------------------------------------------------------------- 1 | #ifndef BARESIP_TONE_GENERATOR_H 2 | #define BARESIP_TONE_GENERATOR_H 3 | 4 | #include 5 | 6 | struct tone_generator_channel 7 | { 8 | float amplitude; 9 | float frequency; 10 | }; 11 | 12 | struct tone_generator 13 | { 14 | unsigned int sample_id; 15 | struct tone_generator_channel channels[4]; 16 | }; 17 | 18 | int tone_generator_init(struct tone_generator *generator); 19 | 20 | int tone_generator_start(struct tone_generator *generator, unsigned int tone_id, float amplitude, float frequency); 21 | 22 | int tone_generator_stop(struct tone_generator *generator, unsigned int tone_id); 23 | 24 | void tone_generator_process(struct tone_generator *generator, uint32_t sample_rate, int16_t *sampv, uint32_t sampc); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /bccsdk/strmiids.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/bccsdk/strmiids.lib -------------------------------------------------------------------------------- /common/BtnController.h: -------------------------------------------------------------------------------- 1 | /** \file 2 | Small utility class to drive button state blocking reentrancy 3 | */ 4 | 5 | #ifndef BtnControllerH 6 | #define BtnControllerH 7 | 8 | #include 9 | 10 | class BtnController { 11 | private: 12 | TButton *btn; 13 | public: 14 | BtnController(TButton *btn): btn(btn) { 15 | assert(btn); 16 | btn->Enabled = false; 17 | } 18 | ~BtnController(void) { 19 | btn->Enabled = true; 20 | } 21 | }; 22 | 23 | #endif -------------------------------------------------------------------------------- /common/KeybKeys.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef KeybKeysH 4 | #define KeybKeysH 5 | //--------------------------------------------------------------------------- 6 | 7 | struct vkey { 8 | char* name; 9 | unsigned char vkey; 10 | char* description; 11 | }; 12 | extern const vkey vkey_list[]; 13 | unsigned int vkey_list_size(void); 14 | int vkey_find(const char* name); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /common/MathUtils.cpp: -------------------------------------------------------------------------------- 1 | #include "MathUtils.h" 2 | #include 3 | #include 4 | #include 5 | 6 | bool MathUtils::AlmostEqual(double v1, double v2) { 7 | if (std::fabs(v1) < 1e-10 && std::fabs(v2) < 1e-10) { 8 | return true; 9 | } 10 | return (std::fabs(v1 - v2) < std::fabs(std::min(v1, v2)) * std::numeric_limits::epsilon()); 11 | } 12 | -------------------------------------------------------------------------------- /common/MathUtils.h: -------------------------------------------------------------------------------- 1 | #ifndef MathUtilsH 2 | #define MathUtilsH 3 | 4 | namespace MathUtils { 5 | 6 | bool AlmostEqual(double v1, double v2); 7 | 8 | } 9 | 10 | #endif -------------------------------------------------------------------------------- /common/Mutex.h: -------------------------------------------------------------------------------- 1 | #ifndef MutexH 2 | #define MutexH 3 | 4 | class Mutex 5 | { 6 | public: 7 | Mutex () { InitializeCriticalSection(&cs); } 8 | ~Mutex () { DeleteCriticalSection(&cs); } 9 | // Waits for ownership of the specified critical section object. 10 | // The function returns when the calling thread is granted ownership. 11 | inline void lock () { EnterCriticalSection(&cs); } 12 | inline void unlock () { LeaveCriticalSection(&cs); } 13 | private: 14 | CRITICAL_SECTION cs; 15 | Mutex(const Mutex&); 16 | Mutex& operator = (const Mutex&); 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /common/NetworkUtils.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "NetworkUtils.h" 7 | #include "StaticCheck.h" 8 | #include 9 | 10 | //--------------------------------------------------------------------------- 11 | 12 | #pragma package(smart_init) 13 | 14 | int GetAdaptersInfoIp(std::vector &ips) 15 | { 16 | IP_ADAPTER_INFO info[32]; 17 | ULONG ulOutBufLen = sizeof(info); 18 | DWORD ret; 19 | 20 | ips.clear(); 21 | 22 | ret = GetAdaptersInfo(info, &ulOutBufLen); 23 | if (ret != ERROR_SUCCESS) { 24 | STATIC_CHECK(ERROR_SUCCESS == 0, UnexpectedStatusVal); 25 | return ret; 26 | } 27 | 28 | for (PIP_ADAPTER_INFO p = info; p; p = p->Next) { 29 | IP_ADDR_STRING *IpAddress = &p->IpAddressList; 30 | while (IpAddress) 31 | { 32 | ips.push_back(IpAddress->IpAddress.String); 33 | IpAddress = IpAddress->Next; 34 | } 35 | } 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /common/NetworkUtils.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef NetworkUtilsH 4 | #define NetworkUtilsH 5 | //--------------------------------------------------------------------------- 6 | #include 7 | #include 8 | 9 | /** \brief Use WinAPI GetAdaptersInfo() to get system IP addresses 10 | \return 0 on success 11 | */ 12 | int GetAdaptersInfoIp(std::vector &ips); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /common/OS.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef OSH 4 | #define OSH 5 | //--------------------------------------------------------------------------- 6 | bool IsWin7OrLater(void); 7 | bool IsWinVistaOrLater(void); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /common/Observer.h: -------------------------------------------------------------------------------- 1 | #ifndef ObserverH 2 | #define ObserverH 3 | 4 | class Observable; 5 | 6 | class Argument 7 | { 8 | virtual void dummy(void) {} 9 | }; 10 | 11 | class Observer 12 | { 13 | public: 14 | // Called by the observed object, whenever 15 | // the observed object is changed: 16 | virtual void obsUpdate(Observable* o, Argument * arg) = 0; 17 | }; 18 | #endif 19 | -------------------------------------------------------------------------------- /common/ScopedLock.h: -------------------------------------------------------------------------------- 1 | #ifndef ScopedLockH 2 | #define ScopedLockH 3 | 4 | // Usage: ScopedLock lock(mutex); 5 | template class ScopedLock 6 | { 7 | public: 8 | ScopedLock(M& mutex): m_mutex(mutex) { 9 | m_mutex.lock(); 10 | } 11 | ~ScopedLock() { 12 | m_mutex.unlock(); 13 | } 14 | private: 15 | M& m_mutex; 16 | ScopedLock(); 17 | ScopedLock(const ScopedLock&); 18 | ScopedLock& operator = (const ScopedLock&); 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /common/StaticCheck.h: -------------------------------------------------------------------------------- 1 | #ifndef StaticCheckH 2 | #define StaticCheckH 3 | 4 | template struct CompileTimeError; 5 | template<> struct CompileTimeError {}; 6 | #define STATIC_CHECK(expr, msg) { CompileTimeError<((expr) != 0)> ERROR_##msg; (void)ERROR_##msg; } 7 | 8 | #endif -------------------------------------------------------------------------------- /common/TelecomUtils.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef TelecomUtilsH 4 | #define TelecomUtilsH 5 | //--------------------------------------------------------------------------- 6 | #include 7 | 8 | AnsiString ExtractNumberFromUri(AnsiString uri); 9 | AnsiString CleanNumber(AnsiString asNumber); 10 | AnsiString GetClip(AnsiString uri, bool userOnly); 11 | AnsiString CleanUri(AnsiString uri); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /common/Unicode.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef UnicodeH 4 | #define UnicodeH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | AnsiString Utf8ToAnsi(AnsiString utf8); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /common/Utilities.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef UtilitiesH 4 | #define UtilitiesH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | /** Get version (windows/resource based) of specified file 10 | */ 11 | AnsiString GetFileVer(AnsiString FileName); 12 | 13 | void GetFileVer(AnsiString FileName, unsigned int &FileVersionMS, unsigned int &FileVersionLS); 14 | 15 | int GetFileWriteTime(AnsiString name, FILETIME *ftWrite); 16 | 17 | char* urlencode(char* buf, size_t blen, const char* s); 18 | 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /common/WindowsMessageFilter.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "WindowsMessageFilter.h" 7 | 8 | //--------------------------------------------------------------------------- 9 | 10 | #pragma package(smart_init) 11 | 12 | 13 | typedef BOOL (WINAPI *LPFN_CHANGEWINDOWMESSAGEFILTER) (UINT, DWORD); 14 | 15 | LPFN_CHANGEWINDOWMESSAGEFILTER fnChangeWindowMessageFilter; 16 | BOOL ChangeWindowMessageFilter(UINT message, DWORD what) 17 | { 18 | 19 | fnChangeWindowMessageFilter = (LPFN_CHANGEWINDOWMESSAGEFILTER)GetProcAddress(GetModuleHandle(TEXT("user32")),"ChangeWindowMessageFilter"); 20 | 21 | if (NULL != fnChangeWindowMessageFilter) 22 | { 23 | return fnChangeWindowMessageFilter(message,what); 24 | } 25 | else return true; 26 | } -------------------------------------------------------------------------------- /common/WindowsMessageFilter.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef WindowsMessageFilterH 4 | #define WindowsMessageFilterH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | /// Adds the message to the filter. This has the effect of allowing the message to be received. 10 | #define MSGFLT_ADD 1 11 | 12 | /// Removes the message from the filter. This has the effect of blocking the message. 13 | #define MSGFLT_REMOVE 2 14 | 15 | BOOL ChangeWindowMessageFilter(UINT message, DWORD what); 16 | 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /common/base64.h: -------------------------------------------------------------------------------- 1 | #ifndef BASE64H 2 | #define BASE64H 3 | 4 | #ifdef __BORLANDC__ 5 | # pragma pack(push, 8) 6 | #endif 7 | #include 8 | #include 9 | #ifdef __BORLANDC__ 10 | # pragma pack(pop) 11 | #endif 12 | 13 | enum BASE64_ALPHABET { 14 | BASE64_ALPHABET_BASIC = 0, 15 | BASE64_ALPHABET_FSAFE // file-safe 16 | }; 17 | 18 | std::string base64_encode(unsigned char const* , unsigned int in_len, enum BASE64_ALPHABET alphabet = BASE64_ALPHABET_BASIC); 19 | std::string base64_decode(std::string const& encoded_string, enum BASE64_ALPHABET alphabet = BASE64_ALPHABET_BASIC); 20 | 21 | #endif // BASE64H 22 | -------------------------------------------------------------------------------- /common/common.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #if 0 3 | #include 4 | #pragma hdrstop 5 | #endif 6 | #define Library 7 | 8 | // To add a file to the library use the Project menu 'Add to Project'. 9 | 10 | -------------------------------------------------------------------------------- /common/fifo.h: -------------------------------------------------------------------------------- 1 | #ifndef FifoH 2 | #define FifoH 3 | 4 | template 5 | class Fifo { 6 | private: 7 | volatile int m_Read; 8 | volatile int m_Write; 9 | volatile T m_Data[Size]; 10 | 11 | public: 12 | Fifo() 13 | { 14 | m_Read = 0; 15 | m_Write = 0; 16 | } 17 | 18 | T* getWriteable(void) { 19 | int nextElement = (m_Write + 1) % Size; 20 | if(nextElement != m_Read) { 21 | return const_cast(&m_Data[m_Write]); 22 | } else { 23 | return NULL; 24 | } 25 | } 26 | 27 | bool push(void) { 28 | int nextElement = (m_Write + 1) % Size; 29 | if(nextElement != m_Read) 30 | { 31 | m_Write = nextElement; 32 | return true; 33 | } 34 | else 35 | return false; 36 | } 37 | 38 | T* getReadable(void) { 39 | if(m_Read == m_Write) 40 | return NULL; 41 | return const_cast(&m_Data[m_Read]); 42 | } 43 | 44 | bool pop(void) { 45 | if(m_Read == m_Write) 46 | return false; 47 | int nextElement = (m_Read + 1) % Size; 48 | m_Read = nextElement; 49 | return true; 50 | } 51 | }; 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /common/singleton.h: -------------------------------------------------------------------------------- 1 | /** \file singleton.h 2 | \brief Singleton object creational pattern template 3 | */ 4 | 5 | /* 6 | Usage: 7 | 8 | class CSth : public CSingleton 9 | { 10 | friend CSingleton; 11 | private: 12 | CSth(); 13 | ~CSth(); 14 | ... 15 | } 16 | 17 | */ 18 | 19 | #ifndef SingletonH 20 | #define SingletonH 21 | 22 | template 23 | class CSingleton 24 | { 25 | public: 26 | 27 | static T* Instance() 28 | { 29 | if (instance == NULL) instance = new T; 30 | return instance; 31 | }; 32 | static Destroy() 33 | { 34 | delete instance; 35 | instance = NULL; 36 | }; 37 | protected: 38 | CSingleton() {}; 39 | virtual ~CSingleton() {}; 40 | private: 41 | CSingleton(const CSingleton& source) { 42 | }; 43 | CSingleton& operator=(const CSingleton&); 44 | static T* instance; 45 | }; 46 | 47 | // static initialization 48 | template T* CSingleton::instance = NULL; 49 | 50 | 51 | #endif -------------------------------------------------------------------------------- /cppcheck/tSIP.cppcheck: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ffmpeg/include/libavutil/avconfig.h: -------------------------------------------------------------------------------- 1 | /* Generated by ffmpeg configure */ 2 | #ifndef AVUTIL_AVCONFIG_H 3 | #define AVUTIL_AVCONFIG_H 4 | #define AV_HAVE_BIGENDIAN 0 5 | #define AV_HAVE_FAST_UNALIGNED 1 6 | #endif /* AVUTIL_AVCONFIG_H */ 7 | -------------------------------------------------------------------------------- /ffmpeg/lib/avcodec-59.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/ffmpeg/lib/avcodec-59.lib -------------------------------------------------------------------------------- /ffmpeg/lib/avdevice-59.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/ffmpeg/lib/avdevice-59.lib -------------------------------------------------------------------------------- /ffmpeg/lib/avformat-59.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/ffmpeg/lib/avformat-59.lib -------------------------------------------------------------------------------- /ffmpeg/lib/avutil-57.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/ffmpeg/lib/avutil-57.lib -------------------------------------------------------------------------------- /ffmpeg/lib/info.txt: -------------------------------------------------------------------------------- 1 | Lib files generated with: 2 | implib -a avcodec-59.lib avcodec-59.dll -------------------------------------------------------------------------------- /ffmpeg/lib/swresample-4.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/ffmpeg/lib/swresample-4.lib -------------------------------------------------------------------------------- /g722/GNUmakefile: -------------------------------------------------------------------------------- 1 | VPATH = . 2 | 3 | PREFIX?= /usr/local 4 | LIBDIR= ${PREFIX}/lib 5 | INCLUDEDIR= ${PREFIX}/include 6 | 7 | SRCS_C= g722_decode.c g722_encode.c 8 | SRCS_H= g722.h g722_private.h g722_encoder.h g722_decoder.h 9 | 10 | CFLAGS?= -O2 -pipe 11 | 12 | OBJS = $(SRCS_C:.c=.o) 13 | 14 | all: libg722.a 15 | 16 | libg722.a: $(OBJS) $(SRCS_H) 17 | $(AR) cq $@ $(OBJS) 18 | ranlib $@ 19 | 20 | .c.o: 21 | $(CC) -c $(CFLAGS) $< -o $@ 22 | 23 | clean: 24 | rm -f libg722.a $(OBJS) test test.raw 25 | 26 | test: test.c libg722.a 27 | ${CC} ${CFLAGS} -o test test.c libg722.a -lm 28 | 29 | install: 30 | install -d ${DESTDIR}${LIBDIR} 31 | install libg722.a ${DESTDIR}${LIBDIR} 32 | install -d ${DESTDIR}${INCLUDEDIR} 33 | install ${SRCS_H} ${DESTDIR}${INCLUDEDIR} 34 | -------------------------------------------------------------------------------- /g722/Makefile: -------------------------------------------------------------------------------- 1 | # $Id: Makefile,v 1.1 2012/08/07 11:33:45 sobomax Exp $ 2 | 3 | LIB= g722 4 | PREFIX?= /usr/local 5 | LIBDIR= ${PREFIX}/lib 6 | NO_SHARED= YES 7 | NO_PROFILE= YES 8 | INCLUDEDIR= ${PREFIX}/include 9 | MAN= 10 | SRCS= g722_decode.c g722_encode.c 11 | INCS= g722.h g722_private.h g722_encoder.h g722_decoder.h 12 | WARNS?= 2 13 | CFLAGS+= -I${.CURDIR} ${PICFLAG} 14 | 15 | CLEANFILES+=test test.raw 16 | 17 | test: test.c lib${LIB}.a 18 | rm -f ${.CURDIR}/test.raw 19 | ${CC} ${CFLAGS} -o ${.CURDIR}/test test.c lib${LIB}.a -lm 20 | ${.CURDIR}/test 21 | sha256 test.raw | diff ${.CURDIR}/test.checksum - 22 | 23 | .include 24 | -------------------------------------------------------------------------------- /g722/README.md: -------------------------------------------------------------------------------- 1 | # libg722 2 | 3 | Written by Steve Underwood 4 | 5 | Copyright (C) 2005 Steve Underwood 6 | 7 | Despite my general liking of the GPL, I place my own contributions 8 | to this code in the public domain for the benefit of all mankind - 9 | even the slimy ones who might try to proprietize my work and use it 10 | to my detriment. 11 | 12 | Based on a single channel G.722 codec which is: 13 | 14 | ***** Copyright (c) CMU 1993 ***** 15 | * Computer Science, Speech Group 16 | * Chengxiang Lu and Alex Hauptmann 17 | 18 | 19 | The G.722 module is a bit exact implementation of the ITU G.722 specification 20 | for all three specified bit rates - 64000bps, 56000bps and 48000bps. It passes 21 | the ITU tests. 22 | 23 | To allow fast and flexible interworking with narrow band telephony, the encoder 24 | and decoder support an option for the linear audio to be an 8k samples/second 25 | stream. In this mode the codec is considerably faster, and still fully 26 | compatible with wideband terminals using G.722. 27 | -------------------------------------------------------------------------------- /g722/g722.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /g722/test.checksum: -------------------------------------------------------------------------------- 1 | SHA256 (test.raw) = 8eb29e8e9feb9709d96c7bbda37cbb2f77510fcfab2d1f48a495178cd2231253 2 | -------------------------------------------------------------------------------- /g722/test.g722: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/g722/test.g722 -------------------------------------------------------------------------------- /gsm/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, 2 | Technische Universitaet Berlin 3 | 4 | Any use of this software is permitted provided that this notice is not 5 | removed and that neither the authors nor the Technische Universitaet Berlin 6 | are deemed to have made any representations as to the suitability of this 7 | software for any purpose nor are held responsible for any defects of 8 | this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 9 | 10 | As a matter of courtesy, the authors request to be informed about uses 11 | this software has found, about bugs in this software, and about any 12 | improvements that may be of general interest. 13 | 14 | Berlin, 28.11.1994 15 | Jutta Degener 16 | Carsten Bormann 17 | -------------------------------------------------------------------------------- /gsm/build/gsm.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /gsm/inc/unproto.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | /*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/unproto.h,v 1.1 1992/10/28 00:11:08 jutta Exp $*/ 8 | 9 | #ifdef PROTO_H /* sic */ 10 | #undef PROTO_H 11 | 12 | #undef P 13 | #undef P0 14 | #undef P1 15 | #undef P2 16 | #undef P3 17 | #undef P4 18 | #undef P5 19 | #undef P6 20 | #undef P7 21 | #undef P8 22 | 23 | #endif /* PROTO_H */ 24 | -------------------------------------------------------------------------------- /gsm/src/gsm_create.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | static char const ident[] = "$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_create.c,v 1.4 1996/07/02 09:59:05 jutta Exp $"; 8 | 9 | #include "config.h" 10 | 11 | #ifdef HAS_STRING_H 12 | #include 13 | #else 14 | # include "proto.h" 15 | extern char * memset P((char *, int, int)); 16 | #endif 17 | 18 | #ifdef HAS_STDLIB_H 19 | # include 20 | #else 21 | # ifdef HAS_MALLOC_H 22 | # include 23 | # else 24 | extern char * malloc(); 25 | # endif 26 | #endif 27 | 28 | #include 29 | 30 | #include "gsm.h" 31 | #include "private.h" 32 | #include "proto.h" 33 | 34 | gsm gsm_create P0() 35 | { 36 | gsm r; 37 | 38 | r = (gsm)malloc(sizeof(struct gsm_state)); 39 | if (!r) return r; 40 | 41 | memset((char *)r, 0, sizeof(*r)); 42 | r->nrp = 40; 43 | 44 | return r; 45 | } 46 | -------------------------------------------------------------------------------- /gsm/src/gsm_destroy.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_destroy.c,v 1.3 1994/11/28 19:52:25 jutta Exp $ */ 8 | 9 | #include "gsm.h" 10 | #include "config.h" 11 | #include "proto.h" 12 | 13 | #ifdef HAS_STDLIB_H 14 | # include 15 | #else 16 | # ifdef HAS_MALLOC_H 17 | # include 18 | # else 19 | extern void free(); 20 | # endif 21 | #endif 22 | 23 | void gsm_destroy P1((S), gsm S) 24 | { 25 | if (S) free((char *)S); 26 | } 27 | -------------------------------------------------------------------------------- /gsm/src/toast_lin.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5 | */ 6 | 7 | /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/toast_lin.c,v 1.1 1992/10/28 00:15:50 jutta Exp $ */ 8 | 9 | #include "toast.h" 10 | 11 | /* toast_linear.c -- read and write 16 bit linear sound in host byte order. 12 | */ 13 | 14 | extern FILE *in, *out; 15 | 16 | int linear_input (buf) gsm_signal * buf; 17 | { 18 | return fread( (char *)buf, sizeof(*buf), 160, in ); 19 | } 20 | 21 | int linear_output P1((buf), gsm_signal * buf) 22 | { 23 | return -( fwrite( (char *)buf, sizeof(*buf), 160, out ) != 160 ); 24 | } 25 | -------------------------------------------------------------------------------- /inttypes/inttypes.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /jsoncpp/AUTHORS: -------------------------------------------------------------------------------- 1 | Baptiste Lepilleur 2 | -------------------------------------------------------------------------------- /jsoncpp/doc/footer.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 10 | 13 | 15 | 19 | 20 |
5 | 6 | SourceForge Logo 9 | 11 | hosts this site. 12 | 14 | 16 | Send comments to:
17 | Json-cpp Developers 18 |
21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /jsoncpp/doc/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JsonCpp - JSON data format manipulation library 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 21 | 22 |
14 | 15 | JsonCpp project page 16 | 17 | 19 | JsonCpp home page 20 |
23 | 24 |
25 | -------------------------------------------------------------------------------- /jsoncpp/doc/readme.txt: -------------------------------------------------------------------------------- 1 | The documentation is generated using doxygen (http://www.doxygen.org). 2 | -------------------------------------------------------------------------------- /jsoncpp/include/json/autolink.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_AUTOLINK_H_INCLUDED 2 | # define JSON_AUTOLINK_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | # ifdef JSON_IN_CPPTL 7 | # include 8 | # endif 9 | 10 | # if !defined(JSON_NO_AUTOLINK) && !defined(JSON_DLL_BUILD) && !defined(JSON_IN_CPPTL) 11 | # define CPPTL_AUTOLINK_NAME "json" 12 | # undef CPPTL_AUTOLINK_DLL 13 | # ifdef JSON_DLL 14 | # define CPPTL_AUTOLINK_DLL 15 | # endif 16 | # include "autolink.h" 17 | # endif 18 | 19 | #endif // JSON_AUTOLINK_H_INCLUDED 20 | -------------------------------------------------------------------------------- /jsoncpp/include/json/forwards.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_FORWARDS_H_INCLUDED 2 | # define JSON_FORWARDS_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | namespace Json { 7 | 8 | class FastWriter; 9 | class Reader; 10 | class StyledWriter; 11 | 12 | // value.h 13 | class StaticString; 14 | class Path; 15 | class PathArgument; 16 | class Value; 17 | class ValueIteratorBase; 18 | class ValueIterator; 19 | class ValueConstIterator; 20 | #ifdef JSON_VALUE_USE_INTERNAL_MAP 21 | class ValueAllocator; 22 | class ValueMapAllocator; 23 | class ValueInternalLink; 24 | class ValueInternalArray; 25 | class ValueInternalMap; 26 | #endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP 27 | 28 | } // namespace Json 29 | 30 | 31 | #endif // JSON_FORWARDS_H_INCLUDED 32 | -------------------------------------------------------------------------------- /jsoncpp/include/json/json.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_JSON_H_INCLUDED 2 | # define JSON_JSON_H_INCLUDED 3 | 4 | # include "autolink.h" 5 | # include "value.h" 6 | # include "reader.h" 7 | # include "writer.h" 8 | 9 | #endif // JSON_JSON_H_INCLUDED 10 | -------------------------------------------------------------------------------- /jsoncpp/jsoncpp.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /jsoncpp/src/jsontestrunner/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env_testing buildJSONTests' ) 2 | 3 | buildJSONTests( env_testing, Split( """ 4 | main.cpp 5 | """ ), 6 | 'jsontestrunner' ) 7 | 8 | # For 'check' to work, 'libs' must be built first. 9 | env_testing.Depends('jsontestrunner', '#libs') 10 | -------------------------------------------------------------------------------- /jsoncpp/src/lib_json/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env buildLibrary' ) 2 | 3 | buildLibrary( env, Split( """ 4 | json_reader.cpp 5 | json_value.cpp 6 | json_writer.cpp 7 | """ ), 8 | 'json' ) 9 | -------------------------------------------------------------------------------- /lua/README: -------------------------------------------------------------------------------- 1 | 2 | This is Lua 5.2.1, released on 08 Jun 2012. 3 | 4 | For installation instructions, license details, and 5 | further information about Lua, see doc/readme.html. 6 | 7 | -------------------------------------------------------------------------------- /lua/doc/index.css: -------------------------------------------------------------------------------- 1 | ul { 2 | list-style-type: none ; 3 | } 4 | 5 | ul.contents { 6 | padding: 0 ; 7 | } 8 | 9 | table { 10 | border: none ; 11 | border-spacing: 0 ; 12 | border-collapse: collapse ; 13 | } 14 | 15 | td { 16 | vertical-align: top ; 17 | padding: 0 ; 18 | text-align: left ; 19 | line-height: 1.25 ; 20 | width: 15% ; 21 | } 22 | -------------------------------------------------------------------------------- /lua/doc/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/lua/doc/logo.gif -------------------------------------------------------------------------------- /lua/doc/manual.css: -------------------------------------------------------------------------------- 1 | h3 code { 2 | font-family: inherit ; 3 | font-size: inherit ; 4 | } 5 | 6 | pre, code { 7 | font-size: 12pt ; 8 | } 9 | 10 | span.apii { 11 | color: gray ; 12 | float: right ; 13 | font-family: inherit ; 14 | font-style: normal ; 15 | font-size: small ; 16 | } 17 | 18 | h2:before { 19 | content: "" ; 20 | padding-right: 0em ; 21 | } 22 | -------------------------------------------------------------------------------- /lua/doc/osi-certified-72x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/lua/doc/osi-certified-72x60.png -------------------------------------------------------------------------------- /lua/src/lapi.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lapi.h,v 2.9 2015/03/06 19:49:50 roberto Exp $ 3 | ** Auxiliary functions from Lua API 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lapi_h 8 | #define lapi_h 9 | 10 | 11 | #include "llimits.h" 12 | #include "lstate.h" 13 | 14 | #define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \ 15 | "stack overflow");} 16 | 17 | #define adjustresults(L,nres) \ 18 | { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; } 19 | 20 | #define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \ 21 | "not enough elements in the stack") 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /lua/src/lprefix.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lprefix.h,v 1.2 2014/12/29 16:54:13 roberto Exp $ 3 | ** Definitions for Lua code that must come before any other header file 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lprefix_h 8 | #define lprefix_h 9 | 10 | 11 | /* 12 | ** Allows POSIX/XSI stuff 13 | */ 14 | #if !defined(LUA_USE_C89) /* { */ 15 | 16 | #if !defined(_XOPEN_SOURCE) 17 | #define _XOPEN_SOURCE 600 18 | #elif _XOPEN_SOURCE == 0 19 | #undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */ 20 | #endif 21 | 22 | /* 23 | ** Allows manipulation of large files in gcc and some other compilers 24 | */ 25 | #if !defined(LUA_32BITS) && !defined(_FILE_OFFSET_BITS) 26 | #define _LARGEFILE_SOURCE 1 27 | #define _FILE_OFFSET_BITS 64 28 | #endif 29 | 30 | #endif /* } */ 31 | 32 | 33 | /* 34 | ** Windows stuff 35 | */ 36 | #if defined(_WIN32) /* { */ 37 | 38 | #if !defined(_CRT_SECURE_NO_WARNINGS) 39 | #define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */ 40 | #endif 41 | 42 | #endif /* } */ 43 | 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /lua/src/lua.hpp: -------------------------------------------------------------------------------- 1 | // lua.hpp 2 | // Lua header files for C++ 3 | // <> not supplied automatically because Lua also compiles as C++ 4 | 5 | extern "C" { 6 | #include "lua.h" 7 | #include "lualib.h" 8 | #include "lauxlib.h" 9 | } 10 | -------------------------------------------------------------------------------- /lua/src/lundump.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lundump.h,v 1.45 2015/09/08 15:41:05 roberto Exp $ 3 | ** load precompiled Lua chunks 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lundump_h 8 | #define lundump_h 9 | 10 | #include "llimits.h" 11 | #include "lobject.h" 12 | #include "lzio.h" 13 | 14 | 15 | /* data to catch conversion errors */ 16 | #define LUAC_DATA "\x19\x93\r\n\x1a\n" 17 | 18 | #define LUAC_INT 0x5678 19 | #define LUAC_NUM cast_num(370.5) 20 | 21 | #define MYINT(s) (s[0]-'0') 22 | #define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)) 23 | #define LUAC_FORMAT 0 /* this is the official format */ 24 | 25 | /* load one chunk; from lundump.c */ 26 | LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name); 27 | 28 | /* dump one chunk; from ldump.c */ 29 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, 30 | void* data, int strip); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /lua/turbo_cpp/lua_static.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/__DECC_INCLUDE_EPILOGUE.H: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | /* 11 | * This file is only used by HP C on VMS, and is included automatically 12 | * after each header file from this directory 13 | */ 14 | 15 | /* restore state. Must correspond to the save in __decc_include_prologue.h */ 16 | #pragma names restore 17 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/__DECC_INCLUDE_PROLOGUE.H: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | /* 11 | * This file is only used by HP C on VMS, and is included automatically 12 | * after each header file from this directory 13 | */ 14 | 15 | /* save state */ 16 | #pragma names save 17 | /* have the compiler shorten symbols larger than 31 chars to 23 chars 18 | * followed by a 8 hex char CRC 19 | */ 20 | #pragma names as_is,shortened 21 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/asn1_mac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #error "This file is obsolete; please update your software." 11 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/buffererr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Generated by util/mkerr.pl DO NOT EDIT 3 | * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. 4 | * 5 | * Licensed under the OpenSSL license (the "License"). You may not use 6 | * this file except in compliance with the License. You can obtain a copy 7 | * in the file LICENSE in the source distribution or at 8 | * https://www.openssl.org/source/license.html 9 | */ 10 | 11 | #ifndef HEADER_BUFERR_H 12 | # define HEADER_BUFERR_H 13 | 14 | # ifndef HEADER_SYMHACKS_H 15 | # include 16 | # endif 17 | 18 | # ifdef __cplusplus 19 | extern "C" 20 | # endif 21 | int ERR_load_BUF_strings(void); 22 | 23 | /* 24 | * BUF function codes. 25 | */ 26 | # define BUF_F_BUF_MEM_GROW 100 27 | # define BUF_F_BUF_MEM_GROW_CLEAN 105 28 | # define BUF_F_BUF_MEM_NEW 101 29 | 30 | /* 31 | * BUF reason codes. 32 | */ 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #ifndef HEADER_EBCDIC_H 11 | # define HEADER_EBCDIC_H 12 | 13 | # include 14 | 15 | #ifdef __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | /* Avoid name clashes with other applications */ 20 | # define os_toascii _openssl_os_toascii 21 | # define os_toebcdic _openssl_os_toebcdic 22 | # define ebcdic2ascii _openssl_ebcdic2ascii 23 | # define ascii2ebcdic _openssl_ascii2ebcdic 24 | 25 | extern const unsigned char os_toascii[256]; 26 | extern const unsigned char os_toebcdic[256]; 27 | void *ebcdic2ascii(void *dest, const void *srce, size_t count); 28 | void *ascii2ebcdic(void *dest, const void *srce, size_t count); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | #endif 34 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/ecdh.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #include 11 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/ecdsa.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #include 11 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #ifndef HEADER_PEM2_H 11 | # define HEADER_PEM2_H 12 | # include 13 | #endif 14 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #ifndef HEADER_RC4_H 11 | # define HEADER_RC4_H 12 | 13 | # include 14 | 15 | # ifndef OPENSSL_NO_RC4 16 | # include 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | typedef struct rc4_key_st { 22 | RC4_INT x, y; 23 | RC4_INT data[256]; 24 | } RC4_KEY; 25 | 26 | const char *RC4_options(void); 27 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 28 | void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, 29 | unsigned char *outdata); 30 | 31 | # ifdef __cplusplus 32 | } 33 | # endif 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /openssl/inc32/openssl/ssl2.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. 3 | * 4 | * Licensed under the OpenSSL license (the "License"). You may not use 5 | * this file except in compliance with the License. You can obtain a copy 6 | * in the file LICENSE in the source distribution or at 7 | * https://www.openssl.org/source/license.html 8 | */ 9 | 10 | #ifndef HEADER_SSL2_H 11 | # define HEADER_SSL2_H 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | # define SSL2_VERSION 0x0002 18 | 19 | # define SSL2_MT_CLIENT_HELLO 1 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /openssl/out32/libcrypto-1_1.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/openssl/out32/libcrypto-1_1.lib -------------------------------------------------------------------------------- /openssl/out32/libssl-1_1.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/openssl/out32/libssl-1_1.lib -------------------------------------------------------------------------------- /opus/AUTHORS: -------------------------------------------------------------------------------- 1 | Jean-Marc Valin (jmvalin@jmvalin.ca) 2 | Koen Vos (koenvos74@gmail.com) 3 | Timothy Terriberry (tterribe@xiph.org) 4 | Karsten Vandborg Sorensen (karsten.vandborg.sorensen@skype.net) 5 | Soren Skak Jensen (ssjensen@gn.com) 6 | Gregory Maxwell (greg@xiph.org) 7 | -------------------------------------------------------------------------------- /opus/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/opus/ChangeLog -------------------------------------------------------------------------------- /opus/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/opus/NEWS -------------------------------------------------------------------------------- /opus/celt_sources.mk: -------------------------------------------------------------------------------- 1 | CELT_SOURCES = celt/bands.c \ 2 | celt/celt.c \ 3 | celt/celt_encoder.c \ 4 | celt/celt_decoder.c \ 5 | celt/cwrs.c \ 6 | celt/entcode.c \ 7 | celt/entdec.c \ 8 | celt/entenc.c \ 9 | celt/kiss_fft.c \ 10 | celt/laplace.c \ 11 | celt/mathops.c \ 12 | celt/mdct.c \ 13 | celt/modes.c \ 14 | celt/pitch.c \ 15 | celt/celt_lpc.c \ 16 | celt/quant_bands.c \ 17 | celt/rate.c \ 18 | celt/vq.c 19 | 20 | CELT_SOURCES_SSE = celt/x86/x86cpu.c \ 21 | celt/x86/x86_celt_map.c \ 22 | celt/x86/pitch_sse.c 23 | 24 | CELT_SOURCES_SSE2 = celt/x86/pitch_sse2.c 25 | 26 | CELT_SOURCES_SSE4_1 = celt/x86/celt_lpc_sse.c \ 27 | celt/x86/pitch_sse4_1.c 28 | 29 | CELT_SOURCES_ARM = \ 30 | celt/arm/armcpu.c \ 31 | celt/arm/arm_celt_map.c 32 | 33 | CELT_SOURCES_ARM_ASM = \ 34 | celt/arm/celt_pitch_xcorr_arm.s 35 | 36 | CELT_AM_SOURCES_ARM_ASM = \ 37 | celt/arm/armopts.s.in 38 | 39 | CELT_SOURCES_ARM_NEON_INTR = \ 40 | celt/arm/celt_neon_intr.c 41 | 42 | CELT_SOURCES_ARM_NE10= \ 43 | celt/arm/celt_ne10_fft.c \ 44 | celt/arm/celt_ne10_mdct.c 45 | -------------------------------------------------------------------------------- /opus/doc/TODO: -------------------------------------------------------------------------------- 1 | define audio bandwidth as frequency range 2 | 3 | repeat padding recommendation 4 | 5 | ptime: refer to RFC 6 | 7 | Opus does not provide any confidentiality or integrity protection 8 | -------------------------------------------------------------------------------- /opus/doc/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 23 | 24 | 25 |
14 | For more information visit the Opus Website. 15 | 17 | 22 |
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /opus/libopus.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /opus/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 4179 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.6]) 16 | m4_define([LT_PACKAGE_REVISION], [2.4.6]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.6' 20 | macro_revision='2.4.6' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /opus/m4/opus-intrinsics.m4: -------------------------------------------------------------------------------- 1 | dnl opus-intrinsics.m4 2 | dnl macro for testing for support for compiler intrinsics, either by default or with a compiler flag 3 | 4 | dnl OPUS_CHECK_INTRINSICS(NAME-OF-INTRINSICS, COMPILER-FLAG-FOR-INTRINSICS, VAR-IF-PRESENT, VAR-IF-DEFAULT, TEST-PROGRAM-HEADER, TEST-PROGRAM-BODY) 5 | AC_DEFUN([OPUS_CHECK_INTRINSICS], 6 | [ 7 | AC_MSG_CHECKING([if compiler supports $1 intrinsics]) 8 | AC_LINK_IFELSE( 9 | [AC_LANG_PROGRAM($5, $6)], 10 | [ 11 | $3=1 12 | $4=1 13 | AC_MSG_RESULT([yes]) 14 | ],[ 15 | $4=0 16 | AC_MSG_RESULT([no]) 17 | AC_MSG_CHECKING([if compiler supports $1 intrinsics with $2]) 18 | save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $2" 19 | AC_LINK_IFELSE([AC_LANG_PROGRAM($5, $6)], 20 | [ 21 | AC_MSG_RESULT([yes]) 22 | $3=1 23 | ],[ 24 | AC_MSG_RESULT([no]) 25 | $3=0 26 | ]) 27 | CFLAGS="$save_CFLAGS" 28 | ]) 29 | ]) 30 | -------------------------------------------------------------------------------- /opus/opus-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | # Opus codec reference implementation uninstalled pkg-config file 2 | 3 | libdir=${pcfiledir}/.libs 4 | includedir=${pcfiledir} 5 | 6 | Name: opus uninstalled 7 | Description: Opus IETF audio codec (not installed, @PC_BUILD@) 8 | Version: @VERSION@ 9 | Requires: 10 | Conflicts: 11 | Libs: ${libdir}/libopus.a @LIBM@ 12 | Cflags: -I${pcfiledir}/@top_srcdir@/include 13 | -------------------------------------------------------------------------------- /opus/opus.pc.in: -------------------------------------------------------------------------------- 1 | # Opus codec reference implementation pkg-config file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: Opus 9 | Description: Opus IETF audio codec (@PC_BUILD@ build) 10 | URL: https://opus-codec.org/ 11 | Version: @VERSION@ 12 | Requires: 13 | Conflicts: 14 | Libs: -L${libdir} -lopus 15 | Libs.private: @LIBM@ 16 | Cflags: -I${includedir}/opus 17 | -------------------------------------------------------------------------------- /opus/opus_headers.mk: -------------------------------------------------------------------------------- 1 | OPUS_HEAD = \ 2 | include/opus.h \ 3 | include/opus_multistream.h \ 4 | src/opus_private.h \ 5 | src/analysis.h \ 6 | src/mlp.h \ 7 | src/tansig_table.h 8 | -------------------------------------------------------------------------------- /opus/opus_sources.mk: -------------------------------------------------------------------------------- 1 | OPUS_SOURCES = src/opus.c \ 2 | src/opus_decoder.c \ 3 | src/opus_encoder.c \ 4 | src/opus_multistream.c \ 5 | src/opus_multistream_encoder.c \ 6 | src/opus_multistream_decoder.c \ 7 | src/repacketizer.c 8 | 9 | OPUS_SOURCES_FLOAT = \ 10 | src/analysis.c \ 11 | src/mlp.c \ 12 | src/mlp_data.c 13 | -------------------------------------------------------------------------------- /opus/package_version: -------------------------------------------------------------------------------- 1 | PACKAGE_VERSION="1.1.5" 2 | -------------------------------------------------------------------------------- /opus/version.mk: -------------------------------------------------------------------------------- 1 | # static version string; update manually every release. 2 | PACKAGE_VERSION = "1.1.5" 3 | -------------------------------------------------------------------------------- /opus/win32/VS2015/opus_demo.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /opus/win32/VS2015/test_opus_api.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /opus/win32/VS2015/test_opus_decode.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4a0dd677-931f-4728-afe5-b761149fc7eb} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /opus/win32/VS2015/test_opus_encode.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {546c8d9a-103e-4f78-972b-b44e8d3c8aba} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /opus/win32/genversion.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | setlocal enableextensions enabledelayedexpansion 4 | 5 | for /f %%v in ('git --git-dir="%~dp0..\.git" describe --tags --match "v*"') do set version=%%v 6 | 7 | if not "%version%"=="" goto :gotversion 8 | 9 | if exist "%~dp0..\version.mk" goto :getversion 10 | 11 | echo Git cannot be found, nor can version.mk. Generating unknown version. 12 | 13 | set version=unknown 14 | 15 | goto :gotversion 16 | 17 | :getversion 18 | 19 | for /f "delims== tokens=2" %%v in (%~dps0..\version.mk) do set version=%%v 20 | 21 | set version=!version:^"=! 22 | set version=!version: =! 23 | 24 | :gotversion 25 | 26 | set version_out=#define %~2 "%version%" 27 | set version_mk=%~2 = "%version%" 28 | 29 | echo %version_out%> "%~1_temp" 30 | 31 | if %version%==unknown goto :skipgenerate 32 | 33 | echo # static version string; update manually every release.> "%~dp0..\version.mk" 34 | echo %version_mk%>> "%~dp0..\version.mk" 35 | 36 | :skipgenerate 37 | 38 | echo n | comp "%~1_temp" "%~1" > NUL 2> NUL 39 | 40 | if not errorlevel 1 goto exit 41 | 42 | copy /y "%~1_temp" "%~1" 43 | 44 | :exit 45 | 46 | del "%~1_temp" 47 | -------------------------------------------------------------------------------- /opusenc/win32-tc/libopusenc.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /portaudio/build/bc/portaudio.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /portaudio/src/common/pa_debugprint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/portaudio/src/common/pa_debugprint.c -------------------------------------------------------------------------------- /re/docs/TODO: -------------------------------------------------------------------------------- 1 | TODO 2 | 3 | ------------------------------------------------------------------------------- 4 | Version v0.x.y 5 | 6 | tmr: scaling using binary heap or hash 7 | Add support for Call-Transfer in SIP Session 8 | 9 | ------------------------------------------------------------------------------- 10 | -------------------------------------------------------------------------------- /re/docs/main.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \mainpage libre Development Documentation 3 | * 4 | * Development documentation for libre 5 | * 6 | * \section modules modules 7 | */ 8 | -------------------------------------------------------------------------------- /re/include/re_aes.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_aes.h Interface to AES (Advanced Encryption Standard) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifndef AES_BLOCK_SIZE 9 | #define AES_BLOCK_SIZE 16 10 | #endif 11 | 12 | /** AES mode */ 13 | enum aes_mode { 14 | AES_MODE_CTR, /**< AES Counter mode (CTR) */ 15 | AES_MODE_GCM, /**< AES Galois Counter Mode (GCM) */ 16 | }; 17 | 18 | struct aes; 19 | 20 | int aes_alloc(struct aes **stp, enum aes_mode mode, 21 | const uint8_t *key, size_t key_bits, 22 | const uint8_t *iv); 23 | void aes_set_iv(struct aes *aes, const uint8_t *iv); 24 | int aes_encr(struct aes *aes, uint8_t *out, const uint8_t *in, size_t len); 25 | int aes_decr(struct aes *aes, uint8_t *out, const uint8_t *in, size_t len); 26 | int aes_get_authtag(struct aes *aes, uint8_t *tag, size_t taglen); 27 | int aes_authenticate(struct aes *aes, const uint8_t *tag, size_t taglen); 28 | -------------------------------------------------------------------------------- /re/include/re_base64.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_base64.h Interface to Base64 encoding/decoding functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | int base64_encode(const uint8_t *in, size_t ilen, char *out, size_t *olen); 12 | int base64_print(struct re_printf *pf, const uint8_t *ptr, size_t len); 13 | int base64_decode(const char *in, size_t ilen, uint8_t *out, size_t *olen); 14 | 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /re/include/re_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_conf.h Interface to configuration 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | struct conf; 12 | 13 | typedef int (conf_h)(const struct pl *val, void *arg); 14 | 15 | int conf_alloc(struct conf **confp, const char *filename); 16 | int conf_alloc_buf(struct conf **confp, const uint8_t *buf, size_t sz); 17 | int conf_get(const struct conf *conf, const char *name, struct pl *pl); 18 | int conf_get_str(const struct conf *conf, const char *name, char *str, 19 | size_t size); 20 | int conf_get_u32(const struct conf *conf, const char *name, uint32_t *num); 21 | int conf_get_bool(const struct conf *conf, const char *name, bool *val); 22 | int conf_apply(const struct conf *conf, const char *name, 23 | conf_h *ch, void *arg); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /re/include/re_crc32.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_crc32.h Interface to CRC-32 functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef USE_ZLIB 9 | #include 10 | #else 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | uint32_t crc32(uint32_t crc, const void *buf, uint32_t size); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /re/include/re_hmac.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_hmac.h Interface to HMAC functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | void hmac_sha1(const uint8_t *k, /* secret key */ 9 | size_t lk, /* length of the key in bytes */ 10 | const uint8_t *d, /* data */ 11 | size_t ld, /* length of data in bytes */ 12 | uint8_t* out, /* output buffer, at least "t" bytes */ 13 | size_t t); 14 | 15 | 16 | enum hmac_hash { 17 | HMAC_HASH_SHA1, 18 | HMAC_HASH_SHA256 19 | }; 20 | 21 | struct hmac; 22 | 23 | int hmac_create(struct hmac **hmacp, enum hmac_hash hash, 24 | const uint8_t *key, size_t key_len); 25 | int hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len, 26 | const uint8_t *data, size_t data_len); 27 | -------------------------------------------------------------------------------- /re/include/re_lock.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_lock.h Interface to locking functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | struct lock; 12 | 13 | int lock_alloc(struct lock **lp); 14 | 15 | void lock_read_get(struct lock *l); 16 | void lock_write_get(struct lock *l); 17 | 18 | int lock_read_try(struct lock *l); 19 | int lock_write_try(struct lock *l); 20 | 21 | void lock_rel(struct lock *l); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /re/include/re_md5.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_md5.h Interface to MD5 functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | enum { 12 | MD5_SIZE = 16, /**< Number of bytes in MD5 hash */ 13 | MD5_STR_SIZE = 2*MD5_SIZE + 1 /**< Number of bytes in MD5 string */ 14 | }; 15 | 16 | void md5(const uint8_t *d, size_t n, uint8_t *md); 17 | int md5_printf(uint8_t *md, const char *fmt, ...); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /re/include/re_mqueue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_mqueue.h Thread Safe Message Queue 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | struct mqueue; 12 | 13 | typedef void (mqueue_h)(int id, void *data, void *arg); 14 | 15 | int mqueue_alloc(struct mqueue **mqp, mqueue_h *h, void *arg); 16 | int mqueue_push(struct mqueue *mq, int id, void *data); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | -------------------------------------------------------------------------------- /re/include/re_msg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_msg.h Interface to generic message components 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | /** Content-Type */ 9 | struct msg_ctype { 10 | struct pl type; 11 | struct pl subtype; 12 | struct pl params; 13 | }; 14 | 15 | 16 | int msg_ctype_decode(struct msg_ctype *ctype, const struct pl *pl); 17 | bool msg_ctype_cmp(const struct msg_ctype *ctype, 18 | const char *type, const char *subtype); 19 | 20 | int msg_param_decode(const struct pl *pl, const char *name, struct pl *val); 21 | int msg_param_exists(const struct pl *pl, const char *name, struct pl *end); 22 | -------------------------------------------------------------------------------- /re/include/re_sha.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_sha.h Interface to SHA (Secure Hash Standard) functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef USE_OPENSSL 9 | #include 10 | #else 11 | 12 | /* public api for steve reid's public domain SHA-1 implementation */ 13 | /* this file is in the public domain */ 14 | 15 | /** SHA-1 Context */ 16 | typedef struct { 17 | uint32_t state[5]; /**< Context state */ 18 | uint32_t count[2]; /**< Counter */ 19 | uint8_t buffer[64]; /**< SHA-1 buffer */ 20 | } SHA1_CTX; 21 | 22 | /** SHA-1 Context (OpenSSL compat) */ 23 | typedef SHA1_CTX SHA_CTX; 24 | 25 | /** SHA-1 Digest size in bytes */ 26 | #define SHA1_DIGEST_SIZE 20 27 | /** SHA-1 Digest size in bytes (OpenSSL compat) */ 28 | #define SHA_DIGEST_LENGTH SHA1_DIGEST_SIZE 29 | 30 | void SHA1_Init(SHA1_CTX* context); 31 | void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); 32 | void SHA1_Final(uint8_t digest[SHA1_DIGEST_SIZE], SHA1_CTX* context); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /re/include/re_sipreg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_sipreg.h SIP Registration 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | struct sipreg; 12 | 13 | 14 | int sipreg_register(struct sipreg **regp, struct sip *sip, const char *reg_uri, 15 | const char *to_uri, const char *from_uri, uint32_t expires, 16 | const char *cuser, const char *routev[], uint32_t routec, 17 | int regid, sip_auth_h *authh, void *aarg, bool aref, 18 | sip_resp_h *resph, void *arg, 19 | const char *params, const char *fmt, ...); 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /re/include/re_srtp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_srtp.h Secure Real-time Transport Protocol (SRTP) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | enum srtp_suite { 9 | SRTP_AES_CM_128_HMAC_SHA1_32, 10 | SRTP_AES_CM_128_HMAC_SHA1_80, 11 | SRTP_AES_256_CM_HMAC_SHA1_32, 12 | SRTP_AES_256_CM_HMAC_SHA1_80, 13 | SRTP_AES_128_GCM, 14 | SRTP_AES_256_GCM, 15 | }; 16 | 17 | enum srtp_flags { 18 | SRTP_UNENCRYPTED_SRTCP = 1<<1, 19 | }; 20 | 21 | struct srtp; 22 | 23 | int srtp_alloc(struct srtp **srtpp, enum srtp_suite suite, 24 | const uint8_t *key, size_t key_bytes, int flags); 25 | int srtp_encrypt(struct srtp *srtp, struct mbuf *mb); 26 | int srtp_decrypt(struct srtp *srtp, struct mbuf *mb); 27 | int srtcp_encrypt(struct srtp *srtp, struct mbuf *mb); 28 | int srtcp_decrypt(struct srtp *srtp, struct mbuf *mb); 29 | 30 | const char *srtp_suite_name(enum srtp_suite suite); 31 | -------------------------------------------------------------------------------- /re/include/re_telev.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_telev.h Interface to Telephony Events (RFC 4733) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | enum { 12 | TELEV_PTIME = 50, 13 | TELEV_SRATE = 8000 14 | }; 15 | 16 | struct telev; 17 | 18 | extern const char telev_rtpfmt[]; 19 | 20 | int telev_alloc(struct telev **tp, uint32_t ptime); 21 | int telev_send(struct telev *tel, int event, bool end); 22 | int telev_recv(struct telev *tel, struct mbuf *mb, int *event, bool *end); 23 | int telev_poll(struct telev *tel, bool *marker, struct mbuf *mb); 24 | 25 | int telev_digit2code(int digit); 26 | int telev_code2digit(int code); 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | -------------------------------------------------------------------------------- /re/mk/win32-tc/re.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | //#include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /re/src/av1/depack.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file av1/depack.c AV1 De-packetizer 3 | * 4 | * Copyright (C) 2010 - 2022 Alfred E. Heggestad 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | /** 14 | * Decode an AV1 Aggregation header from mbuffer 15 | * 16 | * @param hdr Decoded aggregation header 17 | * @param mb Mbuffer to decode from 18 | * 19 | * @return 0 if success, otherwise errorcode 20 | */ 21 | int av1_aggr_hdr_decode(struct av1_aggr_hdr *hdr, struct mbuf *mb) 22 | { 23 | uint8_t v; 24 | 25 | if (!hdr || !mb) 26 | return EINVAL; 27 | 28 | memset(hdr, 0, sizeof(*hdr)); 29 | 30 | if (mbuf_get_left(mb) < 1) 31 | return EBADMSG; 32 | 33 | v = mbuf_read_u8(mb); 34 | 35 | hdr->z = v>>7 & 0x1; 36 | hdr->y = v>>6 & 0x1; 37 | hdr->w = v>>4 & 0x3; 38 | hdr->n = v>>3 & 0x1; 39 | 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /re/src/dbg/log.c: -------------------------------------------------------------------------------- 1 | #include "re_dbg.h" 2 | 3 | 4 | -------------------------------------------------------------------------------- /re/src/dns/dns.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file dns.h Internal DNS header file 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef HAVE_RESOLV 9 | int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n); 10 | #endif 11 | #if defined(WIN32) || defined(__WIN32__) 12 | int get_windns(char *domain, size_t dsize, struct sa *nav, uint32_t *n); 13 | #endif 14 | #ifdef DARWIN 15 | int get_darwin_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n); 16 | #endif 17 | -------------------------------------------------------------------------------- /re/src/fmt/ch.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ch.c Character format functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | 9 | 10 | /** 11 | * Convert an ASCII hex character to binary format 12 | * 13 | * @param ch ASCII hex character 14 | * 15 | * @return Binary value 16 | */ 17 | uint8_t ch_hex(char ch) 18 | { 19 | if ('0' <= ch && ch <= '9') 20 | return ch - '0'; 21 | 22 | else if ('A' <= ch && ch <= 'F') 23 | return ch - 'A' + 10; 24 | 25 | else if ('a' <= ch && ch <= 'f') 26 | return ch - 'a' + 10; 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /re/src/h264/h264.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file h264/h264.h Internal interface 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | struct getbit { 9 | const uint8_t *buf; 10 | size_t pos; 11 | size_t end; 12 | }; 13 | 14 | 15 | void getbit_init(struct getbit *gb, const uint8_t *buf, size_t size); 16 | size_t getbit_get_left(const struct getbit *gb); 17 | unsigned get_bit(struct getbit *gb); 18 | int get_ue_golomb(struct getbit *gb, unsigned *valp); 19 | -------------------------------------------------------------------------------- /re/src/http/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += http/auth.c 8 | SRCS += http/msg.c 9 | SRCS += http/server.c 10 | -------------------------------------------------------------------------------- /re/src/httpauth/basic.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file basic.c HTTP Basic authentication 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | /* todo */ 14 | -------------------------------------------------------------------------------- /re/src/main/init.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file init.c Main initialisation routine 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include "main.h" 13 | 14 | 15 | /** 16 | * Initialise main library 17 | * 18 | * @return 0 if success, errorcode if failure 19 | */ 20 | int libre_init(void) 21 | { 22 | rand_init(); 23 | 24 | return net_sock_init(); 25 | } 26 | 27 | 28 | /** 29 | * Close library and free up all resources 30 | */ 31 | void libre_close(void) 32 | { 33 | (void)fd_setsize(0); 34 | } 35 | -------------------------------------------------------------------------------- /re/src/main/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file main.h Internal interface to main polling loop 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef HAVE_EPOLL 9 | bool epoll_check(void); 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /re/src/mod/mod_internal.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mod_internal.h Internal interface to loadable module 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | 13 | void *_mod_open(const char *name); 14 | void *_mod_sym(void *h, const char *symbol); 15 | void _mod_close(void *h); 16 | 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | -------------------------------------------------------------------------------- /re/src/mqueue/mqueue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mqueue.h Thread Safe Message Queue -- Internal API 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #if defined(WIN32) || defined(__WIN32__) 9 | int pipe(re_sock_t fds[2]); 10 | ssize_t pipe_read(re_sock_t s, void *buf, size_t len); 11 | ssize_t pipe_write(re_sock_t s, const void *buf, size_t len); 12 | #else 13 | static inline ssize_t pipe_read(re_sock_t s, void *buf, size_t len) 14 | { 15 | return read(s, buf, len); 16 | } 17 | 18 | 19 | static inline ssize_t pipe_write(re_sock_t s, const void *buf, size_t len) 20 | { 21 | return write(s, buf, len); 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /re/src/natbd/natstr.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file natstr.c NAT Behaviour Discovery strings 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | 15 | /** 16 | * Get the name of the NAT Mapping/Filtering type 17 | * 18 | * @param type NAT Mapping/Filtering type 19 | * 20 | * @return Name of the NAT Mapping/Filtering type 21 | */ 22 | const char *nat_type_str(enum nat_type type) 23 | { 24 | switch (type) { 25 | 26 | case NAT_TYPE_UNKNOWN: return "Unknown"; 27 | case NAT_TYPE_ENDP_INDEP: return "Endpoint Independent"; 28 | case NAT_TYPE_ADDR_DEP: return "Address Dependent"; 29 | case NAT_TYPE_ADDR_PORT_DEP: return "Address and Port Dependent"; 30 | default: return "???"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /re/src/net/netstr.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file netstr.c Network strings 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | 10 | 11 | /** 12 | * Get the name of a protocol 13 | * 14 | * @param proto Protocol 15 | * 16 | * @return Protocol name 17 | */ 18 | const char *net_proto2name(int proto) 19 | { 20 | switch (proto) { 21 | 22 | case IPPROTO_UDP: return "UDP"; 23 | case IPPROTO_TCP: return "TCP"; 24 | #ifdef IPPROTO_SCTP 25 | case IPPROTO_SCTP: return "SCTP"; 26 | #endif 27 | default: return "???"; 28 | } 29 | } 30 | 31 | 32 | /** 33 | * Get the name of a address family 34 | * 35 | * @param af Address family 36 | * 37 | * @return Address family name 38 | */ 39 | const char *net_af2name(int af) 40 | { 41 | switch (af) { 42 | 43 | case AF_UNSPEC: return "AF_UNSPEC"; 44 | case AF_INET: return "AF_INET"; 45 | #ifdef HAVE_INET6 46 | case AF_INET6: return "AF_INET6"; 47 | #endif 48 | default: return "???"; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /re/src/sa/printaddr.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sa/printaddr.c Socket Address printing 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #ifdef HAVE_GETIFADDRS 7 | #include 8 | #include 9 | #define __USE_MISC 1 /**< Use MISC code */ 10 | #include 11 | #endif 12 | #include 13 | #include 14 | #include 15 | 16 | 17 | /** 18 | * Print a Socket Address including IPv6 scope identifier 19 | * 20 | * @param pf Print function 21 | * @param sa Socket Address 22 | * 23 | * @return 0 if success, otherwise errorcode 24 | */ 25 | int sa_print_addr(struct re_printf *pf, const struct sa *sa) 26 | { 27 | int err; 28 | 29 | if (!sa) 30 | return 0; 31 | 32 | err = re_hprintf(pf, "%j", sa); 33 | 34 | #if defined (HAVE_GETIFADDRS) && defined (HAVE_INET6) 35 | if (sa_af(sa) == AF_INET6 && sa_is_linklocal(sa)) { 36 | 37 | char ifname[IF_NAMESIZE]; 38 | 39 | if (!if_indextoname(sa->u.in6.sin6_scope_id, ifname)) 40 | return errno; 41 | 42 | err |= re_hprintf(pf, "%%%s", ifname); 43 | } 44 | #endif 45 | 46 | return err; 47 | } 48 | -------------------------------------------------------------------------------- /re/src/sip/cseq.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file cseq.c SIP CSeq decode 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | 16 | /** 17 | * Decode a pointer-length string into a SIP CSeq header 18 | * 19 | * @param cseq SIP CSeq header 20 | * @param pl Pointer-length string 21 | * 22 | * @return 0 for success, otherwise errorcode 23 | */ 24 | int sip_cseq_decode(struct sip_cseq *cseq, const struct pl *pl) 25 | { 26 | struct pl num; 27 | int err; 28 | 29 | if (!cseq || !pl) 30 | return EINVAL; 31 | 32 | err = re_regex(pl->p, pl->l, "[0-9]+[ \t\r\n]+[^ \t\r\n]+", 33 | &num, NULL, &cseq->met); 34 | if (err) 35 | return err; 36 | 37 | cseq->num = pl_u32(&num); 38 | 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /re/src/sip/sip_alert_info.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | 11 | /** 12 | * Decode a pointer-length string into a SIP Call-Alert header 13 | * @param pl Pointer-length string 14 | * 15 | * @return 0 for success, otherwise errorcode 16 | */ 17 | int sip_alert_info_decode(struct sip_alert_info *alert_info, const struct pl *pl) 18 | { 19 | struct pl pval; 20 | int err; 21 | 22 | if (!alert_info || !pl) 23 | return EINVAL; 24 | 25 | alert_info->info = *pl; 26 | 27 | return 0; 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /re/src/stun/stunstr.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file stunstr.c STUN Strings 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | /* STUN Reason Phrase */ 14 | const char *stun_reason_300 = "Try Alternate"; 15 | const char *stun_reason_400 = "Bad Request"; 16 | const char *stun_reason_401 = "Unauthorized"; 17 | const char *stun_reason_403 = "Forbidden"; 18 | const char *stun_reason_420 = "Unknown Attribute"; 19 | const char *stun_reason_437 = "Allocation Mismatch"; 20 | const char *stun_reason_438 = "Stale Nonce"; 21 | const char *stun_reason_440 = "Address Family not Supported"; 22 | const char *stun_reason_441 = "Wrong Credentials"; 23 | const char *stun_reason_442 = "Unsupported Transport Protocol"; 24 | const char *stun_reason_443 = "Peer Address Family Mismatch"; 25 | const char *stun_reason_486 = "Allocation Quota Reached"; 26 | const char *stun_reason_500 = "Server Error"; 27 | const char *stun_reason_508 = "Insufficient Capacity"; 28 | -------------------------------------------------------------------------------- /re/src/sys/sleep.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sleep.c System sleep functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #if defined(WIN32) || defined(__WIN32__) 10 | #define WIN32_LEAN_AND_MEAN 11 | #include 12 | #endif 13 | #ifdef HAVE_UNISTD_H 14 | #define _BSD_SOURCE 1 15 | #include 16 | #endif 17 | #ifdef HAVE_SELECT_H 18 | #include 19 | #endif 20 | 21 | 22 | /** 23 | * Blocking sleep for [us] number of microseconds 24 | * 25 | * @param us Number of microseconds to sleep 26 | */ 27 | void sys_usleep(unsigned int us) 28 | { 29 | if (!us) 30 | return; 31 | 32 | #if defined(WIN32) || defined(__WIN32__) 33 | Sleep(us / 1000); 34 | #elif defined(HAVE_SELECT) 35 | do { 36 | struct timeval tv; 37 | 38 | tv.tv_sec = us / 1000000; 39 | tv.tv_usec = us % 1000000; 40 | 41 | (void)select(0, NULL, NULL, NULL, &tv); 42 | } while (0); 43 | #else 44 | (void)usleep(us); 45 | #endif 46 | } 47 | 48 | void sys_msleep(unsigned int ms) 49 | { 50 | sys_usleep(ms * 1000); 51 | } 52 | -------------------------------------------------------------------------------- /re/src/sys/symbian/sleep.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sleep.cpp System sleep for Symbian 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #include 8 | 9 | extern "C" { 10 | #include 11 | #include 12 | } 13 | 14 | 15 | void sys_usleep(unsigned int us) 16 | { 17 | User::After(us); 18 | } 19 | -------------------------------------------------------------------------------- /re/src/sys/sys_time.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | char* sys_time(char* buf, int size) { 10 | struct timeb timebuffer; 11 | int len; 12 | ftime( &timebuffer ); 13 | len = strftime(buf, size, "%T", localtime(&timebuffer.time)); 14 | snprintf(buf + len, size-len, ".%03hu", timebuffer.millitm); 15 | buf[size-1] = '\0'; 16 | return buf; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /re/src/thread/thread.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | 6 | static void mutex_destructor(void *data) 7 | { 8 | mtx_t *mtx = data; 9 | 10 | mtx_destroy(mtx); 11 | } 12 | 13 | 14 | int mutex_alloc(mtx_t **mtx) 15 | { 16 | mtx_t *m; 17 | int err; 18 | 19 | if (!mtx) 20 | return EINVAL; 21 | 22 | m = mem_alloc(sizeof(mtx_t), NULL); 23 | if (!m) 24 | return ENOMEM; 25 | 26 | err = mtx_init(m, mtx_plain) != thrd_success; 27 | if (err) { 28 | err = ENOMEM; 29 | goto out; 30 | } 31 | 32 | mem_destructor(m, mutex_destructor); 33 | 34 | *mtx = m; 35 | 36 | out: 37 | if (err) 38 | mem_deref(m); 39 | 40 | return err; 41 | } 42 | 43 | 44 | int thread_create_name(thrd_t *thr, const char *name, thrd_start_t func, 45 | void *arg) 46 | { 47 | int ret; 48 | (void)name; 49 | 50 | if (!thr || !func) 51 | return EINVAL; 52 | 53 | ret = thrd_create(thr, func, arg); 54 | if (ret == thrd_success) 55 | return 0; 56 | 57 | if (ret == thrd_nomem) 58 | return ENOMEM; 59 | 60 | return EAGAIN; 61 | } 62 | -------------------------------------------------------------------------------- /re/src/tls/openssl/tls.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file openssl/tls.h TLS backend using OpenSSL (Internal API) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | /* also defined by wincrypt.h */ 8 | #ifdef WIN32 9 | #undef X509_NAME 10 | #endif 11 | 12 | /* 13 | * Mapping of feature macros 14 | */ 15 | 16 | #if OPENSSL_VERSION_NUMBER >= 0x10100000L 17 | #define TLS_BIO_OPAQUE 1 18 | #endif 19 | 20 | #if defined (LIBRESSL_VERSION_NUMBER) 21 | #undef TLS_BIO_OPAQUE 22 | #endif 23 | 24 | 25 | #if OPENSSL_VERSION_NUMBER >= 0x10100000L && \ 26 | !defined(LIBRESSL_VERSION_NUMBER) 27 | #define SSL_state SSL_get_state 28 | #define SSL_ST_OK TLS_ST_OK 29 | #endif 30 | 31 | 32 | #if OPENSSL_VERSION_NUMBER >= 0x10100000L 33 | typedef X509_NAME*(tls_get_certfield_h)(const X509 *); 34 | #else 35 | typedef X509_NAME*(tls_get_certfield_h)(X509 *); 36 | #endif 37 | 38 | 39 | struct tls { 40 | SSL_CTX *ctx; 41 | X509 *cert; 42 | char *pass; /**< password for private key */ 43 | bool verify_server; /**< Enable SIP TLS server verification */ 44 | }; 45 | 46 | 47 | void tls_flush_error(void); 48 | -------------------------------------------------------------------------------- /rem/docs/README: -------------------------------------------------------------------------------- 1 | README 2 | ------ 3 | 4 | librem - "Audio and video processing media library" 5 | Copyright (C) 2010 - 2011 Creytiv.com 6 | 7 | Distributed under BSD license 8 | 9 | 10 | 11 | 12 | Audio Modules: 13 | 14 | name: status: description: 15 | 16 | * au unstable Base audio types 17 | * aubuf unstable Audio buffer 18 | * aumix unstable Audio mixer 19 | * auresamp unstable Audio resampler 20 | * autone unstable Tone/DTMF generator 21 | * g711 stable G.711 audio codec 22 | 23 | 24 | 25 | 26 | Video Modules: 27 | 28 | name: status: description: 29 | 30 | * vid unstable Base video types 31 | * vidconv unstable Colorspace conversion and scaling 32 | * vidmix unstable Video mixer 33 | 34 | 35 | 36 | 37 | Generic modules: 38 | 39 | * dsp unstable DSP routines 40 | * fir unstable FIR (Finite Impulse Response) filter 41 | 42 | 43 | 44 | 45 | External dependencies: 46 | 47 | libre 48 | 49 | 50 | 51 | 52 | Feedback: 53 | 54 | - Please send feedback to 55 | -------------------------------------------------------------------------------- /rem/include/rem.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem.h Wrapper for librem headers 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifndef REM_H__ 8 | #define REM_H__ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /rem/include/rem_au.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_au.h Basic audio types 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifndef REM_AU_H 8 | #define REM_AU_H 9 | 10 | /** Audio formats */ 11 | enum aufmt { 12 | AUFMT_S16LE, /**< Signed 16-bit PCM */ 13 | AUFMT_PCMA, /**< G.711 A-law */ 14 | AUFMT_PCMU, /**< G.711 U-law */ 15 | }; 16 | 17 | size_t aufmt_sample_size(enum aufmt fmt); 18 | const char *aufmt_name(enum aufmt fmt); 19 | 20 | uint32_t calc_nsamp(uint32_t srate, uint8_t channels, uint16_t ptime); 21 | 22 | 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /rem/include/rem_audio.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_audio.h Wrapper for all Audio header files 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include -------------------------------------------------------------------------------- /rem/include/rem_aufile.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_aufile.h Audio File interface 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifndef REM_AUFILE_H 8 | #define REM_AUFILE_H 9 | 10 | /** Audio file mode */ 11 | enum aufile_mode { 12 | AUFILE_READ, 13 | AUFILE_WRITE, 14 | }; 15 | 16 | /** Audio file parameters */ 17 | struct aufile_prm { 18 | uint32_t srate; 19 | uint8_t channels; 20 | enum aufmt fmt; 21 | }; 22 | 23 | struct aufile; 24 | 25 | int aufile_open(struct aufile **afp, struct aufile_prm *prm, 26 | const char *filename, enum aufile_mode mode); 27 | int aufile_read(struct aufile *af, uint8_t *p, size_t *sz); 28 | int aufile_write(struct aufile *af, const uint8_t *p, size_t sz); 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /rem/include/rem_aumix.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_aumix.h Audio Mixer 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | struct aumix; 8 | struct aumix_source; 9 | 10 | /** 11 | * Audio mixer frame handler 12 | * 13 | * @param buf Buffer with audio samples 14 | * @param sz Number of bytes 15 | * @param arg Handler argument 16 | */ 17 | typedef void (aumix_frame_h)(const int16_t *sampv, size_t sampc, void *arg); 18 | 19 | int aumix_alloc(struct aumix **mixp, uint32_t srate, 20 | uint8_t ch, uint32_t ptime); 21 | int aumix_playfile(struct aumix *mix, const char *filepath); 22 | uint32_t aumix_source_count(const struct aumix *mix); 23 | int aumix_source_alloc(struct aumix_source **srcp, struct aumix *mix, 24 | aumix_frame_h *fh, void *arg); 25 | void aumix_source_enable(struct aumix_source *src, bool enable); 26 | int aumix_source_put(struct aumix_source *src, const int16_t *sampv, 27 | size_t sampc); 28 | void aumix_source_flush(struct aumix_source *src); 29 | -------------------------------------------------------------------------------- /rem/include/rem_autone.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_autone.h Audio Tones 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | int autone_sine(struct mbuf *mb, uint32_t srate, 9 | uint32_t f1, int l1, uint32_t f2, int l2); 10 | int autone_dtmf(struct mbuf *mb, uint32_t srate, int digit); 11 | -------------------------------------------------------------------------------- /rem/include/rem_avc.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_avc.h Advanced Video Coding 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | struct avc_config { 9 | uint8_t profile_ind; 10 | uint8_t profile_compat; 11 | uint8_t level_ind; 12 | uint16_t sps_len; 13 | uint8_t sps[256]; 14 | uint16_t pps_len; 15 | uint8_t pps[64]; 16 | }; 17 | 18 | 19 | int avc_config_encode(struct mbuf *mb, uint8_t profile_ind, 20 | uint8_t profile_compat, uint8_t level_ind, 21 | uint16_t sps_length, const uint8_t *sps, 22 | uint16_t pps_length, const uint8_t *pps); 23 | int avc_config_decode(struct avc_config *conf, struct mbuf *mb); 24 | -------------------------------------------------------------------------------- /rem/include/rem_fir.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_fir.h Finite Impulse Response (FIR) functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | #ifndef REM_FIR_H 8 | #define REM_FIR_H 9 | 10 | /** Defines the fir filter state */ 11 | struct fir { 12 | int16_t history[256]; /**< Previous samples */ 13 | unsigned index; /**< Sample index */ 14 | }; 15 | 16 | void fir_reset(struct fir *fir); 17 | void fir_filter(struct fir *fir, int16_t *outv, const int16_t *inv, size_t inc, 18 | unsigned ch, const int16_t *tapv, size_t tapc); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /rem/include/rem_vidconv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_vidconv.h Video colorspace conversion 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | void vidconv(struct vidframe *dst, const struct vidframe *src, 9 | struct vidrect *r); 10 | void vidconv_aspect(struct vidframe *dst, const struct vidframe *src, 11 | struct vidrect *r); 12 | -------------------------------------------------------------------------------- /rem/include/rem_video.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rem_video.h Wrapper for all Video header files 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #include "rem_vid.h" 9 | #include "rem_vidmix.h" 10 | #include "rem_vidconv.h" 11 | #include "rem_avc.h" 12 | -------------------------------------------------------------------------------- /rem/mk/win32-tc/rem.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #pragma hdrstop 4 | #define Library 5 | 6 | // To add a file to the library use the Project menu 'Add to Project'. 7 | 8 | -------------------------------------------------------------------------------- /rem/src/au/au_fmt.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file au/fmt.c Audio formats 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | 9 | 10 | /* Number of bytes per sample */ 11 | size_t aufmt_sample_size(enum aufmt fmt) 12 | { 13 | switch (fmt) { 14 | 15 | case AUFMT_S16LE: return sizeof(int16_t); 16 | case AUFMT_PCMA: return 1; 17 | case AUFMT_PCMU: return 1; 18 | default: return 0; 19 | } 20 | } 21 | 22 | 23 | const char *aufmt_name(enum aufmt fmt) 24 | { 25 | switch (fmt) { 26 | 27 | case AUFMT_S16LE: return "S16LE"; 28 | case AUFMT_PCMA: return "PCMA"; 29 | case AUFMT_PCMU: return "PCMU"; 30 | default: return "???"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /rem/src/au/au_util.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file util.c Audio utility functions 3 | * 4 | * Copyright (C) 2022 Commend.com - c.spielberger@commend.com 5 | */ 6 | 7 | #include 8 | #include 9 | 10 | 11 | /** 12 | * Calculate number of samples from sample rate, channels and packet time 13 | * 14 | * @param srate Sample rate in [Hz] 15 | * @param channels Number of channels 16 | * @param ptime Packet time in [ms] 17 | * 18 | * @return Number of samples 19 | */ 20 | uint32_t calc_nsamp(uint32_t srate, uint8_t channels, uint16_t ptime) 21 | { 22 | return srate * channels * ptime / 1000; 23 | } 24 | -------------------------------------------------------------------------------- /rem/src/aufile/aufile.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file aufile.h Audio File -- internal API 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | enum wavfmt { 9 | WAVE_FMT_PCM = 0x0001, 10 | WAVE_FMT_ALAW = 0x0006, 11 | WAVE_FMT_ULAW = 0x0007, 12 | }; 13 | 14 | /** WAVE format sub-chunk */ 15 | struct wav_fmt { 16 | uint16_t format; 17 | uint16_t channels; 18 | uint32_t srate; 19 | uint32_t byterate; 20 | uint16_t block_align; 21 | uint16_t bps; 22 | uint16_t extra; 23 | }; 24 | 25 | int wav_header_encode(FILE *f, uint16_t format, uint16_t channels, 26 | uint32_t srate, uint16_t bps, size_t bytes); 27 | int wav_header_decode(struct wav_fmt *fmt, size_t *datasize, FILE *f); 28 | -------------------------------------------------------------------------------- /run_bds.bat: -------------------------------------------------------------------------------- 1 | REM Handling weird issue with BDS2006 and Windows 7 2 | 3 | del %temp%\EditorLineEnds*.ttr 4 | set dt=%date%_%time:~3,2%-%time:~6,2% 5 | rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr" 6 | start "" "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" -------------------------------------------------------------------------------- /run_bds_x64.bat: -------------------------------------------------------------------------------- 1 | REM Handling weird issue with BDS2006 and Windows 7 x64 2 | 3 | del %temp%\EditorLineEnds*.ttr 4 | set dt=%date%_%time:~3,2%-%time:~6,2% 5 | rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr" 6 | start "" "C:\Program Files (x86)\Borland\BDS\4.0\Bin\bds.exe" -------------------------------------------------------------------------------- /run_bds_x64_tSIP.bat: -------------------------------------------------------------------------------- 1 | REM Handling weird issue with BDS2006 and Windows 7 x64 2 | 3 | del %temp%\EditorLineEnds*.ttr 4 | set dt=%date%_%time:~3,2%-%time:~6,2% 5 | rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr" 6 | start "" "C:\Program Files (x86)\Borland\BDS\4.0\Bin\bds.exe" tSIP.bdsgroup -------------------------------------------------------------------------------- /run_bds_x64_tSIP_exe.bat: -------------------------------------------------------------------------------- 1 | REM Handling weird issue with BDS2006 and Windows 7 x64 2 | 3 | del %temp%\EditorLineEnds*.ttr 4 | set dt=%date%_%time:~3,2%-%time:~6,2% 5 | rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr" 6 | start "" "C:\Program Files (x86)\Borland\BDS\4.0\Bin\bds.exe" tSIP_exe.bdsgroup -------------------------------------------------------------------------------- /scintilla/License.txt: -------------------------------------------------------------------------------- 1 | License for Scintilla and SciTE 2 | 3 | Copyright 1998-2003 by Neil Hodgson 4 | 5 | All Rights Reserved 6 | 7 | Permission to use, copy, modify, and distribute this software and its 8 | documentation for any purpose and without fee is hereby granted, 9 | provided that the above copyright notice appear in all copies and that 10 | both that copyright notice and this permission notice appear in 11 | supporting documentation. 12 | 13 | NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 14 | SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 15 | AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY 16 | SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 18 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE 20 | OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /scintilla/doc/SciBreak.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/SciBreak.jpg -------------------------------------------------------------------------------- /scintilla/doc/SciRest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/SciRest.jpg -------------------------------------------------------------------------------- /scintilla/doc/SciTEIco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/SciTEIco.png -------------------------------------------------------------------------------- /scintilla/doc/SciWord.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/SciWord.jpg -------------------------------------------------------------------------------- /scintilla/doc/annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/annotations.png -------------------------------------------------------------------------------- /scintilla/doc/styledmargin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/scintilla/doc/styledmargin.png -------------------------------------------------------------------------------- /scintilla/lexlib/Accessor.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file Accessor.h 3 | ** Interfaces between Scintilla and lexers. 4 | **/ 5 | // Copyright 1998-2010 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #ifndef ACCESSOR_H 9 | #define ACCESSOR_H 10 | 11 | #ifdef SCI_NAMESPACE 12 | namespace Scintilla { 13 | #endif 14 | 15 | enum { wsSpace = 1, wsTab = 2, wsSpaceTab = 4, wsInconsistent=8}; 16 | 17 | class Accessor; 18 | class WordList; 19 | class PropSetSimple; 20 | 21 | typedef bool (*PFNIsCommentLeader)(Accessor &styler, int pos, int len); 22 | 23 | class Accessor : public LexAccessor { 24 | public: 25 | PropSetSimple *pprops; 26 | Accessor(IDocument *pAccess_, PropSetSimple *pprops_); 27 | int GetPropertyInt(const char *, int defaultValue=0); 28 | int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0); 29 | }; 30 | 31 | #ifdef SCI_NAMESPACE 32 | } 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /scintilla/lexlib/LexerSimple.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file LexerSimple.h 3 | ** A simple lexer with no state. 4 | **/ 5 | // Copyright 1998-2010 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #ifndef LEXERSIMPLE_H 9 | #define LEXERSIMPLE_H 10 | 11 | #ifdef SCI_NAMESPACE 12 | namespace Scintilla { 13 | #endif 14 | 15 | // A simple lexer with no state 16 | class LexerSimple : public LexerBase { 17 | const LexerModule *module; 18 | std::string wordLists; 19 | public: 20 | LexerSimple(const LexerModule *module_); 21 | const char * SCI_METHOD DescribeWordListSets(); 22 | void SCI_METHOD Lex(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess); 23 | void SCI_METHOD Fold(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess); 24 | }; 25 | 26 | #ifdef SCI_NAMESPACE 27 | } 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /scintilla/lexlib/PropSetSimple.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file PropSetSimple.h 3 | ** A basic string to string map. 4 | **/ 5 | // Copyright 1998-2009 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #ifndef PROPSETSIMPLE_H 9 | #define PROPSETSIMPLE_H 10 | 11 | #ifdef SCI_NAMESPACE 12 | namespace Scintilla { 13 | #endif 14 | 15 | class PropSetSimple { 16 | void *impl; 17 | void Set(const char *keyVal); 18 | public: 19 | PropSetSimple(); 20 | virtual ~PropSetSimple(); 21 | void Set(const char *key, const char *val, int lenKey=-1, int lenVal=-1); 22 | void SetMultiple(const char *); 23 | const char *Get(const char *key) const; 24 | char *Expanded(const char *key) const; 25 | int GetExpanded(const char *key, char *result) const; 26 | int GetInt(const char *key, int defaultValue=0) const; 27 | }; 28 | 29 | #ifdef SCI_NAMESPACE 30 | } 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /scintilla/scintilla.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /scintilla/src/Catalogue.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file Catalogue.h 3 | ** Lexer infrastructure. 4 | **/ 5 | // Copyright 1998-2010 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #ifndef CATALOGUE_H 9 | #define CATALOGUE_H 10 | 11 | #ifdef SCI_NAMESPACE 12 | namespace Scintilla { 13 | #endif 14 | 15 | class Catalogue { 16 | public: 17 | static const LexerModule *Find(int language); 18 | static const LexerModule *Find(const char *languageName); 19 | static void AddLexerModule(LexerModule *plm); 20 | }; 21 | 22 | #ifdef SCI_NAMESPACE 23 | } 24 | #endif 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /scintilla/src/FontQuality.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file FontQuality.h 3 | ** Definitions to control font anti-aliasing. 4 | **/ 5 | // Copyright 1998-2009 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #define SC_EFF_QUALITY_MASK 0xF 9 | #define SC_EFF_QUALITY_DEFAULT 0 10 | #define SC_EFF_QUALITY_NON_ANTIALIASED 1 11 | #define SC_EFF_QUALITY_ANTIALIASED 2 12 | #define SC_EFF_QUALITY_LCD_OPTIMIZED 3 13 | 14 | #define SCWIN_TECH_GDI 0 15 | #define SCWIN_TECH_DIRECTWRITE 1 16 | -------------------------------------------------------------------------------- /scintilla/src/Indicator.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file Indicator.h 3 | ** Defines the style of indicators which are text decorations such as underlining. 4 | **/ 5 | // Copyright 1998-2001 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | #ifndef INDICATOR_H 9 | #define INDICATOR_H 10 | 11 | #ifdef SCI_NAMESPACE 12 | namespace Scintilla { 13 | #endif 14 | 15 | /** 16 | */ 17 | class Indicator { 18 | public: 19 | int style; 20 | bool under; 21 | ColourDesired fore; 22 | int fillAlpha; 23 | int outlineAlpha; 24 | Indicator() : style(INDIC_PLAIN), under(false), fore(ColourDesired(0,0,0)), fillAlpha(30), outlineAlpha(50) { 25 | } 26 | void Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine); 27 | }; 28 | 29 | #ifdef SCI_NAMESPACE 30 | } 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /scintilla/src/SciTE.properties: -------------------------------------------------------------------------------- 1 | # SciTE.properties is the per directory local options file and can be used to override 2 | # settings made in SciTEGlobal.properties 3 | command.build.directory.*.cxx=..\win32 4 | command.build.directory.*.h=..\win32 5 | command.build.*.cxx=nmake -f scintilla.mak QUIET=1 6 | command.build.*.h=nmake -f scintilla.mak QUIET=1 7 | -------------------------------------------------------------------------------- /scintilla/src/UniConversion.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file UniConversion.h 3 | ** Functions to handle UTF-8 and UTF-16 strings. 4 | **/ 5 | // Copyright 1998-2001 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | const int UTF8MaxBytes = 4; 9 | 10 | unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen); 11 | void UTF8FromUTF16(const wchar_t *uptr, unsigned int tlen, char *putf, unsigned int len); 12 | unsigned int UTF8CharLength(unsigned char ch); 13 | unsigned int UTF16Length(const char *s, unsigned int len); 14 | unsigned int UTF16FromUTF8(const char *s, unsigned int len, wchar_t *tbuf, unsigned int tlen); 15 | 16 | extern int UTF8BytesOfLead[256]; 17 | void UTF8BytesOfLeadInitialise(); 18 | 19 | inline bool UTF8IsTrailByte(int ch) { 20 | return (ch >= 0x80) && (ch < 0xc0); 21 | } 22 | 23 | inline bool UTF8IsAscii(int ch) { 24 | return ch < 0x80; 25 | } 26 | 27 | enum { UTF8MaskWidth=0x7, UTF8MaskInvalid=0x8 }; 28 | int UTF8Classify(const unsigned char *us, int len); 29 | -------------------------------------------------------------------------------- /scintilla/win32/CheckD2D.cpp: -------------------------------------------------------------------------------- 1 | // This file is compiled to check whether Direct2D and DirectWrite headers are available. 2 | #include 3 | #include 4 | -------------------------------------------------------------------------------- /scintilla/win32/PlatWin.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file PlatWin.h 3 | ** Implementation of platform facilities on Windows. 4 | **/ 5 | // Copyright 1998-2011 by Neil Hodgson 6 | // The License.txt file describes the conditions under which this software may be distributed. 7 | 8 | extern bool IsNT(); 9 | extern void Platform_Initialise(void *hInstance); 10 | extern void Platform_Finalise(); 11 | 12 | #if defined(USE_D2D) 13 | extern bool LoadD2D(); 14 | extern ID2D1Factory *pD2DFactory; 15 | extern IDWriteFactory *pIDWriteFactory; 16 | #endif 17 | -------------------------------------------------------------------------------- /scintilla/win32/Scintilla.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | Scintilla_DirectFunction -------------------------------------------------------------------------------- /sdl2/COPYING.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2020 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | -------------------------------------------------------------------------------- /sdl2/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games 6 | and emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | https://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /sdl2/include/SDL2/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2017 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /sdl2/include/SDL2/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* 5 | ** Copyright 2017-2020 The Khronos Group Inc. 6 | ** SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 10 | * 11 | * Adopters may modify khrplatform.h and this file to suit their platform. 12 | * Please contribute modifications back to Khronos as pull requests on the 13 | * public github repository: 14 | * https://github.com/KhronosGroup/OpenGL-Registry 15 | */ 16 | 17 | /*#include */ 18 | 19 | #ifndef GL_APICALL 20 | #define GL_APICALL KHRONOS_APICALL 21 | #endif 22 | 23 | #ifndef GL_APIENTRY 24 | #define GL_APIENTRY KHRONOS_APIENTRY 25 | #endif 26 | 27 | #endif /* __gl2platform_h_ */ 28 | -------------------------------------------------------------------------------- /sdl2/include/SDL2/SDL_revision.h: -------------------------------------------------------------------------------- 1 | /* Generated by updaterev.sh, do not edit */ 2 | #ifdef SDL_VENDOR_INFO 3 | #define SDL_REVISION "SDL-release-2.26.1-0-gf17058b56 (" SDL_VENDOR_INFO ")" 4 | #else 5 | #define SDL_REVISION "SDL-release-2.26.1-0-gf17058b56" 6 | #endif 7 | #define SDL_REVISION_NUMBER 0 8 | -------------------------------------------------------------------------------- /sdl2/lib/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/sdl2/lib/SDL2.lib -------------------------------------------------------------------------------- /sdl2/lib/note.txt: -------------------------------------------------------------------------------- 1 | Indeed, there seems to be a bug in IMPLIB (possibly in ILINK32, too). 2 | 3 | I solved the problem by an intermediate IMPDEF step: 4 | 5 | IMPDEF -a SDL.def SDL.dll 6 | IMPLIB -c SDL.lib SDL.def -------------------------------------------------------------------------------- /speex/AUTHORS: -------------------------------------------------------------------------------- 1 | Jean-Marc Valin 2 | All the code except the following 3 | 4 | David Rowe 5 | lsp.c lsp.h 6 | Also ideas and feedback 7 | 8 | John Francis Edwards 9 | wave_out.[ch], some #ifdefs for windows port and MSVC project files 10 | 11 | Segher Boessenkool 12 | Misc. optimizations (for QMF in particular) 13 | 14 | Atsuhiko Yamanaka : 15 | Patch to speexenc.c to add Vorbis comment format 16 | 17 | Radim Kolar : 18 | Patch to speexenc.c for supporting more input formats 19 | -------------------------------------------------------------------------------- /speex/README: -------------------------------------------------------------------------------- 1 | See INSTALL file for instruction on how to install Speex. 2 | 3 | The Speex is a patent-free, Open Source/Free Software voice codec. Unlike other codecs like MP3 and Ogg Vorbis, Speex is designed to compress voice at bitrates in the 2-45 kbps range. Possible applications include VoIP, internet audio streaming, archiving of speech data (e.g. voice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec. 4 | 5 | To use the Speex command line tools: 6 | 7 | % speexenc [options] input_file.wav compressed_file.spx 8 | 9 | % speexdec [options] compressed_file.spx output_file.wav 10 | -------------------------------------------------------------------------------- /speex/build/libspeex.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | /** \note Turbo C++ 2006 compiler crashes if "Inline function expansion" option 10 | is used, so it is disabled in Release target 11 | */ 12 | -------------------------------------------------------------------------------- /speex/doc/Makefile.am: -------------------------------------------------------------------------------- 1 | doc_DATA = manual.pdf 2 | 3 | EXTRA_DIST = $(doc_DATA) 4 | -------------------------------------------------------------------------------- /speex/doc/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/speex/doc/manual.pdf -------------------------------------------------------------------------------- /speex/include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = speex 3 | -------------------------------------------------------------------------------- /speex/include/os_support_custom.h: -------------------------------------------------------------------------------- 1 | #ifndef OS_SUPPORT_CUSTOM_H 2 | #define OS_SUPPORT_CUSTOM_H 3 | 4 | #define inline __inline 5 | #define EXPORT 6 | #define DISABLE_WARNINGS 7 | //#define DUMP_ECHO_CANCEL_DATA 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /speex/include/speex/Makefile.am: -------------------------------------------------------------------------------- 1 | # Disable automatic dependency tracking if using other tools than gcc and gmake 2 | #AUTOMAKE_OPTIONS = no-dependencies 3 | 4 | nodist_pkginclude_HEADERS = speex_config_types.h 5 | 6 | pkginclude_HEADERS = speex.h speex_bits.h speex_buffer.h speex_callbacks.h \ 7 | speex_echo.h speex_header.h speex_jitter.h speex_preprocess.h speex_resampler.h \ 8 | speex_stereo.h speex_types.h 9 | 10 | -------------------------------------------------------------------------------- /speex/include/speex/speex_config_types.h.in: -------------------------------------------------------------------------------- 1 | #ifndef __SPEEX_TYPES_H__ 2 | #define __SPEEX_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | typedef @SIZE16@ spx_int16_t; 6 | typedef unsigned @SIZE16@ spx_uint16_t; 7 | typedef @SIZE32@ spx_int32_t; 8 | typedef unsigned @SIZE32@ spx_uint32_t; 9 | 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /tSIP/Action.cpp: -------------------------------------------------------------------------------- 1 | #include "Action.h" 2 | 3 | const char* Action::getTypeDescription(enum Action::Type type) 4 | { 5 | switch (type) 6 | { 7 | case TYPE_NONE: 8 | return "none"; 9 | case TYPE_SHOWHIDE: 10 | return "show/hide app"; 11 | case TYPE_BUTTON: 12 | return "button #"; 13 | case TYPE_ANSWER: 14 | return "answer"; 15 | case TYPE_HANGUP: 16 | return "hangup"; 17 | case TYPE_REDIAL: 18 | return "redial"; 19 | case TYPE_CALL_CLIPBOARD: 20 | return "call: clipboard"; 21 | case TYPE_SHOWHIDE_SIDECAR: 22 | return "show/hide sidecar"; 23 | case TYPE_ANSWER_HANGUP: 24 | return "answer/hangup"; 25 | case TYPE_SCRIPT_FILE: 26 | return "script file"; 27 | default: 28 | return ""; 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /tSIP/AppStatus.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #ifndef AppStatusH 3 | #define AppStatusH 4 | //--------------------------------------------------------------------------- 5 | 6 | #include 7 | 8 | 9 | /** \brief Set application status 10 | Combining multiple texts into application status - text on status bar and 11 | hint for tray icon. Tray icon hint would contain sum of statuses, status bar 12 | text would contain status with highest priority (lowest priority number value), 13 | plugins can add their status text independently. 14 | \param id text identifying status 15 | \param priority number deciding about order of statuses; lower number goes before higher number 16 | \param text part of the status to be combined 17 | */ 18 | void SetAppStatus(AnsiString id, int priority, AnsiString text); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /tSIP/Bitmaps.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef BitmapsH 4 | #define BitmapsH 5 | //--------------------------------------------------------------------------- 6 | 7 | void UpdateBitmaps(void); 8 | void UpdateBtnConsole(void); 9 | void FreeBitmapResources(void); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /tSIP/Branding.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef BrandingH 4 | #define BrandingH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | namespace Branding { 10 | extern AnsiString appName; 11 | extern AnsiString appProto; 12 | extern AnsiString appUrl; 13 | extern AnsiString fixedSettings; 14 | extern bool recording; 15 | void init(void); 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /tSIP/CustomDateUtils.hpp: -------------------------------------------------------------------------------- 1 | /** \file 2 | \brief Custom header to get rid of 8080 warnings from original VCL header 3 | */ 4 | #ifndef CustomDateUtilsHpp 5 | #define CustomDateUtilsHpp 6 | 7 | #include 8 | 9 | #define UNREFERENCED(x) ((void)x) 10 | static void FIX_DATEUTIL_WARNINGS() 11 | { 12 | UNREFERENCED(NaN); 13 | UNREFERENCED(Infinity); 14 | UNREFERENCED(NegInfinity); 15 | UNREFERENCED(MinSingle); 16 | UNREFERENCED(MaxSingle); 17 | UNREFERENCED(MinDouble); 18 | UNREFERENCED(MaxDouble); 19 | UNREFERENCED(MinExtended); 20 | UNREFERENCED(MaxExtended); 21 | UNREFERENCED(MinComp); 22 | UNREFERENCED(MaxComp); 23 | UNREFERENCED(OneHour); 24 | UNREFERENCED(OneMinute); 25 | UNREFERENCED(OneSecond); 26 | UNREFERENCED(OneMillisecond); 27 | } 28 | 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /tSIP/FixedSettings.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /tSIP/FormScreen.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | 6 | #include "FormScreen.h" 7 | //--------------------------------------------------------------------------- 8 | #pragma package(smart_init) 9 | #pragma resource "*.dfm" 10 | TfrmScreen *frmScreen; 11 | //--------------------------------------------------------------------------- 12 | __fastcall TfrmScreen::TfrmScreen(TComponent* Owner) 13 | : TForm(Owner) 14 | { 15 | } 16 | //--------------------------------------------------------------------------- 17 | 18 | void __fastcall TfrmScreen::CreateParams(TCreateParams &Params) 19 | { 20 | TForm::CreateParams(Params); 21 | Params.ExStyle |= WS_EX_APPWINDOW; 22 | Params.WndParent = 0; 23 | } 24 | 25 | 26 | -------------------------------------------------------------------------------- /tSIP/FormScreen.dfm: -------------------------------------------------------------------------------- 1 | object frmScreen: TfrmScreen 2 | Left = 0 3 | Top = 0 4 | Caption = 'Screen #01' 5 | ClientHeight = 292 6 | ClientWidth = 426 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'Tahoma' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | PixelsPerInch = 96 15 | TextHeight = 13 16 | object pnlSpeedDial: TPanel 17 | AlignWithMargins = True 18 | Left = 0 19 | Top = 0 20 | Width = 426 21 | Height = 292 22 | Margins.Left = 0 23 | Margins.Top = 0 24 | Margins.Right = 0 25 | Margins.Bottom = 0 26 | Align = alClient 27 | BevelOuter = bvNone 28 | TabOrder = 0 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /tSIP/FormScreen.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef FormScreenH 4 | #define FormScreenH 5 | //--------------------------------------------------------------------------- 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | //--------------------------------------------------------------------------- 12 | class TfrmScreen : public TForm 13 | { 14 | __published: // IDE-managed Components 15 | TPanel *pnlSpeedDial; 16 | private: // User declarations 17 | void __fastcall CreateParams(TCreateParams &Params); 18 | public: // User declarations 19 | __fastcall TfrmScreen(TComponent* Owner); 20 | }; 21 | //--------------------------------------------------------------------------- 22 | extern PACKAGE TfrmScreen *frmScreen; 23 | //--------------------------------------------------------------------------- 24 | #endif 25 | -------------------------------------------------------------------------------- /tSIP/FormTextEditor.dfm: -------------------------------------------------------------------------------- 1 | object frmTextEditor: TfrmTextEditor 2 | Left = 0 3 | Top = 0 4 | Align = alClient 5 | BorderStyle = bsNone 6 | Caption = 'Script editor' 7 | ClientHeight = 241 8 | ClientWidth = 347 9 | Color = clBtnFace 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'Tahoma' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | ExplicitWidth = 320 17 | ExplicitHeight = 240 18 | PixelsPerInch = 96 19 | TextHeight = 13 20 | end 21 | -------------------------------------------------------------------------------- /tSIP/Globals.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #pragma hdrstop 3 | 4 | #include "Globals.h" 5 | #include "History.h" 6 | #include "Contacts.h" 7 | #include "Hotkeys.h" 8 | #include "ProgrammableButtons.h" 9 | 10 | //--------------------------------------------------------------------------- 11 | 12 | #pragma package(smart_init) 13 | 14 | History history; 15 | Contacts contacts; 16 | HotKeys hotKeys; 17 | ProgrammableButtons buttons; 18 | -------------------------------------------------------------------------------- /tSIP/Globals.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef GlobalsH 4 | #define GlobalsH 5 | //--------------------------------------------------------------------------- 6 | 7 | class History; 8 | extern History history; 9 | 10 | class Contacts; 11 | extern Contacts contacts; 12 | 13 | class HotKeys; 14 | extern HotKeys hotKeys; 15 | 16 | class ProgrammableButtons; 17 | extern ProgrammableButtons buttons; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /tSIP/NetInterfaces.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/NetInterfaces.cpp -------------------------------------------------------------------------------- /tSIP/NetInterfaces.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef NetInterfacesH 4 | #define NetInterfacesH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | #include 9 | 10 | struct NetInterface 11 | { 12 | AnsiString name; 13 | AnsiString ip; 14 | }; 15 | 16 | int GetNetInterfaces(std::vector &interfaces); 17 | AnsiString GetNetAdapterDriverName(AnsiString adapterGuid); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /tSIP/Paths.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef PathsH 4 | #define PathsH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | namespace Paths 10 | { 11 | void SetProfileDir(AnsiString dir); 12 | 13 | AnsiString GetProfileDir(void); 14 | 15 | AnsiString GetFullImgName(AnsiString name); 16 | 17 | AnsiString GetConfig(void); 18 | }; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /tSIP/PortaudioLock.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | /** Locking portaudio: shared by UA and AudioDevicesList 4 | */ 5 | 6 | #pragma hdrstop 7 | 8 | #include "PortaudioLock.h" 9 | #include 10 | #define WIN32_LEAN_AND_MEAN 11 | #include 12 | 13 | //--------------------------------------------------------------------------- 14 | 15 | #pragma package(smart_init) 16 | 17 | static bool initialized = false; 18 | static CRITICAL_SECTION cs; 19 | 20 | extern "C" void lockFn(void) 21 | { 22 | EnterCriticalSection(&cs); 23 | } 24 | 25 | extern "C" void unlockFn(void) 26 | { 27 | LeaveCriticalSection(&cs); 28 | } 29 | 30 | int PortaudioLockInit(void) 31 | { 32 | InitializeCriticalSection(&cs); 33 | Pa_SetLocks(lockFn, unlockFn); 34 | initialized = true; 35 | return 0; 36 | } 37 | 38 | void PortaudioLockShutdown(void) 39 | { 40 | if (initialized) 41 | DeleteCriticalSection(&cs); 42 | } 43 | -------------------------------------------------------------------------------- /tSIP/PortaudioLock.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef PortaudioLockH 4 | #define PortaudioLockH 5 | //--------------------------------------------------------------------------- 6 | 7 | int PortaudioLockInit(void); 8 | void PortaudioLockShutdown(void); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /tSIP/SIMPLE_Messages.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef SIMPLE_MessagesH 4 | #define SIMPLE_MessagesH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | /** \note Using just "Messages.h" for name creates some conflict (VCL?) 10 | */ 11 | 12 | class TfrmMessage; 13 | 14 | namespace SIMPLE_Messages 15 | { 16 | void RegisterWindow(TfrmMessage *frmMessage); 17 | void UnregisterWindow(TfrmMessage *frmMessage); 18 | void CloseAllWindows(void); 19 | void OnIncomingMessage(AnsiString caller, AnsiString contentType, AnsiString body); 20 | void OnMessageStatus(int requestUid, int requestError, int sipCode, AnsiString reason); 21 | void Send(AnsiString target, AnsiString text, bool sendImmediately); 22 | } 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /tSIP/ScEditStyle.h: -------------------------------------------------------------------------------- 1 | #ifndef ScEditStyleH 2 | #define ScEditStyleH 3 | 4 | /** Style (highligher) selected for Scintilla */ 5 | enum ScEditStyle { 6 | SC_STYLE_CPP = 0, 7 | SC_STYLE_JSON, 8 | SC_STYLE_LUA, 9 | 10 | SC_STYLE_LIMITER 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /tSIP/SettingsAppVersion.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #pragma hdrstop 3 | 4 | #include "SettingsAppVersion.h" 5 | #include "common\Utilities.h" 6 | #include 7 | 8 | void SettingsAppVersion::FromJson(const Json::Value &jv) 9 | { 10 | if (jv.type() == Json::objectValue) 11 | { 12 | jv.getUInt("FileVersionMS", FileVersionMS); 13 | jv.getUInt("FileVersionLS", FileVersionLS); 14 | } 15 | } 16 | 17 | void SettingsAppVersion::ToJson(Json::Value &jv) 18 | { 19 | jv["FileVersionMS"] = FileVersionMS; 20 | jv["FileVersionLS"] = FileVersionLS; 21 | 22 | AnsiString asVer; 23 | asVer.sprintf("%d.%02d.%02d.%02d", HIWORD(FileVersionMS), LOWORD(FileVersionMS), HIWORD(FileVersionLS), LOWORD(FileVersionLS)); 24 | jv["FileVersionText"] = asVer; 25 | } 26 | 27 | void SettingsAppVersion::FromAppExe(void) 28 | { 29 | GetFileVer(Application->ExeName, FileVersionMS, FileVersionLS); 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /tSIP/SettingsAppVersion.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef SettingsAppVersionH 4 | #define SettingsAppVersionH 5 | //--------------------------------------------------------------------------- 6 | 7 | namespace Json 8 | { 9 | class Value; 10 | } 11 | 12 | struct SettingsAppVersion 13 | { 14 | unsigned int FileVersionMS; 15 | unsigned int FileVersionLS; 16 | bool operator<(const SettingsAppVersion &other) const 17 | { 18 | if (FileVersionMS < other.FileVersionMS) 19 | { 20 | return true; 21 | } 22 | else if (other.FileVersionMS == FileVersionMS && FileVersionLS < other.FileVersionLS) 23 | { 24 | return true; 25 | } 26 | else 27 | { 28 | return false; 29 | } 30 | } 31 | SettingsAppVersion(void) 32 | { 33 | FileVersionMS = 0; 34 | FileVersionLS = 0; 35 | } 36 | void FromJson(const Json::Value &jv); 37 | void ToJson(Json::Value &jv); 38 | void FromAppExe(void); 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /tSIP/Sizes.h: -------------------------------------------------------------------------------- 1 | #ifndef SizesH 2 | #define SizesH 3 | 4 | namespace Sizes 5 | { 6 | enum { BUTTON_OFFSET_TOP = 4 }; 7 | enum { FIRST_COLUMN_LEFT = 276 }; 8 | enum { COLUMN_WIDTH = 104 }; 9 | enum { COLUMN_SEPARATION = 4 }; 10 | } 11 | 12 | #endif -------------------------------------------------------------------------------- /tSIP/Translate.h: -------------------------------------------------------------------------------- 1 | #ifndef TranslateH 2 | #define TranslateH 3 | 4 | #include 5 | #include 6 | 7 | std::vector EnumerateTranslations(void); 8 | 9 | int LoadTranslations(AnsiString name, bool logMissingKeys); 10 | 11 | typedef void (*TranslationCb)(void* obj); 12 | 13 | void RegisterTranslationCb(void* obj, TranslationCb cb); 14 | void UnregisterTranslationCb(void* obj); 15 | 16 | void Translate(const char* key, AnsiString& text); 17 | 18 | AnsiString Translate2(const char* key, AnsiString defaultText); 19 | 20 | /// Translate temporary object (e.g. Caption) 21 | #define TRANSLATE_TMP(key, tmp) tmp = Translate2(key, tmp) 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /tSIP/Troubleshooting.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef TroubleshootingH 4 | #define TroubleshootingH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | #include 9 | 10 | namespace Troubleshooting { 11 | 12 | enum Level 13 | { 14 | LevelError = 0, 15 | LevelWarning, 16 | LevelHint, 17 | 18 | LevelLimiter 19 | }; 20 | 21 | struct Item 22 | { 23 | int typeId; 24 | AnsiString extraMsg; 25 | Item(void): 26 | typeId(-1) 27 | {} 28 | enum Level getLevel(void) const; 29 | const char* getName(void) const; 30 | const char* getDescription(void) const; 31 | }; 32 | 33 | void AddItem(int typeId, AnsiString extraMsg = ""); 34 | 35 | const std::vector& getItems(void); 36 | 37 | void Update(void); 38 | }; 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /tSIP/VideoConf.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef VideoConfH 4 | #define VideoConfH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | namespace Json 10 | { 11 | class Value; 12 | } 13 | 14 | struct VideoConf 15 | { 16 | bool enabled; 17 | 18 | enum DisplayParentType { 19 | DISPLAY_PARENT_NONE = 0, ///< separate video window 20 | DISPLAY_PARENT_BUTTON, ///< video on a programmable button 21 | 22 | DISPLAY_PARENT__LIMITER 23 | } displayParentType; 24 | static const char* getDisplayParentTypeName(enum DisplayParentType type); 25 | 26 | int displayParentId; 27 | 28 | VideoConf(void); 29 | void fromJson(const Json::Value &jv); 30 | void toJson(Json::Value &jv) const; 31 | 32 | bool operator==(const VideoConf &right) const; 33 | bool operator!=(const VideoConf &right) const 34 | { 35 | return !(*this == right); 36 | } 37 | }; 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /tSIP/VideoDevicesList.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef VideoDevicesListH 4 | #define VideoDevicesListH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | #include 9 | 10 | namespace Stdctrls 11 | { 12 | class TComboBox; 13 | } 14 | 15 | class VideoDevicesList 16 | { 17 | private: 18 | VideoDevicesList(); 19 | VideoDevicesList(const VideoDevicesList& source); 20 | VideoDevicesList& operator=(const VideoDevicesList&); 21 | public: 22 | static VideoDevicesList& Instance(void) 23 | { 24 | static VideoDevicesList videoDevicesList; 25 | return videoDevicesList; 26 | } 27 | std::vector dshowDevsIn; 28 | //std::vector sdlDevsOut; 29 | void Refresh(void); 30 | 31 | static void FillComboBox(Stdctrls::TComboBox *target, AnsiString module, bool out, AnsiString selected); 32 | }; 33 | 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /tSIP/_dist/busy.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/busy.wav -------------------------------------------------------------------------------- /tSIP/_dist/certificates/README.txt: -------------------------------------------------------------------------------- 1 | Directory for CA PEM file and client certificate PEM. -------------------------------------------------------------------------------- /tSIP/_dist/error.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/error.wav -------------------------------------------------------------------------------- /tSIP/_dist/img/Backspace.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/Backspace.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/FoldIn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/FoldIn.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/FoldIn2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/FoldIn2.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/FoldOut.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/FoldOut.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/MicOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/MicOff.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/Microphone.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/Microphone.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/OVCP.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/OVCP.ico -------------------------------------------------------------------------------- /tSIP/_dist/img/README.txt: -------------------------------------------------------------------------------- 1 | Directory for images used by application - bitmaps and icons. 2 | Application is expecting 24-bit bitmaps and lower-left pixel color is treated as tranparency key. -------------------------------------------------------------------------------- /tSIP/_dist/img/Speaker.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/Speaker.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/bellOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/bellOff.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/check.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/check.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/codec.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/codec.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/confirmed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/confirmed.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/confirmed2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/confirmed2.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/cross.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/cross.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/early.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/early.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/early2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/early2.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/empty.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/empty.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/hold.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/hold.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/hold2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/hold2.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/json.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/json.ico -------------------------------------------------------------------------------- /tSIP/_dist/img/lock_green.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/lock_green.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/lock_yellow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/lock_yellow.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/mail.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/mail.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/mail_white.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/mail_white.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/mail_yellow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/mail_yellow.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/miniscope.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/miniscope.ico -------------------------------------------------------------------------------- /tSIP/_dist/img/redial.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/redial.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/tSIP2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/tSIP2.ico -------------------------------------------------------------------------------- /tSIP/_dist/img/tSIP_16x16_crossed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/tSIP_16x16_crossed.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/tSIP_16x16_pink.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/tSIP_16x16_pink.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/tSIP_16x16_yellow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/tSIP_16x16_yellow.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/terminated.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/terminated.bmp -------------------------------------------------------------------------------- /tSIP/_dist/img/terminated2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/img/terminated2.bmp -------------------------------------------------------------------------------- /tSIP/_dist/libcrypto-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/libcrypto-1_1.dll -------------------------------------------------------------------------------- /tSIP/_dist/libssl-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/libssl-1_1.dll -------------------------------------------------------------------------------- /tSIP/_dist/modules/README.txt: -------------------------------------------------------------------------------- 1 | Directory for dynamically loaded baresip modules. 2 | At the moment this is only g729.dll. -------------------------------------------------------------------------------- /tSIP/_dist/notfound.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/notfound.wav -------------------------------------------------------------------------------- /tSIP/_dist/phone/README.txt: -------------------------------------------------------------------------------- 1 | Directory for application plugins. 2 | First-ever plugin supported USB phones, hence the folder name -------------------------------------------------------------------------------- /tSIP/_dist/pluck.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/pluck.wav -------------------------------------------------------------------------------- /tSIP/_dist/recordings/README.txt: -------------------------------------------------------------------------------- 1 | Default directory where call recordings are stored. -------------------------------------------------------------------------------- /tSIP/_dist/ring.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/ring.wav -------------------------------------------------------------------------------- /tSIP/_dist/ringback.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/ringback.wav -------------------------------------------------------------------------------- /tSIP/_dist/scripts/README.txt: -------------------------------------------------------------------------------- 1 | Directory for Lua scripts. -------------------------------------------------------------------------------- /tSIP/_dist/translations/README.txt: -------------------------------------------------------------------------------- 1 | Directory for translation files (JSON with key: value pairs). 2 | Application is looking for translations.json in each subfolder. 3 | 4 | Tested i18n editors: 5 | - https://github.com/jcbvm/i18n-editor 6 | - https://www.electronjs.org/apps/i18n-manager -------------------------------------------------------------------------------- /tSIP/_dist/vcruntime140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist/vcruntime140.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/README.txt: -------------------------------------------------------------------------------- 1 | This application requires openh264.dll, version 2.3.1 32-bit. 2 | 3 | Download http://ciscobinary.openh264.org/openh264-2.3.1-win32.dll.bz2 and extract it (using e.g. 7-zip). 4 | Rename openh264-2.3.1-win32.dll and put it next to application executable. 5 | 6 | OpenH264 Video Codec provided by Cisco Systems, Inc. 7 | 8 | You can find full license text in the CISCO_OPENH264_BINARY_LICENSE.txt file. -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/SDL2.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/avcodec-59.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/avcodec-59.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/avdevice-59.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/avdevice-59.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/avformat-59.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/avformat-59.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/avutil-57.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/avutil-57.dll -------------------------------------------------------------------------------- /tSIP/_dist_extra_video/swresample-4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_dist_extra_video/swresample-4.dll -------------------------------------------------------------------------------- /tSIP/_doc/doxygen.h: -------------------------------------------------------------------------------- 1 | #ifndef __DOXYGEN_H__ 2 | #define __DOXYGEN_H__ 3 | 4 | /** \file 5 | \brief Doxygen's pages. 6 | */ 7 | 8 | /** 9 | \mainpage Welcome to tSIP! 10 | 11 | 12 | */ 13 | 14 | -------------------------------------------------------------------------------- /tSIP/_doc/doxygen_footer.html: -------------------------------------------------------------------------------- 1 |
2 | Generated on $datetime for $projectname by  3 | doxygen $doxygenversion 4 |
5 | Tomasz Ostrowski 6 |
7 | 8 | 9 | -------------------------------------------------------------------------------- /tSIP/_doc/doxygen_header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | $title 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tSIP/_doc/licenses.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_doc/licenses.txt -------------------------------------------------------------------------------- /tSIP/_doc/proto/proto.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Call *74101 7 | Hangup 8 | 9 | -------------------------------------------------------------------------------- /tSIP/_doc/roadmap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/_doc/roadmap.h -------------------------------------------------------------------------------- /tSIP/build-tools/touch.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/build-tools/touch.exe -------------------------------------------------------------------------------- /tSIP/buttons/ButtonContainerConf.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef ButtonContainerConfH 4 | #define ButtonContainerConfH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include 8 | 9 | namespace Json 10 | { 11 | class Value; 12 | } 13 | 14 | class ButtonContainerConf 15 | { 16 | public: 17 | AnsiString backgroundImage; 18 | bool backgroundImageTransparent; 19 | int backgroundColor; 20 | 21 | ButtonContainerConf(void); 22 | 23 | bool operator==(const ButtonContainerConf& right) const { 24 | return ( 25 | backgroundImage == right.backgroundImage && 26 | backgroundImageTransparent == right.backgroundImageTransparent && 27 | backgroundColor == right.backgroundColor 28 | ); 29 | } 30 | bool operator!=(const ButtonContainerConf& right) const { 31 | return !(*this == right); 32 | } 33 | 34 | void FromJson(const Json::Value &jv); 35 | void ToJson(Json::Value &jv) const; 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /tSIP/buttons/ButtonContainers.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #pragma hdrstop 3 | 4 | #include "ButtonContainers.h" 5 | 6 | //--------------------------------------------------------------------------- 7 | 8 | #pragma package(smart_init) 9 | 10 | 11 | TfrmButtonContainer* frmButtonContainers[BUTTON_CONTAINER__COUNT] = {0}; 12 | 13 | const char* GetButtonContainerName(enum ButtonContainerId id) 14 | { 15 | switch (id) 16 | { 17 | case BUTTON_CONTAINER_DIALPAD: 18 | return "dialpad panel"; 19 | case BUTTON_CONTAINER_MAIN: 20 | return "main area / console"; 21 | case BUTTON_CONTAINER_CALL_PANEL: 22 | return "call panel (Call/Hangup)"; 23 | case BUTTON_CONTAINER_TRAY_NOTIFIER: 24 | return "tray notifier window"; 25 | default: 26 | return "???"; 27 | } 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /tSIP/buttons/ButtonContainers.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef ButtonContainersH 4 | #define ButtonContainersH 5 | //--------------------------------------------------------------------------- 6 | 7 | class TfrmButtonContainer; 8 | 9 | enum ButtonContainerId { 10 | BUTTON_CONTAINER_DIALPAD = 0, 11 | BUTTON_CONTAINER_MAIN, 12 | BUTTON_CONTAINER_CALL_PANEL, 13 | BUTTON_CONTAINER_TRAY_NOTIFIER, 14 | 15 | BUTTON_CONTAINER__COUNT 16 | }; 17 | 18 | static const enum ButtonContainerId BUTTON_CONTAINER__DEFAULT = BUTTON_CONTAINER_MAIN; 19 | 20 | const char* GetButtonContainerName(enum ButtonContainerId id); 21 | 22 | extern TfrmButtonContainer* frmButtonContainers[BUTTON_CONTAINER__COUNT]; 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /tSIP/contacts/ContactsXmlImport.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | /** \file 3 | \brief Import of Cisco/Yealink/ATcom/...-style XML phonebook 4 | */ 5 | 6 | #ifndef ContactsXmlImportH 7 | #define ContactsXmlImportH 8 | //--------------------------------------------------------------------------- 9 | 10 | #include 11 | #include 12 | #include "Contacts.h" 13 | 14 | int ContactsXmlImport(AnsiString filename, std::vector &entries); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /tSIP/contacts/FormContactPopup.dfm: -------------------------------------------------------------------------------- 1 | object frmContactPopup: TfrmContactPopup 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | Caption = 'Contact' 6 | ClientHeight = 113 7 | ClientWidth = 392 8 | Color = clBtnFace 9 | Font.Charset = DEFAULT_CHARSET 10 | Font.Color = clWindowText 11 | Font.Height = -11 12 | Font.Name = 'Tahoma' 13 | Font.Style = [] 14 | OldCreateOrder = False 15 | OnClose = FormClose 16 | PixelsPerInch = 96 17 | TextHeight = 13 18 | object note: TRichEdit 19 | Left = 0 20 | Top = 0 21 | Width = 392 22 | Height = 113 23 | Align = alClient 24 | PlainText = True 25 | ScrollBars = ssVertical 26 | TabOrder = 0 27 | end 28 | object PopupMenu: TPopupMenu 29 | Left = 8 30 | Top = 80 31 | object miRevertChanges: TMenuItem 32 | Caption = 'Revert changes' 33 | OnClick = miRevertChangesClick 34 | end 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /tSIP/history/HistoryConf.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #ifndef HistoryConfH 3 | #define HistoryConfH 4 | //--------------------------------------------------------------------------- 5 | 6 | #include 7 | 8 | namespace Json 9 | { 10 | class Value; 11 | } 12 | 13 | struct HistoryConf 14 | { 15 | bool noStoreToFile; 16 | bool ignoreCallsCompletedElsewhere; 17 | bool usePaiForDisplayIfAvailable; 18 | bool usePaiForDialIfAvailable; 19 | bool showHint; 20 | bool formatCallDurationAsHourMinSec; 21 | bool showCodecNameInHint; 22 | bool showLastCodeInHint; 23 | bool showLastReplyLineInHint; 24 | bool showReasonInHint; 25 | bool showRecordFileInHint; 26 | std::vector listColumnWidths; 27 | 28 | HistoryConf(void); 29 | void fromJson(const Json::Value &jv); 30 | void toJson(Json::Value &jv) const; 31 | 32 | bool operator==(const HistoryConf &right) const; 33 | bool operator!=(const HistoryConf &right) const 34 | { 35 | return !(*this == right); 36 | } 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /tSIP/hotkeys/HotKeyConf.cpp: -------------------------------------------------------------------------------- 1 | #include "HotKeyConf.h" 2 | 3 | AnsiString HotKeyConf::GetDescription(void) const 4 | { 5 | AnsiString ret; 6 | if (global) 7 | ret = "(GLOBAL) "; 8 | else 9 | ret = "(LOCAL) "; 10 | 11 | if (modifiers & SHIFT) 12 | ret += "SHIFT+"; 13 | if (modifiers & CTRL) 14 | ret += "CTRL+"; 15 | if (modifiers & ALT) 16 | ret += "ALT+"; 17 | ret += "[" + keyCode + "]"; 18 | return ret; 19 | } 20 | -------------------------------------------------------------------------------- /tSIP/hotkeys/HotKeyConf.h: -------------------------------------------------------------------------------- 1 | #ifndef HotKeyConfH 2 | #define HotKeyConfH 3 | 4 | #include "Action.h" 5 | #include 6 | 7 | struct HotKeyConf 8 | { 9 | enum Modifier 10 | { 11 | SHIFT = 1<<0, 12 | CTRL = 1<<1, 13 | ALT = 1<<2, 14 | WIN = 1<<3 15 | }; 16 | AnsiString keyCode; 17 | int vkCode; ///< duplicates keyCode, used to speed up mapping, not stored in configuration 18 | int modifiers; 19 | bool global; ///< register hotkey as global 20 | 21 | Action action; 22 | 23 | bool operator==(const HotKeyConf& right) const { 24 | if (keyCode != right.keyCode || 25 | modifiers != right.modifiers || 26 | global != right.global || 27 | action != right.action) 28 | { 29 | return false; 30 | } 31 | return true; 32 | } 33 | 34 | HotKeyConf(void) { 35 | keyCode = ""; 36 | vkCode = -1; 37 | modifiers = SHIFT | CTRL | ALT; 38 | global = false; 39 | } 40 | 41 | AnsiString GetDescription(void) const; 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /tSIP/phone/PhoneCapabilities.h: -------------------------------------------------------------------------------- 1 | #ifndef PhoneCapabilitiesH 2 | #define PhoneCapabilitiesH 3 | 4 | struct S_PHONE_CAPABILITIES 5 | { 6 | int dummy; 7 | }; 8 | 9 | #endif // PhoneCapabilitiesH 10 | -------------------------------------------------------------------------------- /tSIP/phone/PhoneConf.h: -------------------------------------------------------------------------------- 1 | #ifndef PhoneConfH 2 | #define PhoneConfH 3 | 4 | #include 5 | 6 | struct PhoneConf 7 | { 8 | AnsiString dllName; 9 | PhoneConf(void) 10 | {} 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /tSIP/phone/PhoneSettings.h: -------------------------------------------------------------------------------- 1 | #ifndef PhoneSettingsH 2 | #define PhoneSettingsH 3 | 4 | struct S_PHONE_SETTINGS { 5 | int ring; 6 | }; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /tSIP/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef ResourceH 2 | #define ResourceH 3 | 4 | #define ID_STR_RECORDING_FEATURE 1002 5 | #define ID_STR_APP_NAME 1003 6 | #define ID_STR_APP_PROTO 1004 7 | #define ID_STR_APP_URL 1005 8 | 9 | 10 | #define ID_RCDATA_FIXED_SETTINGS 1100 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /tSIP/resource.rc: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | 3 | STRINGTABLE 4 | { 5 | ID_STR_RECORDING_FEATURE "RECORDING_ENABLED" 6 | ID_STR_APP_NAME "tSIP" 7 | ID_STR_APP_PROTO "tsip" 8 | ID_STR_APP_URL "https://tomeko.net/software/SIPclient/" 9 | } 10 | 11 | 12 | ID_RCDATA_FIXED_SETTINGS RCDATA "FixedSettings.json" 13 | 14 | -------------------------------------------------------------------------------- /tSIP/resources/1195445181899094722molumen_phone_icon.svg.med.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/1195445181899094722molumen_phone_icon.svg.med.png -------------------------------------------------------------------------------- /tSIP/resources/backspace.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/backspace.bmp -------------------------------------------------------------------------------- /tSIP/resources/edit.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/edit.bmp -------------------------------------------------------------------------------- /tSIP/resources/edit2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/edit2.bmp -------------------------------------------------------------------------------- /tSIP/resources/enter.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/enter.bmp -------------------------------------------------------------------------------- /tSIP/resources/error.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/error.bmp -------------------------------------------------------------------------------- /tSIP/resources/error2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/error2.bmp -------------------------------------------------------------------------------- /tSIP/resources/error3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/error3.bmp -------------------------------------------------------------------------------- /tSIP/resources/info.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/info.bmp -------------------------------------------------------------------------------- /tSIP/resources/microphone.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/microphone.bmp -------------------------------------------------------------------------------- /tSIP/resources/speaker.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/speaker.bmp -------------------------------------------------------------------------------- /tSIP/resources/tSIP.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP.bmp -------------------------------------------------------------------------------- /tSIP/resources/tSIP.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP.ico -------------------------------------------------------------------------------- /tSIP/resources/tSIP2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP2.bmp -------------------------------------------------------------------------------- /tSIP/resources/tSIP2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP2.ico -------------------------------------------------------------------------------- /tSIP/resources/tSIP_16x16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP_16x16.bmp -------------------------------------------------------------------------------- /tSIP/resources/tSIP_16x16_pink.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP_16x16_pink.bmp -------------------------------------------------------------------------------- /tSIP/resources/tSIP_16x16_yellow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/tSIP_16x16_yellow.bmp -------------------------------------------------------------------------------- /tSIP/resources/warning.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/warning.bmp -------------------------------------------------------------------------------- /tSIP/resources/warning2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/warning2.bmp -------------------------------------------------------------------------------- /tSIP/resources/zoom.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/resources/zoom.bmp -------------------------------------------------------------------------------- /tSIP/scripting/LuaState.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "LuaState.h" 7 | 8 | //--------------------------------------------------------------------------- 9 | 10 | #pragma package(smart_init) 11 | -------------------------------------------------------------------------------- /tSIP/scripting/LuaState.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef LuaStateH 4 | #define LuaStateH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include "lua.hpp" 8 | 9 | class Lua_State 10 | { 11 | lua_State *L; 12 | public: 13 | Lua_State(void): 14 | L(luaL_newstate()) 15 | { 16 | } 17 | 18 | ~Lua_State() { 19 | lua_close(L); 20 | } 21 | 22 | // implicitly act as a lua_State pointer 23 | inline operator lua_State*() { 24 | return L; 25 | } 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /tSIP/scripting/LuaWinapi.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | #ifndef LuaWinapiH 3 | #define LuaWinapiH 4 | //--------------------------------------------------------------------------- 5 | 6 | /** \brief Separating few WinAPI equivalent functions into Lua library 7 | */ 8 | 9 | struct lua_State; 10 | 11 | extern "C" int luaopen_tsip_winapi (lua_State *L); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /tSIP/scripting/ScriptSource.h: -------------------------------------------------------------------------------- 1 | #ifndef ScriptSourceH 2 | #define ScriptSourceH 3 | 4 | enum ScriptSource { 5 | SCRIPT_SRC_BUTTON = 0, 6 | SCRIPT_SRC_ON_MAKING_CALL, 7 | SCRIPT_SRC_ON_CALL_STATE, 8 | SCRIPT_SRC_ON_STREAMING_STATE, 9 | SCRIPT_SRC_ON_REGISTRATION_STATE, 10 | SCRIPT_SRC_ON_STARTUP, // 5 11 | SCRIPT_SRC_ON_TIMER, 12 | SCRIPT_SRC_ON_DIALOG_INFO, 13 | SCRIPT_SRC_ON_DIAL, 14 | SCRIPT_SRC_SCRIPT_WINDOW, 15 | SCRIPT_SRC_ON_AUDIO_ERROR, // 10 16 | SCRIPT_SRC_PLUGIN_QUEUE, 17 | SCRIPT_SRC_ON_CUSTOM_REQUEST_REPLY, 18 | SCRIPT_SRC_ON_CONTACT_NOTE_OPEN, 19 | SCRIPT_SRC_ON_RECORDER_STATE, 20 | SCRIPT_SRC_COMMAND_LINE, // 15 21 | SCRIPT_SRC_BUTTON_MOUSE_UP_DOWN, 22 | SCRIPT_SRC_ON_ENCRYPTION_STATE, 23 | SCRIPT_SRC_HOTKEY, 24 | 25 | SCRIPT_SRC_LIMITER 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /tSIP/tSIP.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomek-o/tSIP/5343bb2789f8b424935ae70c9f6fc57d77a3c6b7/tSIP/tSIP.res -------------------------------------------------------------------------------- /tSIP/ua/Command.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "Command.h" 7 | 8 | //--------------------------------------------------------------------------- 9 | 10 | #pragma package(smart_init) 11 | -------------------------------------------------------------------------------- /tSIP/ua/Recorder.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "Recorder.h" 7 | 8 | //--------------------------------------------------------------------------- 9 | 10 | #pragma package(smart_init) 11 | -------------------------------------------------------------------------------- /tSIP/ua/Recorder.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef RecorderH 4 | #define RecorderH 5 | //--------------------------------------------------------------------------- 6 | 7 | #include "Callback.h" 8 | 9 | struct Recorder 10 | { 11 | enum Callback::rec_state_e state; 12 | Recorder(void): 13 | state(Callback::RECORDER_STATE_IDLE) 14 | {} 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /tSIP/ua/UaGlobals.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | 4 | #pragma hdrstop 5 | 6 | #include "UaGlobals.h" 7 | 8 | //--------------------------------------------------------------------------- 9 | 10 | #pragma package(smart_init) 11 | 12 | const char *CALL_COMPLETED_ELSEWHERE = "CALL COMPLETED ELSEWHERE"; 13 | 14 | -------------------------------------------------------------------------------- /tSIP/ua/UaGlobals.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef UaGlobalsH 4 | #define UaGlobalsH 5 | //--------------------------------------------------------------------------- 6 | 7 | extern const char *CALL_COMPLETED_ELSEWHERE; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /tSIP/ua/UaMain.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #ifndef UaMainH 4 | #define UaMainH 5 | //--------------------------------------------------------------------------- 6 | #include 7 | #include 8 | 9 | class Ua 10 | { 11 | private: 12 | Ua() { 13 | }; 14 | Ua(const Ua& source); 15 | Ua& operator=(const Ua&); 16 | TThread *thread; 17 | public: 18 | static Ua& Instance(void) 19 | { 20 | static Ua ua; 21 | return ua; 22 | } 23 | int Start(void); 24 | void Restart(void); 25 | void Quit(void); 26 | int GetAudioCodecList(std::vector &codecs); 27 | unsigned int GetAudioRxSignalLevel(void); 28 | 29 | int GetVideoCodecList(std::vector &codecs); 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /tSIP_baresip.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | baresip\mk\win32-tc\baresip.bdsproj 13 | tSIP\tSIP.bdsproj 14 | baresip.lib tSIP.exe 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tSIP_baresip_opusenc.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | opusenc\win32-tc\libopusenc.bdsproj 13 | baresip\mk\win32-tc\baresip.bdsproj 14 | tSIP\tSIP.bdsproj 15 | libopusenc.lib baresip.lib tSIP.exe 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tSIP_baresip_re.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | re\mk\win32-tc\re.bdsproj 13 | baresip\mk\win32-tc\baresip.bdsproj 14 | tSIP\tSIP.bdsproj 15 | re.lib baresip.lib tSIP.exe 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tSIP_baresip_rem.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | rem\mk\win32-tc\rem.bdsproj 13 | baresip\mk\win32-tc\baresip.bdsproj 14 | tSIP\tSIP.bdsproj 15 | rem.lib baresip.lib tSIP.exe 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tSIP_baresip_speex.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | baresip\mk\win32-tc\baresip.bdsproj 15 | tSIP\tSIP.bdsproj 16 | speex\build\libspeex.bdsproj 17 | baresip.lib tSIP.exe libspeex.lib 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /tSIP_baresip_webrtc.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | webrtc\webrtc_tc.bdsproj 15 | baresip\mk\win32-tc\baresip.bdsproj 16 | tSIP\tSIP.bdsproj 17 | webrtc_tc.lib baresip.lib tSIP.exe 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /tSIP_baresip_zrtpcpp.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | zrtpcpp\build\zrtpcpp.bdsproj 13 | baresip\mk\win32-tc\baresip.bdsproj 14 | tSIP\tSIP.bdsproj 15 | zrtpcpp.lib baresip.lib tSIP.exe 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tSIP_common.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | common\common.bdsproj 15 | tSIP\tSIP.bdsproj 16 | common.lib tSIP.exe 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tSIP_exe.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | tSIP\tSIP.bdsproj 15 | tSIP.exe 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tSIP_rem_baresip.bdsgroup: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | rem\mk\win32-tc\rem.bdsproj 13 | baresip\mk\win32-tc\baresip.bdsproj 14 | tSIP\tSIP.bdsproj 15 | rem.lib baresip.lib tSIP.exe 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /webrtc/webrtc/modules/audio_processing/OWNERS: -------------------------------------------------------------------------------- 1 | andrew@webrtc.org 2 | bjornv@webrtc.org 3 | -------------------------------------------------------------------------------- /webrtc/webrtc/modules/audio_processing/utility/fft4g.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 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 | 11 | #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_UTILITY_FFT4G_H_ 12 | #define WEBRTC_MODULES_AUDIO_PROCESSING_UTILITY_FFT4G_H_ 13 | 14 | void WebRtc_rdft(int, int, float *, int *, float *); 15 | void WebRtc_cdft(int, int, float *, int *, float *); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /webrtc/webrtc/system_wrappers/interface/compile_assert.h: -------------------------------------------------------------------------------- 1 | /* 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 | 11 | #ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_COMPILE_ASSERT_H_ 12 | #define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_COMPILE_ASSERT_H_ 13 | 14 | /* Use this macro to verify at compile time that certain restrictions are met. 15 | * The argument is the boolean expression to evaluate. 16 | * Example: 17 | * COMPILE_ASSERT(sizeof(foo) < 128); 18 | */ 19 | #define COMPILE_ASSERT(expression) switch(0){case 0: case expression:;} 20 | 21 | #endif // WEBRTC_SYSTEM_WRAPPERS_INTERFACE_COMPILE_ASSERT_H_ 22 | -------------------------------------------------------------------------------- /webrtc/webrtc_tc.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /zrtpcpp/AUTHORS: -------------------------------------------------------------------------------- 1 | Authors of GNU ZRTP 2 | 3 | Werner.Dittmann@t-online.de 4 | 5 | Werner Dittmann designed and implimented GNU ZRTP based on Phil Zimmermann's 6 | ZRTP specification. 7 | -------------------------------------------------------------------------------- /zrtpcpp/COPYING: -------------------------------------------------------------------------------- 1 | Licensed under the Apache License, Version 2.0 (the "License"); 2 | you may not use this file except in compliance with the License. 3 | You may obtain a copy of the License at 4 | 5 | http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/bn00.c: -------------------------------------------------------------------------------- 1 | /* 2 | * bn00.c - auto-size-detecting bn??.c file. 3 | * 4 | * Written in 1995 by Colin Plumb. 5 | * For licensing and other legal details, see the file legal.c. 6 | */ 7 | 8 | #include "bnsize00.h" 9 | 10 | #if BNSIZE64 11 | 12 | /* Include all of the C source file by reference */ 13 | #include "bn64.c" 14 | #include "bninit64.c" 15 | 16 | #elif BNSIZE32 17 | 18 | /* Include all of the C source file by reference */ 19 | #include "bn32.c" 20 | #include "bninit32.c" 21 | 22 | #else /* BNSIZE16 */ 23 | 24 | /* Include all of the C source file by reference */ 25 | #include "bn16.c" 26 | #include "bninit16.c" 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/bninit16.c: -------------------------------------------------------------------------------- 1 | /* 2 | * bninit16.c - Provide an init function that sets things up for 16-bit 3 | * operation. This is a seaparate tiny file so you can compile two bn 4 | * packages into the library and write a custom init routine. 5 | * 6 | * Written in 1995 by Colin Plumb. 7 | */ 8 | 9 | #include "bn.h" 10 | #include "bn16.h" 11 | 12 | void 13 | bnInit(void) 14 | { 15 | bnInit_16(); 16 | } 17 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/bninit32.c: -------------------------------------------------------------------------------- 1 | /* 2 | * bninit32.c - Provide an init function that sets things up for 32-bit 3 | * operation. This is a seaparate tiny file so you can compile two bn 4 | * packages into the library and write a custom init routine. 5 | * 6 | * Written in 1995 by Colin Plumb. 7 | */ 8 | 9 | #include "bn.h" 10 | #include "bn32.h" 11 | 12 | void 13 | bnInit(void) 14 | { 15 | bnInit_32(); 16 | } 17 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/bninit64.c: -------------------------------------------------------------------------------- 1 | /* 2 | * bninit64.c - Provide an init function that sets things up for 64-bit 3 | * operation. This is a seaparate tiny file so you can compile two bn 4 | * packages into the library and write a custom init routine. 5 | * 6 | * Written in 1995 by Colin Plumb. 7 | */ 8 | 9 | #include "bn.h" 10 | #include "bn64.h" 11 | 12 | void 13 | bnInit(void) 14 | { 15 | bnInit_64(); 16 | } 17 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/bnprint.h: -------------------------------------------------------------------------------- 1 | #ifndef BNPRINT_H 2 | #define BNPRINT_H 3 | 4 | #include 5 | 6 | #ifdef __cplusplus 7 | extern "C" 8 | { 9 | #endif 10 | 11 | struct BigNum; 12 | 13 | #ifndef SWIG 14 | int bnPrint(FILE *f, char const *prefix, struct BigNum const *bn, 15 | char const *suffix); 16 | #endif 17 | 18 | /** 19 | * Convert an ASCII string into a BigNum. 20 | * 21 | * This function converts an ASCII string into a Big number. If the first 22 | * character of the string is a minus sign the big number is a negative number. 23 | * 24 | * @param X the BigNum that stores the result 25 | * 26 | * @param s the ASCII string in big-endian format (first digit is most significant) 27 | * 28 | * @param radix the function can use radix between 2 and 16 29 | */ 30 | int bnReadAscii(struct BigNum *X, char *s, int radix); 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif /* BNPRINT_H */ 36 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/germain.h: -------------------------------------------------------------------------------- 1 | struct BigNum; 2 | 3 | /* Generate a Sophie Germain prime */ 4 | int germainPrimeGen(struct BigNum *bn, unsigned order, 5 | int (*f)(void *arg, int c), void *arg); 6 | /* The same, but search for using the given step size */ 7 | int germainPrimeGenStrong(struct BigNum *bn, struct BigNum const *step, 8 | unsigned order, int (*f)(void *arg, int c), void *arg); 9 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/jacobi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * For a small (usually prime, but not necessarily) prime p, 3 | * Return Jacobi(p,bn), which is -1, 0 or +1. 4 | * bn must be odd. 5 | */ 6 | struct BigNum; 7 | int bnJacobiQ(unsigned p, struct BigNum const *bn); 8 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/lbn00.c: -------------------------------------------------------------------------------- 1 | /* 2 | * lbn00.c - auto-size-detecting lbn??.c file. 3 | * 4 | * Written in 1995 by Colin Plumb. 5 | */ 6 | 7 | #include "bnsize00.h" 8 | 9 | #if BNSIZE64 10 | 11 | /* Include all of the C source file by reference */ 12 | #include "lbn64.c" 13 | 14 | #elif BNSIZE32 15 | 16 | /* Include all of the C source file by reference */ 17 | #include "lbn32.c" 18 | 19 | #else /* BNSIZE16 */ 20 | 21 | /* Include all of the C source file by reference */ 22 | #include "lbn16.c" 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/legal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * We want the copyright string to be accessable to the unix strings command 3 | * in the final linked binary, and we don't want the linker to remove it if 4 | * it's not referenced, so we do that by using the volatile qualifier. 5 | * 6 | * ANSI C standard, section 3.5.3: "An object that has volatile-qualified 7 | * type may be modified in ways unknown to the implementation or have 8 | * other unknown side effects." Yes, we can't expect a compiler to 9 | * understand law... 10 | */ 11 | extern volatile const char bnCopyright[]; 12 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/prime.h: -------------------------------------------------------------------------------- 1 | struct BigNum; 2 | 3 | /* Generate a prime >= bn. leaving the result in bn. */ 4 | int primeGen(struct BigNum *bn, unsigned (*randfunc)(unsigned), 5 | int (*f)(void *arg, int c), void *arg, unsigned exponent, ...); 6 | 7 | /* 8 | * Generate a prime of the form bn + k*step. Step must be even and 9 | * bn must be odd. 10 | */ 11 | int primeGenStrong(struct BigNum *bn, struct BigNum const *step, 12 | int (*f)(void *arg, int c), void *arg); 13 | -------------------------------------------------------------------------------- /zrtpcpp/bnlib/sieve.h: -------------------------------------------------------------------------------- 1 | /* 2 | * sieve.h - Trial division for prime finding. 3 | * 4 | * This is generally not intended for direct use by a user of the library; 5 | * the prime.c and dhprime.c functions. are more likely to be used. 6 | * However, a special application may need these. 7 | */ 8 | struct BigNum; 9 | 10 | /* Remove multiples of a single number from the sieve */ 11 | void 12 | sieveSingle(unsigned char *array, unsigned size, unsigned start, unsigned step); 13 | 14 | /* Build a sieve starting at the number and incrementing by "step". */ 15 | int sieveBuild(unsigned char *array, unsigned size, struct BigNum const *bn, 16 | unsigned step, unsigned dbl); 17 | 18 | /* Similar, but uses a >16-bit step size */ 19 | int sieveBuildBig(unsigned char *array, unsigned size, struct BigNum const *bn, 20 | struct BigNum const *step, unsigned dbl); 21 | 22 | /* Return the next bit set in the sieve (or 0 on failure) */ 23 | unsigned sieveSearch(unsigned char const *array, unsigned size, unsigned start); 24 | -------------------------------------------------------------------------------- /zrtpcpp/build/zrtpcpp.cpp: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | 3 | #include 4 | #pragma hdrstop 5 | #define Library 6 | 7 | // To add a file to the library use the Project menu 'Add to Project'. 8 | 9 | -------------------------------------------------------------------------------- /zrtpcpp/zrtp/libzrtpcpp/zrtpB64Decode.h: -------------------------------------------------------------------------------- 1 | /* 2 | cdecode.h - c header for a base64 decoding algorithm 3 | 4 | This is part of the libb64 project, and has been placed in the public domain. 5 | For details, see http://sourceforge.net/projects/libb64 6 | */ 7 | 8 | #ifndef BASE64_CDECODE_H 9 | #define BASE64_CDECODE_H 10 | 11 | #include 12 | 13 | #if defined(__cplusplus) 14 | extern "C" 15 | { 16 | #endif 17 | 18 | typedef enum 19 | { 20 | step_a, step_b, step_c, step_d 21 | } base64_decodestep; 22 | 23 | typedef struct 24 | { 25 | base64_decodestep step; 26 | char plainchar; 27 | } base64_decodestate; 28 | 29 | void base64_init_decodestate(base64_decodestate* state_in); 30 | 31 | int base64_decode_value(char value_in); 32 | 33 | int base64_decode_block(const char* code_in, const int length_in, uint8_t *plaintext_out, base64_decodestate* state_in); 34 | 35 | #if defined(__cplusplus) 36 | } 37 | #endif 38 | 39 | #endif /* BASE64_CDECODE_H */ 40 | -------------------------------------------------------------------------------- /zrtpcpp/zrtp/libzrtpcpp/zrtpB64Encode.h: -------------------------------------------------------------------------------- 1 | /* 2 | cencode.h - c header for a base64 encoding algorithm 3 | 4 | This is part of the libb64 project, and has been placed in the public domain. 5 | For details, see http://sourceforge.net/projects/libb64 6 | */ 7 | 8 | #ifndef BASE64_CENCODE_H 9 | #define BASE64_CENCODE_H 10 | 11 | #include 12 | 13 | #if defined(__cplusplus) 14 | extern "C" 15 | { 16 | #endif 17 | 18 | typedef enum 19 | { 20 | step_A, step_B, step_C 21 | } base64_encodestep; 22 | 23 | typedef struct 24 | { 25 | base64_encodestep step; 26 | char result; 27 | int stepcount; 28 | int lineLength; 29 | } base64_encodestate; 30 | 31 | void base64_init_encodestate(base64_encodestate* state_in, int lineLength); 32 | 33 | char base64_encode_value(const int8_t value_in); 34 | 35 | int base64_encode_block(const uint8_t *plaintext_in, int length_in, char* code_out, base64_encodestate* state_in); 36 | 37 | int base64_encode_blockend(char *code_out, base64_encodestate* state_in); 38 | #if defined(__cplusplus) 39 | } 40 | #endif 41 | 42 | #endif /* BASE64_CENCODE_H */ 43 | --------------------------------------------------------------------------------