Commit Graph

7975 Commits

Author SHA1 Message Date
Davide Beatrici
f85b4f0d97
Merge PR #4030: src/mumble/ClientUser.cpp: Narrow down the scope of QWriteLocker 2020-04-03 19:30:27 +02:00
Robert Adam
4bbe5394f4 src/mumble/ClientUser.cpp: Narrow down the scope of QWriteLocker
In ClientUser::remove a QWriteLocker is created on
ClientUser::c_qrwlUsers in order to remove the respective user from
ClientUser::c_qmUsers.
However the lock is not released after that but it is instead held until
the function exits. This causes the lock to be held even when
AudioOutput::removeBuffer is being called. Apart from this being bad
practice, it can also lead to a deadlock (verified for the case in which
a ReadLock on ClientUser::c_qrwlUsers is being requested inside
AudioOutput::mix [after the lock on AudioOutput::qrwlOutputs has been
acquired]. This can happen if one calls e.g. ClientUser::get in that
function. In that case the deadlock can happen if audio is being
received and played while one or more users are disconnecting from the
server).
2020-04-03 18:29:59 +02:00
Robert Adam
7a50f4deef
Merge pull request #4029: Set non-empty path correctly 2020-04-03 12:31:17 +02:00
Florian Snow
fdca6b4ce7 src/mumble/DBus.cpp: Set non-empty path correctly
Closes #4027
2020-04-03 11:16:44 +02:00
Robert Adam
b54cf63549
Merge pull request #4024: src/mumble/Settings: Removed implementation of deprecated expert-setting 2020-03-31 20:27:27 +02:00
Robert Adam
16cde753e8 src/mumble/Settings: Removed implementation of deprecated expert-setting 2020-03-31 19:15:54 +02:00
Davide Beatrici
b5500df55e
Merge PR #4019: src/mumble/WebFetch.cpp: Fix endless loop if there is no prefix 2020-03-30 22:00:19 +02:00
Davide Beatrici
69e6db7761
Merge PR #4018: src/mumble/UserModel.cpp: Fix talking indicator 2020-03-30 21:55:15 +02:00
Robert Adam
17818947df src/mumble/WebFetch.cpp: Fix endless loop if there is no prefix
If we don't have a "servicePrefix" set, prefixedServiceHost() and
serviceHost() return the same host. The code however expected them to
implicitly be different.
This only ever made a difference if the main service host wasn't
reachable but in that case the endless-loop kicks in and the CPU usage
goes up.
2020-03-30 17:45:01 +02:00
Robert Adam
335242e759 src/mumble/UserModel.cpp: Fix talking indicator
Right now Mumble can come in a state where the local client is muted but
its talking state is still frozen to Talking.
This is also reflected in the UI (#4006) so this commit provides a
workaround that at least fixes the UI symptoms of the bug as I haven't
been able to track down the actual origin of it.
2020-03-30 16:49:56 +02:00
Robert Adam
21af8a72d1
Merge pull request #4017: Add option to log ACL & group changes 2020-03-30 10:48:31 +02:00
Robert Adam
bada7d8e93 src/murmur/main.cpp: Changed description of -v option to reflect better what it's actually about 2020-03-29 19:48:19 +02:00
Robert Adam
d45e7e0796 Murmur-Feature: Ability to log ACL and/or group changes
As requested in #2481, this commit introduces the option to print
changes of ACLs and/or groups to the server-log. These logs then contain
the ALCs/groups before the change and after it and should thereby grant
all information necessary to debug what is going on with them.
2020-03-29 19:47:14 +02:00
Robert Adam
a961b0fcf8 src/ACL: Added explicit String-conversion that contains a summary of the ACL's essentials 2020-03-29 19:30:08 +02:00
Robert Adam
310497a400
Merge pull request #4007: AudioInput::encodeOpusFrame: return 0 if Opus is disabled 2020-03-24 10:01:39 +01:00
Alexander Krotov
52d11e4b02 src/mumble/AudioInput.cpp: Return 0 from encodeOpusFrame() if Opus is disabled
Previously uninitialized value was returned.
2020-03-24 07:49:44 +01:00
Robert Adam
0319a77119
Merge pull request #4004: Improve implementation of the leaky bucket algorithm 2020-03-23 11:11:00 +01:00
Robert Adam
029b9802f9 src/murmur/ServerUser: Improve implementation of the leaky bucket algorithm
The most important change is to use a timer that is based on a monotonic
clock in order to avoid time jumps and this inconsistent measurements
of time intervals (see
https://github.com/mumble-voip/mumble/issues/3985#issuecomment-601754212).

Furthermore the code-style has been adapted (m_ prefix instead of usage
of this->) and documentation has been added / extended.
2020-03-21 14:17:41 +01:00
Robert Adam
f8ee536883
Merge pull request #3998: Use qInfo instead of qFatal for normal logging 2020-03-18 17:35:04 +01:00
Robert Adam
d8203ba94d src/murmur/main.cpp: Use qInfo instead of qFatal for normal logging.
For some reason qFatal has been used to log information such as the
version requested by the --version argument.
abdb5004bb made qFatal exit with an
exit status of one leading to successful operations that happened
to contain some print-out to leave an exit status of 1 (#3911).
2020-03-18 12:52:20 +01:00
Robert Adam
b97baa1559
Merge pull request #3984: Allow disabling autoUpdates for snapshot-builds 2020-03-16 11:21:47 +01:00
Robert Adam
fb0396d2cf
Merge pull request #3981: Remove bandwidth note from README 2020-03-16 10:57:30 +01:00
Robert Adam
1f21debd2e
Fix markdown for feature request issue template 2020-03-13 07:29:13 +01:00
Robert Adam
86e89d70cc
Merge pull request #3990: Don't start JACK by default on mumble start 2020-03-09 15:16:28 +01:00
Robert Adam
b93bf2ec62
Merge pull request #3991: CirrusCI: Update to FreeBSD 12.1 2020-03-09 15:08:09 +01:00
Robert Adam
43f70cf73f .cirrus.yml: Update FreeBSD CI to use 12.1 as 12.0 has reached EOL on February 29th 2020 2020-03-09 14:43:44 +01:00
David Runge
0780d93aab src/mumble/Settings.cpp: Setting bJackStartServer to false, so mumble will not unconditionally start a JACK server on start (#3989). 2020-03-08 20:59:45 +01:00
Robert Adam
d1e4b47fd0
Merge pull request #3982: Explicitly set permissions for overlay-pipe 2020-03-06 10:51:14 +01:00
Robert Adam
e1f9ae3647 mumble/Overlay.cpp: Explicitly set access permission for the created overlay-pipe 2020-03-06 10:05:02 +01:00
Robert Adam
7e97ce424d
Merge pull request #3980: Publish Windows installer as build artifact 2020-03-05 18:54:25 +01:00
Robert Adam
c5b2058145 Revert bdbd4808fe to allow disabling autoUpdates for snapshots again 2020-03-03 14:57:00 +01:00
Robert Adam
e366c71439 Deleted note about bandwidth usage from README(.md) files 2020-03-03 10:47:50 +01:00
Robert Adam
a829075b57 CI: Publish the Windows installer as a build-artifact on Azure-Pipelines 2020-03-02 19:07:23 +01:00
Robert Adam
ec51a41cfe
Merge pull request #171: PulseAudio: Cork audio input when it isn't needed 2020-03-02 14:41:14 +01:00
Colin Stagner
7d0b933a7e PulseAudio: cork input when it is not required
When self-muted or deafened, "cork" the audio input. Corking
instructs the audio source to stop producing audio samples which—
when the user is muted—are not needed and would never be
transmitted.

Without samples to process, the input DSP doesn't run. Corking can
halve mumble's CPU consumption when muted, but your mileage may
vary.

This patch adds the MainWindow::corkAudioInputStream() signal to
request changes in the corking state. Other audio backends could
be modified to connect to this signal.
2020-03-01 21:47:49 +01:00
Robert Adam
5a4f5297a3
Merge pull request #3929: Improve channel password handling 2020-02-28 19:18:48 +01:00
Robert Adam
81c0e93d92 UI: Show lock icons next to enter restricted channels (either a locked or an unlocked one, depending on whether the user can enter the channel or not) 2020-02-28 18:41:00 +01:00
Robert Adam
3a3644b5ef Theme (Mumble): Updated submodule to include new images 2020-02-28 18:41:00 +01:00
Robert Adam
047c5c03e7 Theme (Classic): Added icons for locked and unlocked lock 2020-02-28 18:41:00 +01:00
Robert Adam
dfa90fc173 src/mumble/Messages.cpp: Include hint that adding access tokens might grant enter rights to the channel, in the permission denied message, if the denied permission is ENTER and the channel has (to the client's knowledge) enter restrictions 2020-02-28 18:41:00 +01:00
Robert Adam
69fe7c6909 Protocol: Added fields 'is_enter_restricted' and 'can_enter' to the ChannelState message in order for the protocol to be able to tell clients about which channels they will be able to enter 2020-02-28 18:41:00 +01:00
Robert Adam
7f7cc6c553 ACL: Added isPassword() function and made use of it in ACLEditor 2020-02-28 18:41:00 +01:00
Robert Adam
84735650d5
Merge pull request #3978: Fixups for #3927 2020-02-27 18:30:22 +01:00
Robert Adam
b0270e0562
Merge pull request #3958: Replace deprecated constructs 2020-02-27 17:03:04 +01:00
Robert Adam
2fe853b042 murmur/Messages.cpp: Use const reference in foreach loop 2020-02-27 16:04:24 +01:00
Robert Adam
cb00b828e1 murmur/Messages.cpp: Formatted class-member initializer list 2020-02-27 16:04:00 +01:00
Robert Adam
51683978d3 mumble/ServerHandler.cpp: Use const reference instead of copy in foreach-loop 2020-02-27 16:03:09 +01:00
Robert Adam
d4d02487f3 Group.h: Fixed typo in comment 2020-02-27 15:56:51 +01:00
Robert Adam
f53d935312 murmur/Messages.cpp: Added periods to the end of sentences in comments 2020-02-27 15:53:26 +01:00
Robert Adam
4d1f98b485 Mumble.proto: Fixed comment formatting 2020-02-27 15:50:53 +01:00