Speex jitterbuffers on mobile devices
I am using an application that is using the speex jitter开发者_开发技巧buffer. What happens is that the jitterbuffers appears to grow large when there is heavy variations in the connectivity, and the result is then a heavy delay (up to 5 seconds) - basically, it appears as if no packets are thrown away.
I want to reduce the delay; tolerate a max of 1 second delay, even if it means throwing away old buffered packets. My question is how do you configure the speex jitterbuffer to do this?
Thanks
The Speex jitter buffer has two parameters you can use: JITTER_BUFFER_SET_MAX_LATE_RATE and JITTER_BUFFER_SET_LATE_COST. If you set the MAX_LATE_RATE one to X%, then the jitter buffer will be sure to never "discard" more than X% late packets packets (and increase the delay if needed). The SET_LATE_COST parameter just controls the relative "badness" of a discarding a frame compared to increasing the latency.
精彩评论