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

7473 Commits

Author SHA1 Message Date
sudden6
6b468e41fa
fix(toxcall): move ToxCall ownership to correct Thread
Makes the CoreAV thread own all ToxCalls in order to prevent signals
from being emitted via a Direct connection from Audio to CoreAV.
2020-03-17 11:56:56 +01:00
sudden6
58ee2feea8
chore(flatpak): reduce difference to Flathub build 2020-03-16 23:57:59 +01:00
sudden6
69677831ab
fix(flatpak): workaround unstable flathub downloads
works around https://github.com/flathub/flathub/issues/845
2020-03-16 00:28:04 +01:00
Anthony Bilinski
564b1eb2a6
Merge branch 'v1.17-dev' 2020-03-05 11:48:09 -08:00
Anthony Bilinski
871b363b6d
chore: update wording of CI job restart instructions
The tool isn't confused in this case, just cleaning up.
2020-03-03 15:06:07 -08:00
sudden6
bf3921ce94
fix(toxcall): handle Null sink correctly
This was introduced in 82a4f1b412
2020-03-03 19:49:13 +01:00
sudden6
7e4f7f0489
fix: remove unused variables 2020-03-03 00:38:53 -08:00
sudden6
1158faee07
chore: update copyright date in About 2020-03-03 00:38:45 -08:00
Maxim Biro
9ca34ab5e8
chore(windows): update VPX to 1.8.2 2020-03-03 00:38:35 -08:00
Maxim Biro
cfe4d4bbb1
chore(windows): update FFmpeg to 4.2.2 2020-03-03 00:38:35 -08:00
Maxim Biro
d6299b6db7
chore(windows): update SQLCipher to 4.3.0 2020-03-03 00:38:35 -08:00
Maxim Biro
14e14e0e26
chore(windows): update Qt to 5.12.7 2020-03-03 00:38:35 -08:00
Maxim Biro
88eba99eb3
chore(travis): update CIRP to v0.2.0 2020-03-03 00:38:28 -08:00
Maxim Biro
e1d1a9fed5
chore(travis): pick any Python 3.x, x>=5 for CIRP 2020-03-03 00:38:28 -08:00
sudden6
3d2dbb63b2
chore: add instructions to restart nigthly builds 2020-03-01 18:16:41 +01:00
sudden6
e67cdadf3d
fix: remove unused variables 2020-03-01 16:59:14 +01:00
sudden6
1f4fee0e4c
chore: update copyright date in About 2020-03-01 00:42:52 +01:00
sudden6
2889ecc09f
Merge pull request #5987
Maxim Biro (2):
      chore(travis): pick any Python 3.x, x>=5 for CIRP
      chore(travis): update CIRP to v0.2.0
2020-02-28 22:59:10 +01:00
sudden6
f406ce64da
Merge pull request #5986
Maxim Biro (4):
      chore(windows): update Qt to 5.12.7
      chore(windows): update SQLCipher to 4.3.0
      chore(windows): update FFmpeg to 4.2.2
      chore(windows): update VPX to 1.8.2
2020-02-28 22:46:25 +01:00
sudden6
08fda121f0
Merge pull request #5982
Mick Sayson (1):
      feat(groups): Allow being in group call if only member
2020-02-28 18:23:21 +01:00
Maxim Biro
12cd2cee85
chore(travis): update CIRP to v0.2.0 2020-02-24 16:39:14 -05:00
Maxim Biro
973996dd41
chore(travis): pick any Python 3.x, x>=5 for CIRP 2020-02-24 16:33:26 -05:00
Maxim Biro
924dfc88d4
chore(windows): update VPX to 1.8.2 2020-02-24 16:05:11 -05:00
Maxim Biro
d26dbbc06d
chore(windows): update FFmpeg to 4.2.2 2020-02-24 16:05:09 -05:00
Maxim Biro
9a899cccee
chore(windows): update SQLCipher to 4.3.0 2020-02-24 16:05:06 -05:00
Maxim Biro
220de0c35f
chore(windows): update Qt to 5.12.7 2020-02-24 16:04:51 -05:00
Mick Sayson
46d57c6864 feat(groups): Allow being in group call if only member
In other applications chatrooms allow you to idle in a call and have
people hop in and out as desired. If a user is the only one presently
online in a group but knows someone will be joining shortly they should
be able to join the call ahead of time.
2020-02-23 11:48:35 -08:00
Anthony Bilinski
13cf04fad9
Merge branch 'v1.17-dev' 2020-02-22 14:18:26 -08:00
Anthony Bilinski
475128d171
fix(ci): quote shell comparison to avoid errors when unset
Avoids log of "/home/travis/.travis/functions: line 109: test: ==: unary
operator expected" in travisci build output
2020-02-22 00:06:07 -08:00
Anthony Bilinski
24e4ec3751
fix(model): take QObject receiver argument to interface signal connection macro
receiver QObject is used by Qt to automatically deregister the connection when
the receiver is destroyed. Forward it on to Qt's connect.
2020-02-06 16:48:56 -08:00
Anthony Bilinski
82a4f1b412
fix(model): stop interfaces from inheriting from QObject
Qt doesn't support QObject multiple inheritance, so use our existing interface
macros to declare signals in the interface without QObject, and implement them
in child classes.
2020-02-06 16:48:56 -08:00
Anthony Bilinski
41b2b35ce3
fix(model): return connection from interface macro
connection is normally returned from Qt's connect, and the caller may want to
track the connection to manually disconnect it.
2020-02-06 16:48:56 -08:00
sudden6
c507d2665d
fix(coreav): prevent racy access to call variable 2020-01-29 22:22:18 +01:00
sudden6
dfcfb7d5e0
fix(coreav): change some lock to write locks
I missed some cases where data was written.
2020-01-29 22:22:18 +01:00
sudden6
141cbf8870
fix(coreav): fix assert because c-toxcore calls from unexpected thread
c-toxcore calls the groupCallCallback from it's main thread instead of
the ToxAV thread as expected, this was triggering an assertion.

