rendered paste bodyIndex: include/speex/speex_jitter.h===================================================================--- include/speex/speex_jitter.h (Revision 12672)+++ include/speex/speex_jitter.h (Arbeitskopie)@@ -81,6 +81,8 @@ #define JITTER_BUFFER_SET_MARGIN 0 /** Get minimum amount of extra buffering required (margin) */ #define JITTER_BUFFER_GET_MARGIN 1+/** Get the amount of avaliable packets currently buffered */+#define JITTER_BUFFER_GET_AVALIABLE_COUNT 2 #define JITTER_BUFFER_ADJUST_INTERPOLATE -1 #define JITTER_BUFFER_ADJUST_OK 0Index: libspeex/jitter.c===================================================================--- libspeex/jitter.c (Revision 12672)+++ libspeex/jitter.c (Arbeitskopie)@@ -516,6 +516,7 @@ /* Used like the ioctl function to control the jitter buffer parameters */ int jitter_buffer_ctl(JitterBuffer *jitter, int request, void *ptr) {+ int count, i; switch(request) { case JITTER_BUFFER_SET_MARGIN:@@ -524,6 +525,17 @@ case JITTER_BUFFER_GET_MARGIN: *(spx_int32_t*)ptr = jitter->buffer_margin; break;+ case JITTER_BUFFER_GET_AVALIABLE_COUNT:+ count = 0;+ for (i=0;i<SPEEX_JITTER_MAX_BUFFER_SIZE;i++)+ {+ if (jitter->buf[i] && LE32(jitter->pointer_timestamp, jitter->timestamp[i]))+ {+ count++;+ }+ }+ *(spx_int32_t*)ptr = count;+ break; default: speex_warning_int("Unknown jitter_buffer_ctl request: ", request); return -1;