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

2138 Commits

Author SHA1 Message Date
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
9627f45014
don't extra-subscribe audio gain metering widget 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
872be36225
un-/subscribe audio in/out in AV-Settings form 2015-12-20 09:40:57 +01:00
Nils Fenner
e7f666be77
un-/subscribe audio in/out in tox-call 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
tux3
a0645d5cba
Fix #2700 2015-12-19 16:51:15 +01:00
tux3
40ddf81fd1
Instead of saving empty files, delete empty avatars 2015-12-19 16:43:09 +01:00
tux3
cbe8104576
Fix bad handling of empty avatars
Fixes #2694
2015-12-19 16:28:57 +01:00
tux3
698144c803
Fix some RawDatabase interface comments 2015-12-19 05:50:41 +01:00
tux3
8adb40d09f
Minor database fixes 2015-12-19 05:47:35 +01:00
tux3
489016f358
Fix #2439 2015-12-19 05:00:23 +01:00
tux3
9b9fa13636
Change column order when filling peer cache
A minor detail, but worth it.
2015-12-19 04:42:55 +01:00
tux3
9762839b78
Fix batches bigger than limit on import 2015-12-19 04:40:31 +01:00
tux3
8f06dfe254
Revert "Always offer avatars to friend who come online"
This reverts commit e30fb4d919.
2015-12-19 04:20:05 +01:00
tux3
b5cdfb3dce
Implement new SQLCipher based database and history
qTox will automatically import the old history on startup.

This new database code is much more robust.
It is very resilient and will not corrupt or disappear after a crash or
power failure, unlike the old code.
The on-disk database format is also much more compact now.

The database sync option in the advanced settings has been removed,
we know run many database operations asynchronously so performance
should not be a problem anymore, but we always ensure resiliency
in case of abrupt termination, so there is no tradeoff anymore.
2015-12-19 04:17:28 +01:00
tux3
e286f9673c
Fix use after free of NetCamView
Someone was connecting a singal to a lambda capturing this, and never disconnecting it in the destructor. Capturing this is DANGEROUS, kids, don't do this at home.
2015-12-15 21:19:18 +01:00
tux3
af59b5b45a
Fix IPC not taking ownership after crash
In case a previous instance crashed, we were trying to activate the current owner before even checking if it was still alive, this resulted in qTox needing to be restarted twice after a crash.
2015-12-15 21:06:55 +01:00
tux3
9cf0cbde6b
Fix avatar deletion not visible 2015-12-15 20:59:09 +01:00
tux3
db2dbf459b
Merge branch 'pr2689' 2015-12-15 19:54:10 +01:00
tux3
0c2f70eb7e
Merge branch 'pr2688' 2015-12-15 19:48:29 +01:00
tux3
10673640ea
Fix #2408 2015-12-15 19:31:26 +01:00
tux3
ab8220c2cf
Remove stale TODO 2015-12-15 19:20:34 +01:00
tux3
4e1029808b
Remove useless TODO 2015-12-15 19:09:28 +01:00
tux3
cbade4bae6
Fix tiny memory leak on startup 2015-12-15 19:08:59 +01:00
rku
8231a2b1ae Support for theming qTox tray and window icons
This patch adds ability to override qTox window and tray icons with ones from user's desktop theme. Some people prefer keeping tray icons consistent to achieve best looks.

Following theme icons used:
* qtox: general window icon which is also used in taskbar
* qtox-online, qtox-offline, qtox-busy, qtox-away, qtox-invisible, qtox-event: tray icons