Aditionally the destructors of Core and CoreAV were fixed, because they
now either crashed or deadlocked qTox when it was closed while a group
call was still running.
2020-01-29 22:22:18 +01:00
sudden6
4b9e4a571d
fix(coreav): avoid deadlock between CoreAV, main and Audio thread
This actually fixes two problems:

1) CoreAV and Audio thread both locked the callsLock and audioLock in
different orders, resulting in a deadlock of both threads. This fixed by
using a ReadWriteLock in the CoreAV thread.

2) Multiple functions were emitting signals while holding a lock. This
is unsafe, because the connected slot may acquire any other lock. This
is fixed by releasing the locks before emitting signals.
2020-01-29 22:22:18 +01:00
sudden6
9499925fb2
fix(coreav): cleanup assertions
It doesn't really make sense to assert that the callbacks are coming
from any other thread than CoreAV, when we actually want to ensure the
callback is coming from Core thread.

Remove over agressive assert from sendGroupCallAudio(...), this function
should be callable from any thread.
2020-01-29 22:22:18 +01:00
sudden6
98cfe9838f
refactor: properly lock against Core thread
We we're calling toxav_* functions without synchronizing to any of the
Tox threads.

Additionally remove the call timeout, it creates timers from different
threads, which causes errors.
2020-01-29 22:22:18 +01:00
sudden6
29f659c659
feat(coreav): add assertions to check for threading errors 2020-01-29 22:22:18 +01:00
sudden6
c332cc0cca
refactor(coreav): simplify start sequence 2020-01-29 22:22:17 +01:00
sudden6
2bc0057bbd
refactor(coreav): move threading of CoreAV to single mutex
Use a standard mutex instead of trying to build proper locking
ourselfes.
2020-01-29 22:22:17 +01:00
Anthony Bilinski
5b31effdb4
fix(group): don't display netcam view for group voice calls
This is a minimal fix to reduce risk for the release. A more complete
re-architecture will be made.

The netcam covers much of the chat in groups, and has nothing to show since
group video calls aren't possible. Who is speaking in call is already shown by
the bold names at the top of the group, taking much less space.

Fix #5918
2020-01-27 15:05:54 -08:00
Anthony Bilinski
92e51b05ac
fix(db): fix schema log to display correct version 2020-01-27 01:21:29 -08:00
Anthony Bilinski
981ecfcaeb
refactor(chatform): combine toggleVideoPreview implementations 2020-01-26 04:29:56 -08:00
Anthony Bilinski
89913e0f9a
refactor(netcam): remove GenericNetCamView, merge into NetCamview
Without GroupNetCamView, the split in arbitrary.
2020-01-26 04:29:55 -08:00
Anthony Bilinski
41d8f66e08
refactor(chatform): change ChatForm's netcam to NetCamView
Unlike GenericChatForm, ChatForm knows that it always has a NetCam
2020-01-26 04:29:55 -08:00
Anthony Bilinski
600993b43a
refactor(chatform): move netcam ownership to ChatForm from GenericChatForm
Since now only ChatForm uses the NetCamView.
2020-01-26 04:29:55 -08:00
Anthony Bilinski
8d8e75b800
refactor(chatform): move onMessagesClicked, onSplitterMoved to ChatForm
These API are only relevant for NetCamView, which is only used by ChatForm.
2020-01-26 04:29:55 -08:00
Anthony Bilinski
4c816b1bff
refactor(chatform): move create/show/hide NetCamView API to ChatForm
Since NetCamView is now only used by ChatForm, GenericChatForm shouldn't have
any of its functionality.
2020-01-26 04:29:54 -08:00
Anthony Bilinski
91bcd211a7
refactor(netcam): remove GroupNetCamView class
Fix #5918
2020-01-26 04:05:39 -08:00