summaryrefslogtreecommitdiffstats
path: root/pica-client/dialogs
Commit message (Collapse)AuthorAgeFilesLines
* pica-client: more hardware acceleration options on WindowsAnton2026-10-042-29/+170
|
* pica-client: add d3d12va encoding acceleration on WindowsAnton2026-10-041-4/+21
|
* pica-client: fix capture at requested fpsAnton2026-10-032-11/+144
|
* pica-client: callwindow layout, video resizeAnton2026-10-032-8/+128
|
* pica-client: configurable resolutions, codecs, bitrates for a callAnton2026-09-262-16/+423
|
* pica-client: get rid of running the openssl binary, use in-process library ↵Anton2026-09-213-10/+10
| | | | calls instead
* pica-client: use webrtc-audio-processing instead of speexdsp for echo ↵Anton2026-09-132-22/+119
| | | | cancellation
* pica-client: more improvements of echo cancellationAnton2026-09-031-1/+1
|
* pica-client: fix echo canceller and capture gain auto regulatorAnton2026-09-012-0/+11
|
* pica-client: echo cancellation, and native audio on Windows and macOSAnton2026-08-242-10/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix video preview in settingsAnton2026-08-192-2/+17
|
* pica-client: UDP transport for callsAnton2026-08-191-2/+6
|
* pica-client: VAAPI on X11, two codepathsAnton2026-08-162-13/+32
|
* pica-client: VAAPI hardware accelerationAnton2026-08-142-3/+142
|
* pica-client: add support for compressed video formats provided by camera: ↵Anton2026-08-132-4/+39
| | | | hevc, h264, mjpeg
* pica-client: add test audio devices buttons in the settings dialogAnton2026-08-132-2/+334
|
* pica-client: video callAnton2026-08-132-0/+153
|
* pica-client/audio: enumerate ALSA devices on LinuxAnton2021-07-042-14/+69
|
* pica-client/settings: load & store video capture deviceAnton2021-07-021-0/+7
|
* pica-client/settings: add refresh button to video device selection tabAnton2021-06-292-10/+19
|
* add audiovideocallcontroller and callwindow, menu action to initiate callAnton2021-06-291-2/+2
|
* display available video devices in settings dialog on video tabAnton2020-05-301-1/+15
|
* add audio and video devices tabs to settings dialogAnton2020-04-272-0/+41
|
* changed license from GPL-3.0-or-later to GPL-3.0-onlyAnton2019-11-1316-32/+16
|
* pica-client: add & delete buttons in Nodes dialogAnton2019-05-172-0/+52
|
* add missing nodesdialog filesAnton2019-03-142-0/+104
|
* pica-client: fix minimum width of show pica id dialogAnton2019-03-131-1/+1
|
* use randomized RSA key size for account certificatesAnton2018-07-291-2/+1
|
* moved common peer certificate verification code into new func ↵Anton2018-07-291-1/+1
| | | | verify_peer_cert_common(); added check for min RSA key size
* add header file PICA_security.h to group important security parameters in ↵Anton2018-07-281-1/+2
| | | | one place
* add copyrigt and GPL-3.0-or-later license notice to source filesAnton2018-07-1714-0/+238
|
* add multilogin policy to protocol and client settingsAnton2018-07-031-6/+7
|
* set permissions for config dir, sqlite database and private keys - ↵Anton2018-06-191-0/+3
| | | | read-write only for owner
* pica-client: new tab "Multiple logins" in settings dialogAnton2018-01-052-5/+66
|
* pica-client: implemented autoconfiguration of address for direct incoming ↵Anton2017-12-302-1/+53
| | | | connections
* fixed code style on all source files (*.c *.cpp *.h) using astyle ↵Anton2017-12-0114-696/+699
| | | | --style=allman --lineend=linux --indent=tab --pad-oper
* Merge branch 'direct_c2c_connections'Anton2017-12-012-0/+212
|\
| * pica-client: combobox for incoming direct connections address in settings dialogAnton2017-12-012-7/+9
| |
| * tab widget in settings dialogAnton2016-11-251-3/+22
| |
| * disable incoming connection related widgets when incoming connections are ↵Anton2016-09-192-0/+9
| | | | | | | | disabled
| * labels for settings dialogAnton2016-09-191-1/+5
| |
| * added path to included headersAnton2016-09-171-2/+2
| |
| * caption for settings dialogAnton2016-09-161-0/+2
| |
| * SettingsDialog implementationAnton2016-09-062-0/+93
| |
| * new dialog SettingsDialog; widgets for direct c2c connections settingsAnton2016-09-012-0/+83
| |
* | fixed text messages and labelsAnton2015-03-171-4/+4
|/
* fixed build errorme_desk2014-08-171-3/+3
| | | | git-svn-id: svn://localhost/project_picapica/trunk@330 fb96df88-216d-11de-830c-f3023f12d8ac
* show peer name in filetransferdialogme_desk2014-08-172-2/+21
| | | | git-svn-id: svn://localhost/project_picapica/trunk@329 fb96df88-216d-11de-830c-f3023f12d8ac
* handling peer disconnect and remote io error during filetransferme_desk2014-08-062-0/+22
| | | | git-svn-id: svn://localhost/project_picapica/trunk@316 fb96df88-216d-11de-830c-f3023f12d8ac
* implemented file transfer cancellationme_desk2014-07-042-0/+11
| | | | git-svn-id: svn://localhost/project_picapica/trunk@315 fb96df88-216d-11de-830c-f3023f12d8ac