summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* pica-client: add d3d12va encoding acceleration on WindowsAnton2026-10-041-0/+52
|
* windows build & installers, icons, manifestsAnton2026-09-261-1/+30
|
* pica-client: get rid of running the openssl binary, use in-process library ↵Anton2026-09-211-5/+0
| | | | calls instead
* update debian/ files to recent standardsAnton2026-09-151-1/+1
|
* pica-client: use webrtc-audio-processing instead of speexdsp for echo ↵Anton2026-09-131-7/+74
| | | | cancellation
* debian: build dependencies for audio/video callsAnton2026-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | The branch added FFmpeg, speexdsp, ALSA, libpulse and VAAPI to the client's dependencies, none of which were in debian/control. Add them, along with pkg-config, sqlite3 and zlib1g-dev, which configure has always needed but which used to be pulled in indirectly. VAAPI, its X11 rendering path and PulseAudio device enumeration are autodetected, so a missing build dependency would have quietly produced a package without them - ask for all three explicitly in debian/rules now that they are guaranteed to be installed. Package names are as found in Ubuntu 22.04, 24.04 and 26.04 and in Debian 13; Ubuntu 20.04 is not covered, it has no libegl-dev. Also bump the version to 0.9.0dev, in configure.ac and in the macOS bundle. The two version keys of Info.plist stay numeric because Launch Services will not take anything else. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQci8cPPnyCde7qQX1jaN5
* pica-client: echo cancellation, and native audio on Windows and macOSAnton2026-08-241-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PlatformDriverName() now takes a direction, and answers with one of two kinds of name. A bare one - "alsa", "pulse", "oss" - is an FFmpeg libavdevice driver opened the way everything else here is opened. One prefixed "platform-" is not an FFmpeg driver at all: what follows names a platform audio API the caller drives itself through NativeAudioBackend. Windows and macOS take the second route, because both provide acoustic echo cancellation but only to streams that declare themselves part of a voice call - AudioCategory_Communications on WASAPI, the VoiceProcessingIO audio unit on CoreAudio - and libavdevice's wrappers have no way to ask for either. Doing our own cancelling on platforms that would have done it better below us is not a trade worth making. Where the platform will not do it, speexdsp does: one EchoCanceller per call, shared by both directions through a QSharedPointer, since the call is torn down without joining either audio thread. Playback feeds it the far end as it hands it to the device; capture subtracts before encoding. Alignment is left to the FIFO - in steady state its backlog settles at the sound card's buffer depth, which is also how far ahead of the speaker the playback side runs, leaving only the room for the filter tail to model. Measured 27 dB ERLE on a 60 ms echo with 1.6 dB of loss on speech when nothing is playing. On macOS the canceller is a single audio unit that renders and captures at once, so both directions share one refcounted instance. Ringtones deliberately get a plain HALOutput unit instead - opening a voice unit to play a bell would switch the microphone on and prompt for permission. Linux gains a choice of alsa or pulse, with PulseAudio device enumeration through libpulse when configure finds it. Info.plist gains NSMicrophoneUsageDescription and NSCameraUsageDescription. Without them macOS 10.14 and later kills the process on first use of the microphone or camera rather than asking, so calls did not merely fail, they took the application with them. Two things fixed along the way that were not about echo at all: the settings dialog's microphone test paced playback by counting timer ticks, which on Windows meant a 20 ms packet every ~31 ms because the system timer granularity is 15.6 ms - the recording came out slowed down and chopped up. It now paces against a QElapsedTimer. And chooseEncoderSampleFmt() uses avcodec_get_supported_config() where available, the AVCodec format arrays it replaced having been removed in FFmpeg 9. Only the Linux paths are verified here; the Windows and macOS backends compile to nothing on this machine and have been reviewed by hand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CBqDgvq3Ty6C6BjLFH16bw
* pica-client: VAAPI on X11, two codepathsAnton2026-08-161-0/+36
|
* pica-client: VAAPI hardware accelerationAnton2026-08-141-1/+31
|
* pica-client/audio: enumerate ALSA devices on LinuxAnton2021-07-041-1/+7
|
* add FFmpeg libraries into dependenciesAnton2020-05-091-0/+5
|
* change version to 0.7.1v0.7.1Anton2019-06-071-1/+1
|
* OpenSSL compatibility fixes, makes source buildable with OpenSSL 1.1.0Anton2019-05-261-1/+1
|
* change version to 0.7.0v0.7.0Anton2019-03-161-1/+1
|
* link only pica-node with libevent, prevents linking libevent to pica-clientAnton2019-03-131-2/+2
|
* pica-node: moved to libevent usage instead of select()Anton2019-03-131-0/+1
|
* implementation of PICA_guess_listening_addr_ipv4() for WinodwsAnton2019-03-091-0/+1
|
* add -mwindows linker option for mingw, otherwise client has console windowAnton2019-03-081-0/+4
|
* remove useless libdirs setup for freebsd, should be passed to configureAnton2019-03-081-1/+0
|
* fixed check for ws2_32 and winmm libsAnton2019-03-081-2/+2
|
* remove AC_FUNC_MALLOC and AC_FUNC_REALLOC macros, they cause 'undefined ↵Anton2019-03-081-2/+0
| | | | reference to rpl_malloc' and 'rpl_realloc' errors on cross compilation
* add ws2_32 to library list when building on WindowsAnton2019-03-081-0/+4
|
* remove menuitem and xdg-utils related stuff from build, this should be ↵Anton2019-03-051-10/+0
| | | | handled by distro packaging
* pica-client: Qt5 supportAnton2019-02-271-3/+25
|
* added optional libminiupnpc check in configure scriptAnton2017-12-281-0/+13
|
* Merge branch 'direct_c2c_connections'Anton2017-12-011-1/+1
|\
| * add QtNetwork module, used for enumerating network interfacesAnton2017-06-141-1/+1
| |
* | LDFLAGS for OS XAnton2017-11-181-0/+1
| |
* | added Automake option "subdir-objects"Anton2016-03-031-1/+1
| |
* | moved "uic" and "moc" executable names to the end of the configure checklist ↵Anton2015-10-111-2/+2
|/ | | | in order to prevent using Qt5 version of these tools
* reverted rev322me_desk2014-08-101-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@324 fb96df88-216d-11de-830c-f3023f12d8ac
* autogeneration of debian/changelogme_desk2014-08-101-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@322 fb96df88-216d-11de-830c-f3023f12d8ac
* file sending and receiving, implemented required functions in PICA_client.c, ↵me_desk2013-12-151-0/+1
| | | | | | support for bidirectional sending and receiving two files simultaneously, file operations (open, read, write) are handled inside PICA_client instead of caller functions git-svn-id: svn://localhost/project_picapica/trunk@300 fb96df88-216d-11de-830c-f3023f12d8ac
* check for uic4, moc4 in configure - OpenBSD uses this naming conventionme_desk2013-11-021-2/+2
| | | | git-svn-id: svn://localhost/project_picapica/trunk@296 fb96df88-216d-11de-830c-f3023f12d8ac
* implemented creating self-signed certificate in registeraccountdialog ↵me_desk2013-09-031-1/+1
| | | | | | instead of sending CSR to certificate server git-svn-id: svn://localhost/project_picapica/trunk@271 fb96df88-216d-11de-830c-f3023f12d8ac
* started new version 0.6 without central CAme_desk2013-08-031-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@258 fb96df88-216d-11de-830c-f3023f12d8ac
* fixes for enabling build on FreeBSDme_desk2013-07-201-3/+12
| | | | git-svn-id: svn://localhost/project_picapica/trunk@252 fb96df88-216d-11de-830c-f3023f12d8ac
* version bumpme_desk2013-05-261-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@250 fb96df88-216d-11de-830c-f3023f12d8ac
* nodewait - asynchronous DNS resolve and connect to nodes using threadsme_desk2012-12-271-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@215 fb96df88-216d-11de-830c-f3023f12d8ac
* version bump to 0.5.3me_desk2012-10-171-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@214 fb96df88-216d-11de-830c-f3023f12d8ac
* -Werror option removedme_desk2012-09-061-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@199 fb96df88-216d-11de-830c-f3023f12d8ac
* fail in configure script if OpenSSL libraries are not foundme_desk2012-09-021-2/+2
| | | | git-svn-id: svn://localhost/project_picapica/trunk@197 fb96df88-216d-11de-830c-f3023f12d8ac
* version bump to 0.5.2; new seed node addreses;Gentoo ebuild and initscript ↵me_desk2012-08-261-1/+1
| | | | | | included in dist git-svn-id: svn://localhost/project_picapica/trunk@189 fb96df88-216d-11de-830c-f3023f12d8ac
* version bumpme_desk2012-08-241-1/+1
| | | | git-svn-id: svn://localhost/project_picapica/trunk@185 fb96df88-216d-11de-830c-f3023f12d8ac
* new configure option --disable-menuitemme_desk2012-08-231-1/+7
| | | | git-svn-id: svn://localhost/project_picapica/trunk@184 fb96df88-216d-11de-830c-f3023f12d8ac
* support for moc and uic named as uic-qt4 and moc-qt4me_desk2012-08-231-4/+4
| | | | git-svn-id: svn://localhost/project_picapica/trunk@183 fb96df88-216d-11de-830c-f3023f12d8ac
* add libssl and libcrypto dependencies to configure.acme_desk2012-08-201-2/+2
| | | | git-svn-id: svn://localhost/project_picapica/trunk@178 fb96df88-216d-11de-830c-f3023f12d8ac
* check for openssl program in configureme_desk2012-08-191-0/+5
| | | | git-svn-id: svn://localhost/project_picapica/trunk@177 fb96df88-216d-11de-830c-f3023f12d8ac
* desktop menu item for pica-clientme_desk2012-08-191-0/+7
| | | | git-svn-id: svn://localhost/project_picapica/trunk@174 fb96df88-216d-11de-830c-f3023f12d8ac
* check for uic and moc added to configure.acme_desk2012-08-191-3/+6
| | | | git-svn-id: svn://localhost/project_picapica/trunk@169 fb96df88-216d-11de-830c-f3023f12d8ac