If theme icon is not available then default built-in icon will be used.
2015-12-15 19:42:23 +02:00
rku
5cb5f2e367 Focus current chat widget text input when window is activated or empty window space clicked. 2015-12-15 19:31:45 +02:00
rku
63f7dee6cf Blink taskbar icon and window icon only when window is inactive. 2015-12-15 19:03:05 +02:00
tux3
63644050f3
Fix #2683
There is still an issue with the history keeping the old password, though
2015-12-14 23:27:12 +01:00
Jacob Henner
a405ceca9d Fixes #2631: Automatically select capture device. 2015-12-14 05:09:34 -05:00
tux3
61e3b7f5a0
Mark 'update text' not translatable
Plus some automatic edits Qt Designer decided to make
2015-12-12 23:29:36 +01:00
tux3
4e715f5054
Show correct progress when resuming update download
If you restart qTox in the middle of downloading an update, it would continue to download the update correctly but the progress bar would go from 0 to 50% instead of resuming from 50 to 100%
2015-12-12 20:12:57 +01:00
tux3
c32e0e9f1b
Check updates by default on new profiles
Fixes #2653
2015-12-12 18:37:37 +01:00
tux3
a47e81d227 Fix crash if autoupdate runs on exit 2015-12-12 15:56:00 +01:00
tux3
9408219443
Don't try to update without the updater binary 2015-12-12 00:14:32 +01:00
tux3
1f88312a01
Fetch windows updates over HTTPS 2015-12-11 22:58:55 +01:00
tux3
18484cb950
Fix Unity systray compile error
Thanks to @aszinovyev
2015-12-11 13:32:26 +01:00
tux3
f0f49e79f0
Merge branch 'pr2586' 2015-12-11 02:45:10 +01:00
tux3
31e62cfc5c
Fix loopback capture audio code 2015-12-10 22:04:40 +01:00
tux3
dc5cd990b6
Remove some Windows debug code 2015-12-10 21:07:38 +01:00
tux3
685dee62d0
Merge remote-tracking branch 'tux3/updater' 2015-12-10 20:52:54 +01:00
tux3
9ee061b53a
Merge branch 'pr2641' 2015-12-10 20:45:26 +01:00
tux3
34fc580a5a
Revert "minor: removed obsolete virtual in GenericForm destructor"
This reverts commit 25727425e2.
2015-12-10 20:41:28 +01:00
tux3
d67e6c7449 Improve integrated update code to match the rest
We're doing updates over HTTP until we get a domain name and a cert, but
this is not at all an issue since updates are still signed and checked.
2015-12-10 18:46:07 +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
Nils Fenner
25727425e2
minor: removed obsolete virtual in GenericForm destructor 2015-12-10 07:01:43 +01:00
tux3
f13eba1a9c Dust off windows updater code 2015-12-10 04:37:07 +01:00
tux3
ef019a9ae3
Update windows update keys 2015-12-10 00:05:07 +01:00
tux3
d2598abc8c
Update windows update-server hostname 2015-12-10 00:03:11 +01:00
tux3
c42d668032
Fix typo in autoupdate 2015-12-09 13:34:02 +01:00
tux3
3317e3b8e3
Update updater version and Windows server 2015-12-09 02:14:19 +01:00
tux3
e30fb4d919
Always offer avatars to friend who come online
This avoids problems with friends who rarely restarts their client. The overhead of sending a file transfer request that gets rejected should be negligible
2015-12-08 23:41:21 +01:00
tux3
981588d630
Fix some avatars saved with the wrong name 2015-12-08 23:10:15 +01:00
tux3
9905042434
Fix wrong word in copypasted log message 2015-12-08 22:13:28 +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
94a6df47cc
Update avatar encryption when changing password 2015-12-05 22:35:16 +01:00
tux3
45ac45c019
Create avatars directory on the fly 2015-12-05 22:01:36 +01:00
tux3
2396109a7e
Encrypt avatar for encryped profiles
Fixes #2583

Fixes #2546
2015-12-05 20:07:59 +01:00
tux3
b39f3eacb0
Clean unused getIDString() function 2015-12-05 19:09:20 +01:00
tux3
25ed3d4fba
Fix avatars for encrypted profiles
WARNING: Note that avatars for encrypted profiles are currently stored unencrypted!
2015-12-05 19:08:28 +01:00
tux3
05c02cee5d
Merge branch 'pr2547' 2015-12-05 15:32:57 +01:00
agilob
84814e28e3
Set widget as parent for AboutUser window to fix style inheriting 2015-12-05 14:18:43 +00:00
agilob
56ae9e657f
Hide label and list of aliases in aboutuser 2015-12-05 12:19:05 +00:00
agilob
e6504f2d46
Support removing history with user in about window 2015-12-05 12:14:31 +00:00
tux3
a6bbd31b12
Retry sending audio frames on sync/lock error 2015-12-05 03:22:00 +01:00
tux3
333d10e6d5
Log type of audio send error 2015-12-05 02:35:11 +01:00
tux3
fe3fa2f751
Revoke updater signing keys
When we build the updater v2, we'll ship new keys for Windows.
2015-12-04 21:36:33 +01:00
tux3
b1f8d3f912
Fix attempt for #2438 2015-12-04 20:35:50 +01:00
tux3
7f5f807bde
Fix filter audio
Fixes #2504

Fixes #2517

