1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

80 Commits

Author SHA1 Message Date
Nils Fenner
82dfe0f704
fix audio singleton implementation 2016-01-09 13:12:39 +01:00
Nils Fenner
79ddbf7d02
open the first available audio in/out device as default, if specifier is empty 2015-12-28 12:06:22 +01:00
Nils Fenner
552155bd1f
Merge PR #2719 from antis81:fix_audio_subscriptions
* fix dangling audio output device
* do not resubscribe sid in copy constructor
2015-12-23 23:29:20 +01:00
Nils Fenner
19201dda8a
Merge pull request #2713 from antis81:newav_audio_cleanup 2015-12-20 23:10:03 +01:00
Nils Fenner
e73fd27d8b
fix: don't subscribe to in/out device when initialization failed 2015-12-20 09:45:43 +01:00
Nils Fenner
0615c7c3c6
reimplement audio in/out subscription concept 2015-12-20 09:45:43 +01:00
Nils Fenner
d8607324ce
cleanup AudioPrivate
* rename mAudioMeter -> audioMeter
* move class declaration below other classes
2015-12-20 09:45:43 +01:00
Nils Fenner
ace3662757
further improved audio metering
Give qTox time to do more important things -> do not measure with 100%.
2015-12-20 09:45:43 +01:00
Nils Fenner
535bb212f5
make use of QThread::requestInterruption 2015-12-20 09:45:43 +01:00
Nils Fenner
c39138a65d
lock mutex also on start/stop audio loop playback 2015-12-20 09:45:43 +01:00
Nils Fenner
08c43d0b83
cleanup OpenAL compatibility code in audio class 2015-12-20 09:45:43 +01:00
Nils Fenner
a1b87194b8
fix #2504
We need to filter samples * channels; also cleaned up data types
2015-12-20 09:45:43 +01:00
Nils Fenner
44d1c6fe74
[WIP] implement threaded level meter for input level
Issues:
1. Using 100% processor.
2. Temporary silences an active call -> reactivate after widget hide.

Still greatly improves metering audio data, removing "read buffer" errors.
2015-12-20 09:45:43 +01:00
Nils Fenner
5805c8c2bf
improved code for non-blocking audio player
Instead relying on hardcoded "d->alMainSource", we bind to the given OpenAL source instead.
2015-12-20 09:45:43 +01:00
Nils Fenner
67fbee8868
use qstring for path when playing audio file 2015-12-20 09:45:43 +01:00
Nils Fenner
b44ef6c596
introduce a non-blocking AudioPlayer
Also moved private stuff to private class.
2015-12-20 09:45:43 +01:00
Nils Fenner
1fb9bce78c
move audio class to thread before starting 2015-12-20 09:45:22 +01:00
Nils Fenner
bb7d2a72b7
privatized audio interface 2015-12-20 09:45:22 +01:00
Nils Fenner
c23cb0043f
implement actual audio in/out subscription management 2015-12-20 09:42:14 +01:00
Nils Fenner
137eca86d6
use single mutex for audio resource locking 2015-12-20 09:42:04 +01:00
Nils Fenner
68e7aef916
privatized open/close audio devices 2015-12-20 09:42:04 +01:00
Nils Fenner
f6c09104e4
fix noise (clipping) while (re-)initializing in/out audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
d233c6f699
cleanup audio out device on error after open 2015-12-20 09:40:57 +01:00
Nils Fenner
d631ddbc86
cleanup close audio out device 2015-12-20 09:40:57 +01:00
Nils Fenner
32bc99fb38
cleanup reinitialization of changed audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
ad6e0a85f5
add method to reinit audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
7b98f2a4a0
cleanup close audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
efda47a226
close audio output in destructor 2015-12-20 09:40:57 +01:00
Nils Fenner
c540faf271
add method to un-/subscribe to audio output as well 2015-12-20 09:40:57 +01:00
Nils Fenner
e8a4f6511d
use internal methods to open in/out audio devices 2015-12-20 09:40:57 +01:00
Nils Fenner
c5f4ceee6b
fix Audio::subscribeInput
Audio input/output device will only be opened, if not initialized already.
2015-12-20 09:40:57 +01:00
Nils Fenner
bde042ba3a
remove unused include and forward declarations 2015-12-20 09:40:57 +01:00
Nils Fenner
2ce92be94b
do not close output in unsubscribeInput and cleanup input internally instead 2015-12-20 09:40:57 +01:00
Nils Fenner
26fc424986
use internal cleanup methods to close in-/output devices 2015-12-20 09:40:57 +01:00
Nils Fenner
e2966b1457
open output device on "subscribeInput" only when not already opened 2015-12-20 09:40:57 +01:00
Nils Fenner
46b3ba2631
remove obsolete if 2015-12-20 09:40:57 +01:00
tux3
2b8200aa30
Fix audio timers started from wrong thread
This timer never actually worked
2015-12-19 17:07:19 +01:00
Jacob Henner
a405ceca9d Fixes #2631: Automatically select capture device. 2015-12-14 05:09:34 -05:00
tux3
31e62cfc5c
Fix loopback capture audio code 2015-12-10 22:04:40 +01:00
Anton Batenev
656696ebcb Add alext.h to audio.h
ALC_ALL_DEVICES_SPECIFIER may be defined in different headers of
libopenal (alext.h < 1.14 and alc.h >= 1.14). Seems there is no
harm in always include both.

Related commit is: @1d9e89f
2015-12-10 13:34:40 +03:00
Jacob Henner
1d9e89f318 qtox will now attempt to default to the first audio output device 2015-12-07 01:08:50 -05:00
tux3
cf52ff314f
Don't play sound without an output
And avoid the division by 0 when getting garbage info about nonexistent output sources
2015-11-07 22:24:17 +01:00
tux3
5c8dc1d7c9
Add None audio I/O devices
Can be changed in the middle of a call without problem
2015-11-07 18:23:10 +01:00
tux3
46fa4def20
Don't spam log dropped audio frames
Fixes #2507
2015-11-06 20:56:00 +01:00
tux3
995fc4cdda
Reload audio devices on the fly from settings 2015-10-24 02:59:12 +02:00
tux3
9163b73032
Refactor uses of playMono16Sound 2015-10-24 02:37:27 +02:00
tux3
aac5fb87e6
Add ringing sound for received calls
No sound for outgoing calls yet
2015-10-24 02:26:32 +02:00
tux3
08bde698ca
Apply input volume to all audio channels
Fixes #2452
2015-10-23 19:27:27 +02:00
tux3
f45256baf1 Implement group calls 2015-10-23 17:52:45 +02:00
tux3
e0aa8dd4a2 Implement audio calls 2015-10-23 17:39:08 +02:00