Lines Matching defs:packets

41 - Linked list structure for holding the packets instead of the current fixed-size array
65 #define SPEEX_JITTER_MAX_BUFFER_SIZE 200 /**< Maximum number of packets in jitter buffer */
80 /** Buffer that keeps the time of arrival of the latest packets */
84 spx_int32_t timing[MAX_TIMINGS]; /**< Sorted list of all timings ("latest" packets first) */
85 spx_int16_t counts[MAX_TIMINGS]; /**< Order the packets were put in (will be used for short-term estimate) */
143 JitterBufferPacket packets[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Packets stored in the buffer */
160 int max_late_rate; /**< Absolute maximum amount of late packets tolerable (in percent) */
161 int latency_tradeoff; /**< Latency equivalent of losing one percent of packets */
162 int auto_tradeoff; /**< Latency equivalent of losing one percent of packets (automatic default) */
164 int lost_count; /**< Number of consecutive lost packets */
207 /* Pick the TOP_DELAY "latest" packets (doesn't need to actually be late
278 jitter->packets[i].data=NULL;
300 if (jitter->packets[i].data)
303 jitter->destroy(jitter->packets[i].data);
305 speex_free(jitter->packets[i].data);
306 jitter->packets[i].data = NULL;
372 /* Cleanup buffer (remove old packets that weren't played) */
378 if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp + jitter->packets[i].span, jitter->pointer_timestamp))
382 jitter->destroy(jitter->packets[i].data);
384 speex_free(jitter->packets[i].data);
385 jitter->packets[i].data = NULL;
414 if (jitter->packets[i].data==NULL)
421 int earliest=jitter->packets[0].timestamp;
425 if (!jitter->packets[i].data || LT32(jitter->packets[j].timestamp,earliest))
427 earliest = jitter->packets[j].timestamp;
432 jitter->destroy(jitter->packets[i].data);
434 speex_free(jitter->packets[i].data);
435 jitter->packets[i].data=NULL;
442 jitter->packets[i].data = packet->data;
444 jitter->packets[i].data=(char*)speex_alloc(packet->len);
446 jitter->packets[i].data[j]=packet->data[j];
448 jitter->packets[i].timestamp=packet->timestamp;
449 jitter->packets[i].span=packet->span;
450 jitter->packets[i].len=packet->len;
451 jitter->packets[i].sequence=packet->sequence;
452 jitter->packets[i].user_data=packet->user_data;
480 if (jitter->packets[i].data && (!found || LT32(jitter->packets[i].timestamp,oldest)))
482 oldest = jitter->packets[i].timestamp;
523 if (jitter->packets[i].data && jitter->packets[i].timestamp==jitter->pointer_timestamp && GE32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp+desired_span))
532 if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp, jitter->pointer_timestamp) && GE32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp+desired_span))
542 if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp, jitter->pointer_timestamp) && GT32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp))
557 if (jitter->packets[i].data && LT32(jitter->packets[i].timestamp,jitter->pointer_timestamp+desired_span) && GE32(jitter->packets[i].timestamp,jitter->pointer_timestamp))
559 if (!found || LT32(jitter->packets[i].timestamp,best_time) || (jitter->packets[i].timestamp==best_time && GT32(jitter->packets[i].span,best_span)))
561 best_time = jitter->packets[i].timestamp;
562 best_span = jitter->packets[i].span;
571 /*fprintf (stderr, "incomplete: %d %d %d %d\n", jitter->packets[i].timestamp, jitter->pointer_timestamp, chunk_size, jitter->packets[i].span);*/
586 update_timings(jitter, ((spx_int32_t)jitter->packets[i].timestamp) - ((spx_int32_t)jitter->arrival[i]) - jitter->buffer_margin);
593 packet->data = jitter->packets[i].data;
594 packet->len = jitter->packets[i].len;
596 if (jitter->packets[i].len > packet->len)
598 speex_warning_int("jitter_buffer_get(): packet too large to fit. Size is", jitter->packets[i].len);
600 packet->len = jitter->packets[i].len;
603 packet->data[j] = jitter->packets[i].data[j];
605 speex_free(jitter->packets[i].data);
607 jitter->packets[i].data = NULL;
609 offset = (spx_int32_t)jitter->packets[i].timestamp-(spx_int32_t)jitter->pointer_timestamp;
615 packet->timestamp = jitter->packets[i].timestamp;
618 packet->span = jitter->packets[i].span;
619 packet->sequence = jitter->packets[i].sequence;
620 packet->user_data = jitter->packets[i].user_data;
622 jitter->pointer_timestamp = jitter->packets[i].timestamp+jitter->packets[i].span;
681 if (jitter->packets[i].data && jitter->packets[i].timestamp==jitter->last_returned_timestamp)
687 packet->len = jitter->packets[i].len;
690 packet->data = jitter->packets[i].data;
693 packet->data[j] = jitter->packets[i].data[j];
695 speex_free(jitter->packets[i].data);
697 jitter->packets[i].data = NULL;
698 packet->timestamp = jitter->packets[i].timestamp;
699 packet->span = jitter->packets[i].span;
700 packet->sequence = jitter->packets[i].sequence;
701 packet->user_data = jitter->packets[i].user_data;
794 if (jitter->packets[i].data && LE32(jitter->pointer_timestamp, jitter->packets[i].timestamp))