Fixes #1565
2015-12-04 18:20:47 +01:00
tux3
49d11549b9
Fix call duration label after 1 hour
Fixes #2617
2015-12-04 15:51:10 +01:00
tux3
104095c6be
Fix video starting with bad resolution
The netcamview has no business trying to open the video source, especially in the wrong video mode
2015-12-04 13:56:42 +01:00
tux3
37075dbfb5
Improve video quality
Double the allowed bitrate, this is especially noticeable on desktop streaming. Desktop streaming is still completely broken, with what looks like iframes silently getting dropped on a regular basis.

Retry 5 times to send a frame when there's an internal toxav lock sync error, this allows us to drop way less frames.
2015-12-04 12:53:58 +01:00
tux3
ef5cb2689c
Merge branch 'pr2580' 2015-12-04 12:01:25 +01:00
tux3
bd1f22963b
Merge branch 'pr2519' 2015-12-04 11:54:08 +01:00
tux3
1874c0ce4d
Remove deprecated/unused toxdns1 code 2015-12-04 03:37:50 +01:00
Zetok Zalbavar
6a7479912e
Merge pull request #2593 from TheNain38:patch-2
TheNain38 (1):
      Select password field when it is wrong Fixes #2584
2015-12-01 07:56:53 +00:00
sudden6
17e43d9835 treat x-cinnamon the same as gnome 2015-11-29 13:23:08 +01:00
sudden6
bd83db5479 improve formating 2015-11-29 12:23:44 +01:00
TheNain38
ceb63a87d9 Select password field when it is wrong Fixes #2584 2015-11-26 14:18:03 +01:00
Anatoliy Zinovyev
f2e39a1d1b Fix tray behavior with unity backend 2015-11-25 17:35:17 -05:00
Anatoliy Zinovyev
6bbca9341d Do not do anything when middle clicking on the tray 2015-11-25 12:11:31 -05:00
Anatoliy Zinovyev
fc462e82df Fix behavior when clicking on the tray icon 2015-11-21 20:51:43 -05:00
sudden6
6d45932eea update ui 2015-11-18 18:58:56 +01:00
sudden6
27f751c2a6 also refresh video devices 2015-11-18 18:56:16 +01:00
tux3
db52ef6e6a
Disable buggy automatic bitrate adjustements
For some users on poor connections, toxav would suggest lower and lower bitratres until reaching zero and disabling audio/video entirely, toxav would then not raise the bitrate back and the only way to re-enable audio/video would have been to change A/V sources or restart the call

We now log toxav's recommendation, but ignore it
2015-11-14 23:51:30 +01:00
Zetok Zalbavar
cfea4675d7
Don't show in debug output nicks
They can contain personal info.
2015-11-14 20:11:37 +00:00
agilob
734faa8a1f
Fix status message spacing in aboutUser 2015-11-14 19:10:41 +00:00
agilob
53f119b8e4
Fix button status after cancelling dir picker 2015-11-14 19:08:55 +00:00
agilob
09405f2493
Scroll public key to left after creation in aboutUser 2015-11-12 21:52:54 +00:00
agilob
6d440e9c8c
Minor UI fix 2015-11-12 21:51:43 +00:00
agilob
d3548f7a80
Resize avatar in aboutUser to 75x75 2015-11-12 21:49:27 +00:00
agilob
8d1197903c
Make dir chooser work in aboutUser, code cleanup 2015-11-12 21:46:43 +00:00
agilob
b85e12b0fc
Make autoaccept per user work from aboutUser window 2015-11-12 21:30:54 +00:00
agilob
a148e4dc5e
Improve avatar quality in aboutUser window 2015-11-12 21:13:37 +00:00
agilob
ad5301eef7
Improve layout in aboutUser window 2015-11-12 20:33:57 +00:00
Ferit Tunçer
a7440d3681 Turkish Translation by MarmaraGNU<mgnu.org> 2015-11-12 14:41:14 +02:00
TheNain38
2ae4524e33 Change 'minutes' to 'min' and remove translation 2015-11-11 18:24:15 +01:00
TheNain38
eb3ec79b20 Fix #2301 and use QStringLiteral for comparison 2015-11-10 20:20:07 +01:00
tux3
5b42b9984b
Revert "Attempt to fix QDataStream operator<< ODR violation"
This reverts commit afe2dbd128.
2015-11-10 15:57:55 +01:00
tux3
787865a23e
Show notifications even when busy 2015-11-09 23:27:00 +01:00
tux3
afe2dbd128
Attempt to fix QDataStream operator<< ODR violation 2015-11-09 23:23:32 +01:00
agilob
08212ad781
Add about window classes 2015-11-09 20:56:22 +00:00
agilob
b9a168dffe
Add action for about window in context menu 2015-11-09 20:55:11 +00:00
agilob
95b5a75d0e
Add settings for notes per user 2015-11-09 20:54:28 +00:00
agilob
170eb931ff
Add status message setter and getter 2015-11-09 20:53:24 +00:00
agilob
0b999e077e
Move logout tray menu action after profileForm initialization
fixes #2541
2015-11-09 18:48:00 +00:00
agilob
49bf1cf774
Fix resources URI: change double slash to one and add one if missing 2015-11-09 18:42:53 +00:00
tux3
8a3c9d14c0
Merge branch 'pr2539' 2015-11-09 02:36:16 +01:00
TheNain38
d8d64fc56a Fix HTML Parsing 2015-11-09 01:19:33 +01:00
TheNain38
1a1e296c86 Allow to scroll on QCheckBox and consistancy 2015-11-09 01:14:33 +01:00
tux3
f9c324c0f2
Merge branch 'pr2532' 2015-11-08 21:26:19 +01:00
TheNain38
7cdd6e3dd9 Add an event filter so you can't scroll on sliders 2015-11-08 21:20:42 +01:00
tux3
cc18700a18
Merge branch 'pr2533' 2015-11-08 17:42:12 +01:00
agilob
7189844b2a
Use SVG renderer to scale down SVG in tray icon menu 2015-11-08 15:11:19 +00:00
TheNain38
5ff2a4e37a Fix groupwidget not unregistered from Translator 2015-11-08 14:22:02 +01:00
tux3
a8746e6857
Cleanup duplicate slider slots in AVForm
See #2528
2015-11-08 13:40:32 +01:00
tux3
b6d752fd4b
Fix second bug in #2528 2015-11-08 13:28:51 +01:00
tux3
9d527e7edd
Fix #2528 2015-11-08 12:36:18 +01:00
tux3
d1565188ac
Fix #2527 2015-11-08 02:28:24 +01:00
tux3
523e419adf
Fix theoritical A/V deadlock
Could only be hit by pausing at a key point in a debugger until the call timed-out.

