pavelhoral Posted March 18, 2010 Share Posted March 18, 2010 (edited) 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 :)).ThanksPavel Edited March 18, 2010 by pavelhoral Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted March 18, 2010 Administrators Share Posted March 18, 2010 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… Quote Link to comment Share on other sites More sharing options...
pavelhoral Posted March 18, 2010 Author Share Posted March 18, 2010 I was thinking more about error detection and correction within the voice transport protocol. I will look into mentioned documents. Thanks for quick reply. Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted March 19, 2010 Administrators Share Posted March 19, 2010 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? Quote Link to comment Share on other sites More sharing options...
pavelhoral Posted March 19, 2010 Author Share Posted March 19, 2010 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). Quote Link to comment Share on other sites More sharing options...
Administrators hacst Posted March 19, 2010 Administrators Share Posted March 19, 2010 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. Quote Link to comment Share on other sites More sharing options...
pavelhoral Posted March 20, 2010 Author Share Posted March 20, 2010 That is the answer to my question ;). Never heard the term "packet loss concealment" before. Gonna learn something about it. Thank you. Quote Link to comment Share on other sites More sharing options...
Administrators slicer Posted March 23, 2010 Administrators Share Posted March 23, 2010 @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. Quote Link to comment Share on other sites More sharing options...
Administrators hacst Posted March 23, 2010 Administrators Share Posted March 23, 2010 :D Ah, right. I forgot about the OCB-AES encryption. Mea culpa. But it boils down to: We don't correct errors, we detect and discard corrupted packets and let the codec try to hide it. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.