Commit graph

80 commits

Author SHA1 Message Date
John Preston
20b5138e00 Initial implementation of ExtendedMedia. 2022-09-12 09:06:26 +04:00
Alexander Kernozhitsky
a5bd4ef6f7 Fix code style 2022-09-04 08:04:02 +04:00
Alexander Kernozhitsky
c6c2a44e9d Patch the remaining uses or FFmpeg APIs 2022-09-04 08:04:02 +04: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
23rd
176f3ea15c Removed simultaneous voice recording. 2022-06-08 11:59:30 +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
23rd
c9ebec1cf0 Removed base/observer.h from main pch.
Removed unused inheritances from base::Subscriber.
2022-03-15 18:02:30 +03:00
John Preston
b9685ec711 Correctly destroy Media::Capture::Inner. 2022-03-01 14:27:42 +03:00
Nicholas Guriev
436622ad7c Fix build against FFmpeg v5.0
It has been released on January 17th. This patch keeps source compatibility
with older versions.
2022-02-28 20:22:18 +03: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
Ilya Fedin
f69d0823a9 Get rid of oal-soft specific alext.h include 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
23rd
4550b2a315 Decreased record bitrate of voice messages.
Fixed #6708.
2021-09-01 01:23:20 +03:00
23rd
e6f0c176f7 Moved AudioMsgId to separated file. 2021-09-01 01:23:20 +03: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
89765340c3 Fix -Wunused-function warnings 2021-07-13 21:31:22 +03:00
23rd
c22d200c17 Removed unused observable trackFinished from Media::Audio::Instance. 2021-06-16 09:31:32 +03:00
John Preston
49f71f4e1e Use av_packet_alloc instead of av_init_packet. 2021-05-26 22:53:54 +04:00
John Preston
e39f9bef1f Fix voice message recording with FFmpeg 4.2. 2021-05-26 09:59:25 +04:00
John Preston
a8807bc915 Fix voice recoding with FFmpeg 4.4.
Fixes #16217.
2021-05-13 15:36:27 +04:00
John Preston
71deaa48af Don't crash on voice recording error.
Fixes #16217.
2021-05-13 15:36:24 +04: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
John Preston
639e6d8e28 Fix sending albums in slowmode groups.
Fixes #9106.
2020-11-19 16:47:17 +03:00
23rd
b3925a3bec Added touchbar hiding while recording voice message. 2020-11-17 12:56:51 +03:00
John Preston
547251f67c Fix deprecation warnings when building with FFmpeg 4.2. 2020-11-06 11:21:34 +03: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
23rd
4d40336be0 Fixed voice recording cancel. 2020-10-05 17:08:52 +03:00
John Preston
24ec0e0866 Fix recording stop in voice messages. 2020-10-05 12:58:12 +03:00
John Preston
e6df927e30 Correctly use alcGetIntegerv. 2020-10-05 12:58:12 +03:00
John Preston
04212140cc Version 2.4.1: Fix capture error reporting. 2020-10-01 18:46:22 +03:00
John Preston
4e8a1f8d29 Fix voice messages sending. 2020-10-01 10:47:03 +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
78c3c86fe6 Check only if at least one audio device is exist on startup
This makes https://github.com/telegramdesktop/tdesktop/issues/1548 don't affect on startup, but only when capture feature is used
2020-05-08 12:50:25 +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