Having one thread going up the call stack and acquiring locks (toxcore callbacks), while another thread goes down taking locks in the other order (CoreAV calling toxav functions) creates some pretty freezy situations.

The deadlock was caused by the GUI thread calling the CoreAV thread, acquiring the CoreAV callback, then right before calling a toxav function, not schedule the thread until the call times out. At this point the toxcore thread fires its state callback to tell us the call is over, locking internal toxcore/toxav mutexes, it reaches our callback function which tries to switch to the CoreAV thread to clean up the call data structures, but has to wait since the CoreAV thread holds its own lock. At this point if we resume the CoreAV thread, it'll be busy calling into a toxav function, which tries to acquire internal toxav locks, those locks are held by the toxcore callback so we deadlock.

Our solution is that when getting a toxcore callback, we immediately switch to a temporary thread, allowing toxcore to release the locks it held, and that temporary thread tries to switch to do work on call data structures. Meanwhile if the CoreAV thread needs internal toxcore locks, it can get them.
2015-11-08 00:32:32 +01: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
c6220545c9
Fix spurious audio i/o changed signal 2015-11-07 22:24:17 +01:00
Zetok Zalbavar
ad5578e44e
Make list of languages listed vertically in source 2015-11-07 18:49:53 +00:00
tux3
bf8bdaf619
Improve perf of opening/closing AV tab
Should help with #2424
2015-11-07 18:30:09 +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
nikolas-n
2da384468d
Added Greek translation 2015-11-07 16:39:33 +01:00
TheNain38
75967ad23d Makes no sense to translate this 2015-11-07 12:19:50 +01:00
TheNain38
3683d93fff Don't make program name "qTox" traduisible 2015-11-07 12:02:33 +01:00
tux3
71e26fb15b
List video devices using v4l2 directly, not ffmpeg
Turns out, FFmpeg is annoyingly unreliable when it comes to this. It ignores uvcvideo devices for example
2015-11-07 01:34:07 +01:00
tux3
73c7f2bd36
Fix #2512 2015-11-07 01:01:32 +01:00
tux3
6a3b9f76d7
Merge branch 'pr2510'
Add static icons for tray menu logout and quit

antis made us an icon for logout action and I reused cancel call icon
as quit action in tray menu

Refactored methods to change way how icons are loaded in widget.cpp
to make the methods more flexible

This should permanently fix #2491
2015-11-06 23:17:22 +01:00
tux3
7dc608818c
Automatic AV bitrate management
Makes progress on #2134
2015-11-06 23:05:51 +01:00