mumblekit icon indicating copy to clipboard operation
mumblekit copied to clipboard

Compatibility with Murmur 1.2.4 and Opus

Open emiliopavia opened this issue 12 years ago • 10 comments

Hi,

the RC of Murmur 1.2.4 is out and I'd like to know if there are known issues with the current sources on mumblekit. I'm also interested in the current compatibility with the Opus codec: is it OK to use it with echo cancellation?

Thanks a lot.

P.S. if there's some work to do related to this we'll be happy to contribute

emiliopavia avatar Jan 18 '13 16:01 emiliopavia

I don't know of any issues at present - it should work. I am not sure the Opus git checkout in 3rdparty matches the one used in desktop Mumble, but it should. Besides that, there are no known issues.

With that said, the code hasn't seen much real-life testing yet, so I'm not sure if there are hidden bugs. I am going to update the iOS Mumble client soon as well to enable Opus support, and I'll have to bang a bit on it before then to make absolutely sure.

That's the best I can recommend: try to break it. :-)

mkrautz avatar Jan 18 '13 16:01 mkrautz

Great! We're going to do some real life testing on it ;)

emiliopavia avatar Jan 18 '13 17:01 emiliopavia

Has your testing shown any issues?

mkrautz avatar Feb 03 '13 18:02 mkrautz

Hi,

I've made a quick test using Opus with a running 1.2.3 server and even though I was able to talk I had some echo issues. In these days a colleague of mine will make several tests with Murmur 1.2.4 and we'll see what happens. We noticed that Opus in MumbleKit is not at its latest stable version. Are you updating the official Mumble client?

emiliopavia avatar Feb 04 '13 08:02 emiliopavia

Opus won't work on an 1.2.3 server - the server will not let you negotiate it. (But you can force the client to send, if you really want to...).

I've updated MumbleKit to use the version of Opus we're targetting for our bundled Opus for the Mumble 1.2.4 release. However, there shouldn't be any issues with using a later version.

mkrautz avatar Feb 04 '13 08:02 mkrautz

Yeah, as a matter of fact I was forcing it on the client side :)

However we have great expectations for Opus and we've already setup a 1.2.4 server for doing some tests to tweak the codec.

emiliopavia avatar Feb 04 '13 09:02 emiliopavia

Hi,

I found I was missing some of the later Opus fixes in the MumbleKit tree. I've now ported them from desktop Mumble in 6061213caf8c64cbb5da78f4c6875204a23e0397.

mkrautz avatar Feb 07 '13 18:02 mkrautz

Hi @mkrautz,

we're having some troubles on using Opus as a default codec. It seems that MumbleKit (we're using commit a9739f300a1894a8f54eae5a30d0c04c1c964cf2) is not able to properly enable the codec. The console output is full of:

2013-02-20 08:54:07.795 Acceptance[345:4f0f] MKConnection: Received Opus voice packet in no-Opus mode. Discarding.

I tried to modify MKVersion.m and force returning YES in - (BOOL)isOpusEnabled and in that way opus seems to work. Any idea? The server is the 1.2.4 version and is configured to use Opus only (so no fallback to other codecs).

Thanks in advance.

emiliopavia avatar Feb 20 '13 08:02 emiliopavia

Sorry, you should use the following snippet to enable Opus mode in MumbleKit:

[[MKVersion sharedVersion] setOpusEnabled:YES];

Otherwise, it'll advertise itself as being Opus-less (this is what the currently released Mumble for iOS build uses - it doesn't enable Opus because it was released before the protocol details were finalised...)

Hope it helps.

mkrautz avatar Feb 20 '13 08:02 mkrautz

Oh, ok :) I thought it would have been enabled capabilities during the handshake with the server. Thanks, it helps a lot!

emiliopavia avatar Feb 20 '13 09:02 emiliopavia