Re: How to handle a packet lost with AudioQueue ?
Re: How to handle a packet lost with AudioQueue ?
- Subject: Re: How to handle a packet lost with AudioQueue ?
- From: Michael Tyson <email@hidden>
- Date: Sun, 12 Aug 2012 09:40:35 +0100
You also need to be aware of issues with discontinuity if you're going for decent-sounding audio in the presence of packet loss. If you merely insert silence in place of lost packets, you'll get an audible click at the start and end of that region. There are various techniques to mitigate this problem (the area is called 'error concealment’).
My guess was to got click yeah, but in fact it’s absolutely not a click that I get, it’s like if the AudioQueue can’t handle to many missing packet, after approximatively 10 packets lost, the AudioQueue seems unable to play anything, even if I’ve no more packet lost…
Hmm, that's interesting. I don't have a great deal of experience using AudioQueues, as I usually go straight to Remote IO, but I wouldn't be surprised if your theory was correct. If it were me, I'd experiment with inserting empty audio packets in place of the missing ones; use an increasing sequence number in the packet header to determine if a packet has been lost, then if so, insert the appropriate stand-in. Speaking generally, where you have the option to do so it's best to use an existing, tried-and-true implementation, rather than writing your own from scratch, especially if you're not familiar with audio programming. (Says the guy who just finished writing his own implementation. D'oh.)
It’s a good recommendation and it’s what I usually do when I can. But here it’s a kind of R&D project to get a cheaper product, so we can’t wast budget in licensing existing product…
Ah, fair enough - I understand. Have you had a peek around anyway in case there are open source solutions with an appropriate license? |
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden