Jump to content
Mumble forums

Mumble error detection and correction


pavelhoral
 Share

Recommended Posts

Hi,

do Mumble implement some error correction or detection? Or is such functionality implemented within Speex and CELT codecs?

Is there (probably on wiki) available some overview of Murmur/Mumble architecture and its protocol?


Just curious as people are talking about voice crackling (and my bachelor thesis was about Reed-Solomon ECC practical application :)).


Thanks

Pavel

Edited by pavelhoral
Link to comment
Share on other sites

  • Administrators

If mumble crashes it asks you to submit a crashdump,

so yes, there is error detection (or "crash detection").


There's no error correction. That would solve all issues?!

Maybe you want to elaborate?


The protocol is documented (kinda) in the repository in the doc folder.

Also, code comments I think.


Architecture Docs? I don't think so…

Link to comment
Share on other sites

  • Administrators

The underlying protocol for voice packets is UDP for less overhead and thus faster parsing/transmission.

TCP is used for the control channel, for "management".

As those underlying protocols already do error detection, or not, there's no use in doing it again in the own protocol again.

What do you have in mind?

Link to comment
Share on other sites

Can Mumble detect when an UDP packet is lost? Probably yes (as it is counting lost packets) - so that is the error detection. The question should be asked more like: "what Mumble does when the voice packet is lost".

I was just curious. I know that this is (or could be) very complex topic. I will read the documentation (and maybe look into source codes).

Link to comment
Share on other sites

  • Administrators

I'm trying to post an answer to this since yesterday evening, let's see of our forums like to take my post today.


@Kissaki: You got him wrong. He was talking about error correction capabilities in our protocol/codecs.


@pavelhoral: Mumble itself does not employ any error correction capabilities on its own and in terms of error detection for voice packets we solely rely on the facilities UDP provides (the checksum). If a packet is lost/corrupted it is up to our codecs packet loss correction to conceal this. If you want to learn about the algorithms used by the Speex/CELT PLC I'd recommend you to visit the speex/celt homepage/mailinglist/irc. The folks there are very competent and know the ins and outs of their codecs.

Link to comment
Share on other sites

  • Administrators

@pavelhoral: Mumble itself does not employ any error correction capabilities on its own and in terms of error detection for voice packets we solely rely on the facilities UDP provides (the checksum).

 

No, we don't ;) Authenticated encryption of voice packets gives us authenticity information, which means any corrupt package fails authenticity and is discarded.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...