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
|
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
|
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
|
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 |
|
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 |
|
tux3
|
2b888ddc05
|
Better data structure for tox calls
|
2015-10-23 17:19:16 +02:00 |
|
tux3
|
512dc8de2d
|
Implement basic call logic
We can now make New AV calls, but without any audio/video. Just opening a link.
|
2015-10-23 17:09:53 +02:00 |
|
tux3
|
dbbc702c60
|
Strip out old AV code
|
2015-10-23 17:02:01 +02:00 |
|
Nils Fenner
|
82e1644d67
|
cleanup Audio::openOutput
|
2015-10-20 23:14:07 +02:00 |
|
Nils Fenner
|
3eb7b48d1c
|
cleanup Audio::openInput
|
2015-10-20 23:12:55 +02:00 |
|
Nils Fenner
|
b7cf4df13f
|
Get rid of static methods and bugs
|
2015-10-20 03:46:44 +02:00 |
|