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
agilob
78ac29cb15
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 20:53:26 +00:00
tux3
46fa4def20
Don't spam log dropped audio frames
...
Fixes #2507
2015-11-06 20:56:00 +01:00
tux3
d41a578735
Fix crash on audio -> video call promotion
...
We just ignore it and not show the received video for now.
Fixes #2505
2015-11-06 20:47:42 +01:00
Nils Fenner
43e8ebd055
Merge pull request #2461 from TheNain38/patch-1
2015-11-06 17:44:20 +01:00
Zetok Zalbavar
ae86db8891
Merge pull request #2466 from ovalseven8:ovalseven8-patch-3
...
domain.com -> example.com
2015-11-06 08:09:12 +00:00
tux3
5b036cca0f
Merge branch 'newav_final_for_realsies'
...
Implements the new toxav API.
2015-11-06 01:52:40 +01:00
tux3
b4754c6ac2
Fix inconsistent noexcept in toxcall.cpp
2015-11-06 01:49:54 +01:00
Nils Fenner
c568a4db05
Merge pull request #2494 from branch agilob/logout_action
2015-11-02 22:24:34 +01:00
agilob
3675428c65
Simplify hardcoding qt version in settings
2015-11-02 19:44:17 +00:00
agilob
e44d08fa8e
Change logout icon to dialog type icon
...
icon of type Browser doesnt scale on some environments
closes #2491
2015-11-02 19:11:17 +00:00
agilob
0b6fc751cb
Show compiletime Qt version in aboutsettings
2015-11-02 18:56:30 +00:00
tux3
a853d51f5b
Show video button when making outgoing video call
2015-10-25 16:16:42 +01:00
tux3
f107858252
Properly exit CoreAV thread
2015-10-25 13:53:04 +01:00
ovalseven8
41ba2bc69d
domain.com -> example.com
...
@zetok
2015-10-25 09:51:13 +01:00
tux3
c902543ae4
Fix call race leading to deadlock and memory leak
...
A call cancel/accepted race was locking up both UI and AV threads, while the stream thread was shoveling more and more video frames on the AV thread's event queue
2015-10-25 00:17:45 +02:00
tux3
f85aec6c95
Re-enable call buttons if video call fails
2015-10-24 22:55:18 +02:00
tux3
a776579732
Don't assert if a call dies while we answer it
...
This error condition only happens when a peer cancels its outgoing call in the middle of us answering it. We can simply ignore the error and things should nicely fall back into place. Since this race should be pretty rare in normal usage, it's nice to leave a log message, as it might mean we're being fuzzed.
We can prograssively replace more of those asserts by fallbacks and log messages now that everything has been shown to work fine, and the race conditions are harmless.
I feel like writing a novel today. Good thing nobody looks at these!
2015-10-24 21:41:19 +02:00
TheNain38
035fbc95b3
Fix #2460 Light Icon setting disabled but should not
2015-10-24 18:55:24 +02:00
tux3
37e2d2e75f
CoreAV: Fix BlockingQueued connections deadlock
...
Having a deadlock problem? The solution is more locks!
2015-10-24 15:35:08 +02:00
tux3
50006a9a32
Faster video device opening
2015-10-24 05:20:49 +02:00
tux3
e1c61cd207
CoreVideoSource: Replace insane spinlock by QMutex
...
What was I thinking.
2015-10-24 04:38:00 +02:00
tux3
c0d8703368
Properly signal when we stop sending video
...
And properly handle toxav happily delivering things out of order,
like firing a video frame callback right after a callback setting the bitrate to 0,
when the peer sent these commands in the right order
2015-10-24 04:26:39 +02:00
tux3
8ebf07762f
VideoSurface: Release null frames
2015-10-24 03:30:42 +02:00
tux3
995fc4cdda
Reload audio devices on the fly from settings
2015-10-24 02:59:12 +02:00
tux3
aaf04a80db
Remove some debug output
2015-10-24 02:46:34 +02:00
tux3
8f7214f383
Re-enable buttons if calling failed
2015-10-24 02:40:56 +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
1dc7e4cca5
Add 45s call ringing timeout
2015-10-24 01:53:10 +02:00
tux3
51ffd94e68
Fix possible nullptr deref in ~CameraSource
2015-10-23 20:30:22 +02:00
tux3
8d2ae07c9f
Revert "Delete CoreAV from the Core thread"
...
This reverts commit 1f758efc2f
.
2015-10-23 20:05:35 +02:00
tux3
ae243b2089
Delete CoreAV's timer from the CoreAV thread
2015-10-23 20:05:30 +02:00
tux3
1f758efc2f
Delete CoreAV from the Core thread
...
Since it was created there
Fixes #2457
2015-10-23 19:42:39 +02:00
tux3
08bde698ca
Apply input volume to all audio channels
...
Fixes #2452
2015-10-23 19:27:27 +02:00
tux3
2d7c65efbb
Fix IPC::~IPC use after free of static log file
2015-10-23 19:21:37 +02:00
tux3
4d9aeeec39
Fix bitrate callback to match toxav update
2015-10-23 17:52:46 +02:00
tux3
6dc91b156a
Use actual mutexes for CameraSource
...
That homemade spinlock thing was insane, VTune says we were spending 1.5s spinning for no reason when openning a device for example
2015-10-23 17:52:46 +02:00
tux3
477554ffba
Clean up callback hell between AV UI and CoreAV
2015-10-23 17:52:46 +02:00
tux3
a505e06f83
Multithread CoreAV
...
This is a little less insane, gives an overall 2x speedup on debug builds video calls
2015-10-23 17:52:45 +02:00
tux3
41e0212f77
Cleanup UI/CoreAV interface
2015-10-23 17:52:45 +02:00
tux3
73a4f40744
Fix call start/call invite race condition
...
Would result in an assert failure
2015-10-23 17:52:45 +02:00
tux3
1db17ae1ec
Fix crash due to erase/remove typo
...
A race condition would result in trying to remove an element that didn't exist, and thus erasing end (undefined behavior) instead of erasing [end, end) (no-op)
2015-10-23 17:52:45 +02:00
tux3
f45256baf1
Implement group calls
2015-10-23 17:52:45 +02:00
tux3
6cbd507ca8
Clean up dead code in CoreAV
2015-10-23 17:39:08 +02:00
tux3
69b8a90277
Implement video calls
2015-10-23 17:39:08 +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
Zetok Zalbavar
cd4b02ce6a
Remove ~duplicated code for tray backed selection
...
`else` clause already handles KDE5 case
2015-10-23 16:13:44 +01: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
agilob
5e12c76ecd
change default quit icon in tray menu
2015-10-23 16:21:05 +02:00
agilob
f2866ecc44
remove unused code, better logging for systray, removed KDE5 from enum
2015-10-23 16:21:05 +02:00
agilob
4df5c81f09
use plaintext label for username and status in header
2015-10-23 16:21:05 +02:00
agilob
7d579faf47
add logout action to tray menu
2015-10-23 16:21:05 +02:00
agilob
d6d5fd1c33
add quit role to quit action in trayicon
2015-10-23 16:21:05 +02:00
agilob
a97a91a7be
core review changes - formatting
2015-10-23 16:21:05 +02:00
agilob
7d8e0644ce
remove dependency injection from systemtrayicon
...
as it was used as experiment only
fix compilation warning about unchecked switch case
2015-10-23 16:21:05 +02:00
agilob
8c4d58f391
fix icon scaling on gnome3 by scaling icons down
2015-10-23 16:21:04 +02:00
agilob
521b55f776
use Qt backend of KDE5
...
commit fixes problem with usage of GTK3 fallback menu action used on KDE5, probably to a bug in status notifier
- allows using Qt backend on KDE5 and other plasma related env.
- icon in tray menu and tray icon are loaded from svg, their size is not limited to 50px now
- plasma adds extra actionmenu to tray so quit was renamed to exit
- exit action usues system-default icon for quit and system default keyboard shourtcut to close qtox
2015-10-23 16:21:04 +02:00
tux3
b69f8425c6
Fix qTox on OSX, closes #2447
2015-10-23 15:21:47 +02:00
tux3
1f61534841
Merge branch 'pr2343'
2015-10-23 15:20:58 +02:00
Rowen Stipe
e107de12c0
Compile on Mac
...
This set up added to current master compiles properly on Mac.
Includes pull #2436 fixes suggested by @antis81
2015-10-22 01:57:46 -04:00
Zetok Zalbavar
d2aa9441bf
Merge pull request #2364 from PKEv:fix_write_to_db
...
fix write to DB
2015-10-22 05:50:25 +01:00
Dmytro Shynkevych
b887072bc4
systemtrayicon: switched to manual memory management for pixmap data
2015-10-21 23:42:14 -04:00
Nils Fenner
33e54b841a
Merge pull request #2415 from antis81:ngf/mic
2015-10-21 22:19:37 +02:00
Nils Fenner
cf8fa7b29c
remove unused include and forward declarations
2015-10-21 22:18:47 +02:00
agilob
4a64790b52
Merge remote-tracking branch 'bitok/Fix2167'
2015-10-21 19:13:10 +01:00
agilob
ecbda91764
Merge remote-tracking branch 'bitok/fix_performance_issues'
2015-10-21 19:12:15 +01:00
agilob
61ef6429e2
Merge remote-tracking branch 'zetok/fix-warning-no-profile'
2015-10-21 19:05:48 +01:00
Zetok Zalbavar
0c34b079a5
Unlock mutex before returning history instance
...
fix #2428
2015-10-21 13:17:42 +01:00
Nils Fenner
e1c2a80e82
switch colors in mic gain indicator gradient
2015-10-20 23:14:37 +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
ab41bf92ba
don't open audio in/out twice
2015-10-20 23:10:14 +02:00
Zetok Zalbavar
c07aee18ad
Merge pull request #2346 from PKEv:save_avatar_in_DB
...
Save avatar in DB
add import avatars
update delete avatar action
correct import avatar for user without history
add multithreaded
make import run once
2015-10-20 21:01:20 +01:00
Nils Fenner
b7cf4df13f
Get rid of static methods and bugs
2015-10-20 03:46:44 +02:00
Nils Fenner
54547af7cf
warn when trying to start audio thread twice
2015-10-20 03:42:02 +02:00
Nils Fenner
a675725a5e
change wording in docs
2015-10-20 03:41:18 +02:00
Nils Fenner
2bc3798aa0
remove dead & unfinished code
2015-10-19 21:59:47 +02:00
Nils Fenner
c8e003decb
further cleanup
2015-10-18 22:21:08 +02:00
Nils Fenner
8530acf079
fix asserts when (un-)subscribing input
2015-10-18 22:21:08 +02:00
Nils Fenner
59ca97e9b6
move docs to cpp
2015-10-18 22:21:08 +02:00
Nils Fenner
1c205b7c16
the big code cleanup
...
* Get rid of static vars and methods and move mutexes to right places.
* Use static wrappers for the moment to retain compatibility.
2015-10-18 22:21:08 +02:00
Nils Fenner
2a2cba3cf2
remove outcommented code
2015-10-18 22:21:08 +02:00
Nils Fenner
932d9b7c9b
Audio: Fix device open only when needed
2015-10-18 22:21:08 +02:00
TheSpiritXIII
dc2c6532a5
Audio: Fix unclosed audio when hanging up
2015-10-18 22:21:08 +02:00
TheSpiritXIII
bbbd450b6a
Audio: Only open mic when requested
2015-10-18 22:21:08 +02:00
TheSpiritXIII
868381fe3f
Audio: Don't need this?
2015-10-18 22:21:08 +02:00
TheSpiritXIII
61eb302ff7
Audio: Fix crash when no devices available
2015-10-18 22:21:08 +02:00
TheSpiritXIII
a311b96376
Audio: Open output only when necessary
2015-10-18 22:21:08 +02:00
Nils Fenner
a2a32b61c4
Audio: persistent volume sliders, mic feedback and volume
2015-10-18 22:21:08 +02:00
Nils Fenner
1fc703c281
fix warnings
2015-10-18 22:20:16 +02:00
agilob
7117083e86
Merge remote-tracking branch 'origin/new_video_view'
2015-10-18 20:55:01 +01:00
PKEv
e5a5074f91
make import run once
...
and rename function
2015-10-18 22:15:49 +03:00
PKEv
20d0eb06f6
add multithreaded
2015-10-18 20:04:37 +03:00
Zetok Zalbavar
d60cfe07b6
Remove an empty line and unneeded slash
2015-10-18 17:04:49 +01:00
PKEv
ec5e9c7350
correct import avatar for user without history
2015-10-18 16:50:00 +03:00
agilob
cde9721600
qunused on event
2015-10-18 10:18:13 +01:00
agilob
ec3ccc7ca3
remove qdebug from audio.cpp:270
2015-10-18 10:18:13 +01:00
agilob
d2e09ead7a
one more line to remove
2015-10-18 10:18:13 +01:00
agilob
d875221e53
remove unused code, removed unused checks
2015-10-18 10:18:06 +01:00
Zetok Zalbavar
60884b6c62
Display correct error message when trying to load non-existent profile
...
fixes #2412
2015-10-17 22:12:23 +01:00
agilob
7b90ed1abb
Merge remote-tracking branch 'zetok/fix-password-dialog'
2015-10-17 18:17:58 +01:00
Zetok Zalbavar
febb1933d9
Make text about not long enough password disappear if no password given
...
fixes #2405
2015-10-17 17:54:31 +01:00
Dmytro Shynkevych
e4ebe8b7a7
systemtrayicon: optimized QImage <-> GdkPixbuf conversion
...
Switched to gdk_pixbuf_new_from_resource() for loading from file
QImages are now stack-allocated, contents copied to GBytes
2015-10-17 12:44:33 -03:00
Zetok Zalbavar
0cf70c33ae
Merge pull request #2386 from agilob:settings_reogranize
...
reorganize generalsettings:
generalsettings form: removed empty label
generalsetting layout: change indentation method
remove slash
Fix indentation for `Focus window` setting
2015-10-17 16:31:29 +01:00
Matthieu Baerts
aaf9b95d97
Autorun:xdg: create autostart dir if needed
...
After a fresh installation of Ubuntu, 'autostart' dir is not available.
Simply create it with QDir::mkpath() (= mkdir -p).
2015-10-17 16:00:17 +02:00
Zetok Zalbavar
cedec2ea8d
Fix indentation for Focus window
setting
2015-10-17 09:34:33 +01:00
Nils Fenner
69380d5159
Merge pull request #2383 from antis81:ngf/fix/ipc
2015-10-16 18:33:30 +02:00
agilob
5ecf9b729b
Merge remote-tracking branch 'antis81/ui/login-dialog'
2015-10-15 18:28:38 +01:00
PKEv
afb3bf35ee
update delete avatar action
2015-10-14 23:33:16 +03:00
PKEv
0a11ccbeab
add import avatars
2015-10-14 22:16:59 +03:00
PKev
dd975c38eb
Save avatar in DB
...
Partially addresses an issue #1656
2015-10-14 22:16:59 +03:00
Nils Fenner
b32410b962
style login screen completely via css
2015-10-14 21:11:39 +02:00
agilob
919ba8c6d7
remove slash
2015-10-14 07:27:57 +01:00
Zetok Zalbavar
41cba4ae52
Merge pull request #2390 from antis81:ui/login-dialog
...
set login dialog style via css stylesheet
closes #2333 #2368 #2367
2015-10-14 01:00:55 +01:00
bitok
d6ff67893f
Fix performance issues detected with static analyze
2015-10-13 23:21:20 +03:00
agilob
726ebadaaa
Merge remote-tracking branch 'zetok/password-dialog'
2015-10-13 20:31:01 +01:00
agilob
e0819d8439
generalsetting layout: change indentation method
2015-10-13 19:37:29 +01:00
bitok
b4cc326e78
Fix formulation
2015-10-13 21:24:04 +03:00
Nils Fenner
06ba8a0f6a
set login dialog style via css stylesheet
2015-10-13 19:02:28 +02:00
bitok
8594dcd6c8
Error display more explicit
2015-10-13 01:32:04 +03:00
Nils Fenner
a8725729bf
readd msleep with lowest possible sleep time
2015-10-12 20:28:03 +02:00
Nils Fenner
3f38ba3896
initialize IPC on first call
2015-10-11 23:09:29 +02:00
Nils Fenner
6644622301
fix #2360
...
The valid result prevents starting a second instance.
2015-10-11 23:08:49 +02:00
Nils Fenner
7cf1f564b0
remove dead code
2015-10-11 23:07:37 +02:00
agilob
7afeb41b1e
Merge remote-tracking branch 'antis81/ngf/fix/screen-grabber'
2015-10-11 20:27:46 +01:00
agilob
4a4df15662
Merge remote-tracking branch 'Impyy/feature-rm-avatar'
2015-10-11 20:21:36 +01:00
agilob
cf98376587
generalsettings form: removed empty label
2015-10-11 18:51:08 +01:00
agilob
15077ec142
reorganize generalsettings:
...
* tab order on widgets
* better spacing
* consistent text
* indentation for similar settings
2015-10-11 18:46:35 +01:00
Nils Fenner
5ddfc2eefe
cleanup inheritance QThread --> QObject and includes
...
IPC is actually not running in a thread; And if, QThread should not be inherited.
2015-10-11 13:49:22 +02:00
Nils Fenner
42a917fc58
remove obsolete QThread::msleep completely
2015-10-11 13:47:19 +02:00
agilob
884547cd34
Video: fix sgefault when disconnecting from video call
2015-10-11 10:46:42 +01:00