Robert Adam
1d45d991aa
CHANGE: Use Protobuf for UDP messages
...
Previously Mumble was using a custom binary format for transmitting data
via UDP (mainly audio). This has worked for a long time but besides
being inconvenient for 3rdParty implementors (they had to manually
re-implement encoding and decoding support for this format) this format
was not very flexible and changes to the data format were very hard.
In order to improve on this situation, this commit introduces changes
that allow to use Protobuf for the UDP messages as well (it's already
used for TCP). With that it should be relatively easy to extend/change
the UDP packet formats in the future and 3rdParty implementors can now
simply use Protobuf to handle decoding/encoding packets for them (much
less work and much less prone to errors).
Since the new Protobuf format is incompatible with the old UDP format,
this commit also includes support for dealing with older clients or
servers that don't recognize the new protocol yet. That way the new
protocol format is only used if both the client and the server are
recent enough to have it implemented (assumed to be the case >=1.5.0).
Note also that the server will make sure that clients using the old and
the new format can seamlessly communicate with one another.
Therefore, on the surface it should not be noticeable to the user which
protocol is currently used.
Note also that the new protocol format only supports Opus as an audio
codec. If one of the legacy codecs is to be used, the legacy packet
format has to be used as well. However, all codecs except for Opus will
be removed from Mumble in the future anyway.
Fixes #4350
2022-03-27 09:49:58 +02:00
Robert Adam
d100ff1467
MAINT: Update copyright to 2022
2022-01-04 20:17:33 +01:00
Robert Adam
59ae429972
MAINT: Update copyright notice to 2021
...
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
2021-03-02 10:15:01 +01:00
Robert
af7dac72f4
FORMAT: Run clang-format 10 on all C/CXX source-files
2020-09-11 18:29:33 +02:00
Robert Adam
09d4b41d81
FIX(code): Missing includes for PacketDataStream
2020-09-11 18:28:38 +02:00
Davide Beatrici
4e67a2fafb
Auto-update LICENSE.header in source files
2020-01-07 03:09:22 +01:00
Davide Beatrici
b427333257
Auto-update LICENSE.header in source files
2019-01-25 04:56:19 +01:00
Mikkel Krautz
f6ba3a52bf
Auto-update LICENSE.header in source files.
2018-01-01 23:05:37 +01:00
Mikkel Krautz
91ebb8b0b5
Update tree copyrights to 2017.
2017-01-08 21:05:57 +01:00
Mikkel Krautz
395c084b7a
src: update to use LICENSE.header.
2016-05-10 22:42:02 +02:00
Kissaki
1e4bb6dbd0
Prepend Projectname to header guard defines
...
* some few (4?) files actually already had it
2013-06-04 21:59:52 +02:00
Benjamin Jemlich
07737a314c
Fix include guards and PCH includes
2011-11-09 00:12:10 +01:00
Thorvald Natvig
f3437a6ba7
Update copyright year ranges of dev team.
2011-03-18 05:52:51 +01:00
Thorvald Natvig
16339bfc91
Update license to 2010
2010-01-05 08:49:22 +01:00
Thorvald Natvig
6d9a0e06b2
Change to straight 4-byte encoding for floats
2009-11-30 12:56:55 +01:00
Thorvald Natvig
a9a1cf1827
Indent, changelog and submodule update
2009-10-20 00:02:02 +02:00
Thorvald Natvig
d71202bc4c
Fix more compiler warnings
2009-10-19 19:22:15 +02:00
Thorvald Natvig
534753f65e
Optimize audio framing, and preserve flags
2009-05-04 16:40:15 +02:00
Thorvald Natvig
1a36b56121
Handle positional audio distribution server-side
2009-04-20 15:54:56 +02:00
Thorvald Natvig
1718cde75e
Make Mumble compile with protobuf.
2009-03-26 21:51:50 +01:00
Thorvald Natvig
481760c986
ProtoBuf for murmur (no DBus/Ice yet)
2009-03-23 00:20:33 +01:00
Thorvald Natvig
ad2b8e2149
Update copyright for 2009
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1380 05730e5d-ab1b-0410-a4ac-84af385074fa
2009-01-05 15:12:48 +00:00
Thorvald Natvig
d680eb9bf1
Add Q_DISABLE_COPY to most classes
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1326 05730e5d-ab1b-0410-a4ac-84af385074fa
2008-10-09 10:18:33 +00:00
Thorvald Natvig
11eea44343
Use explicit static_cast<> instead of implicit conversions for float<->int etc
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1220 05730e5d-ab1b-0410-a4ac-84af385074fa
2008-08-13 20:08:19 +00:00
Thorvald Natvig
dc7e438976
Update copyright for 2008
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@908 05730e5d-ab1b-0410-a4ac-84af385074fa
2008-01-05 16:25:48 +00:00
Thorvald Natvig
d05df59f9e
Indent
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@857 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-11-17 18:43:41 +00:00
Thorvald Natvig
568fdeb282
More gracefully handle oversized outgoing packets from murmur
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@763 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-09-07 02:09:40 +00:00
Thorvald Natvig
36f625a583
Start of proper statistics
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@723 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-08-11 14:33:20 +00:00
Thorvald Natvig
7ed5e47f6f
Testing UDP crypt
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@686 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-08-04 17:08:38 +00:00
Thorvald Natvig
b4817ee463
obsessive PacketDataStream optimization
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@652 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-21 10:32:08 +00:00
Thorvald Natvig
ae9f13e776
PacketDataStream bug for negative numbers > 32 bit
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@645 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-20 00:37:29 +00:00
Thorvald Natvig
62dbc00a21
sPlayerId => uiSession
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@637 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-19 17:35:34 +00:00
Thorvald Natvig
7d145eb5e9
64-bit message support.
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@633 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-19 13:24:33 +00:00
Thorvald Natvig
4b8e2fd59e
64-bit message support.
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@632 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-19 13:23:22 +00:00
Thorvald Natvig
761f7460ce
64-bit message support.
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@631 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-19 13:21:25 +00:00
Thorvald Natvig
1b265ffa8c
reindenting all the code
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@622 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-17 23:12:38 +00:00
Thorvald Natvig
25082c477a
Custom UserTextures
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@547 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-05 21:32:55 +00:00
Thorvald Natvig
43853bc9aa
Wrong int encoding in PacketDataStream.
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@546 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-07-05 21:14:37 +00:00
Thorvald Natvig
2ef9c1ddb6
Start of zero-copy UDP thread
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@511 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-06-30 12:29:32 +00:00
Thorvald Natvig
e7b260e7ef
Updates for new binary protocol.
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@508 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-06-29 15:30:55 +00:00
Thorvald Natvig
a9008bdec3
New datastream. Breaks all kinds of things
...
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@504 05730e5d-ab1b-0410-a4ac-84af385074fa
2007-06-29 14:13:16 +00:00