Commit graph

68 commits

Author SHA1 Message Date
John Preston
2f40a44b5c Improve things for OpenAL devices management. 2024-02-01 12:37:34 +04:00
John Preston
104ba4db7c Fully migrate to Webrtc::Environment. 2024-01-25 11:57:58 +04:00
John Preston
65a80766f4 Implement media device tracking on macOS. 2024-01-25 11:04:27 +04:00
John Preston
d3778f92d2 Implement media devices tracking on Windows. 2024-01-25 11:04:27 +04:00
Ilya Fedin
0d72d47318 Normalize signal connections 2023-12-31 22:03:57 +00:00
Ilya Fedin
00e785a3af Remove unused variables 2023-12-31 22:03:57 +00:00
23rd
88b20f6700 Fixed indents in some files. 2023-12-16 20:25:01 +00:00
23rd
acb1a7ccf2 Spread some style entries from basic style. 2023-11-15 04:19:51 +03:00
John Preston
bda3bae712 Always use crl::time for media durations. 2023-08-04 08:46:46 +02:00
John Preston
2c17f41c61 Beta version 4.6.12: Compare speed values safely. 2023-03-17 21:18:56 +04:00
John Preston
1eff68813d Reuse new speed change control for video. 2023-03-15 13:36:40 +04:00
John Preston
5ca7b95cdb Implement new voice speed change control design. 2023-03-14 17:30:50 +04:00
Ilya Fedin
aefb0f52ff Remove unused media_openal_functions 2023-03-10 11:30:43 +04:00
John Preston
da7cd6291e Proper check for atempo filter existance. 2023-03-10 11:13:44 +04:00
John Preston
3b3ee6fbbe Remove debugging logging. 2023-03-10 10:44:57 +04:00
John Preston
9c74c04738 Implement audio speed using libavfilter. 2023-03-08 16:10:36 +04:00
John Preston
0880a83c2c Improve ffmpeg audio loader interface. 2023-03-08 16:10:36 +04:00
Ilya Fedin
5d20d585b3 Don't use alcGetEnumValue for non-ALC enum value
This makes no effective change for openal-soft as alGetEnumValue and alcGetEnumValue do lookup in the same table, but it's more semantically right and openal-soft is not the only implementation of the API
2023-01-26 15:56:01 +04:00
23rd
57c50c8655 Optimized includes of attach_prepare.h. 2022-11-22 00:26:48 +00:00
John Preston
644ec1f599 Remove base::Observable / base::Variable. 2022-11-11 11:43:24 +04:00
23rd
371ba40a50 Added volume button to media player for voices. 2022-11-06 18:55:11 +03:00
Niklas Haas
6096116526 Use quasi-logarithmic volume controls
This commit significantly improves the usability of the volume controls
for controlling volume in a way that matches intuitively onto human
needs and loudness perception.

Using the third power of the volume is a good approximation of the
quasi-logarithmic psychoacoustic system, while being defined everywhere
and preserving the useful quality of 0% volume mapping onto gain 0.0.
The use of this exact mapping function is a prior art established by
e.g. PulseAudio, among many other programs.

Fixes #24488
2022-07-19 19:32:46 +04:00
23rd
1d475ee727 Slightly optimized includes in application.h. 2022-06-12 16:07:41 +03:00
Ilya Fedin
caf2be13b3 Move pipewire stubs initialization to Media::Audio::Start 2022-05-04 14:34:33 +04:00
John Preston
3cdd8558db Beta version 3.7.4: Fix build with GCC. 2022-05-04 11:42:54 +04:00
John Preston
28f2c213f7 Remove app module. Support delayed quit by Cmd+Q on macOS. 2022-01-27 15:54:20 +03:00
Ilya Fedin
4e63346877 Use AL_REMIX_UNMATCHED_SOFT enum value instead of hard-coded value
This makes the feature require version 1.21.0, previously was 1.20.1
2021-11-26 18:48:35 +04:00
John Preston
19ce1edc16 Use base::SafeRound instead of std::round.
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b, 8f5830d520.

Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
John Preston
c79cd0b692 Use Images::Read instead of App::readImage. 2021-08-11 18:55:08 +03:00
Ilya Fedin
79cc797aff Fix -Wunused-variable warnings 2021-07-13 21:43:34 +03:00
Ilya Fedin
23272430b4 Build with QT_NO_KEYWORDS 2021-03-04 12:07:54 +04:00
Ilya Fedin
57f9ae4b2a Fix speed control support check 2021-01-22 17:10:22 +04:00
Ilya Fedin
cbdd86d398 Fix deadlock on OpenAL errors 2021-01-22 17:10:22 +04:00
Ilya Fedin
0881e5b20d Use new AL_SOFT_direct_channels_remix extension 2020-11-02 10:16:34 +03:00
John Preston
6ab31219ed Workaround crash in OpenAL library.
Fixes #8887.

See https://github.com/kcat/openal-soft/issues/486
2020-11-01 18:26:04 +03:00
John Preston
8b96f4c214 Move Media::Clip::Reader and FileLocation to td_ui. 2020-10-30 18:32:18 +03:00
John Preston
b3b11bd9e7 Move PreparedFile/PreparedList to td_ui. 2020-10-30 18:32:18 +03:00
andry-dev
e31ffb699a Ignore additional video streams inside an audio file.
Fixes #5840, #5357 and #4327.
2020-10-30 11:57:57 +03:00
Ilya Fedin
d86b4659d6 Create OpenAL context without attributes 2020-09-10 19:45:43 +03:00
Ilya Fedin
7ebebc2bc3 Detect OpenAL effects at runtime 2020-07-02 11:30:13 +04:00
John Preston
83538675ce Move a lot of settings to Core::Settings. 2020-06-23 21:53:42 +04:00
John Preston
33f4946242 Start using document bytes from DocumentMedia. 2020-06-01 18:09:30 +04:00
Ilya Fedin
fa4236e9ea Add support for DESKTOP_APP_USE_PACKAGED on macOS 2020-05-25 10:29:40 +04:00
Ilya Fedin
ced2652deb OpenAL returns device names with UTF-8 2020-05-24 10:56:29 +04:00
Ilya Fedin
5bb1c77199 Use OpenAL without direct channels 2020-04-13 15:15:29 +04:00
Ilya Fedin
afc902a5cb Don't set device explicitly when capturing
Also update openal to 1.20.1 since it has pulseaudio.allow-moves by default

Fix playback devices enumerating
2020-03-10 11:49:23 +04:00
John Preston
0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston
ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston
08bddc5579 Move messages data to AuthSession. 2019-05-01 16:11:42 +04:00
John Preston
bf182697b9 Use streaming player speed in 2x playback. 2019-03-26 16:51:40 +04:00