Initialize jitter buffer delay with half of its size
Also add a function to reset jitter buffer
This commit is contained in:
parent
118b0260bc
commit
55a5a4ea2b
|
@ -30,16 +30,26 @@
|
||||||
int jitter_create(jitter_t *jitter, int length)
|
int jitter_create(jitter_t *jitter, int length)
|
||||||
{
|
{
|
||||||
memset(jitter, 0, sizeof(*jitter));
|
memset(jitter, 0, sizeof(*jitter));
|
||||||
jitter->spl = calloc(length * sizeof(sample_t), 1);
|
jitter->spl = malloc(length * sizeof(sample_t));
|
||||||
if (!jitter->spl) {
|
if (!jitter->spl) {
|
||||||
PDEBUG(DDSP, DEBUG_ERROR, "No memory for jitter buffer.\n");
|
PDEBUG(DDSP, DEBUG_ERROR, "No memory for jitter buffer.\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
jitter->len = length;
|
jitter->len = length;
|
||||||
|
|
||||||
|
jitter_reset(jitter);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void jitter_reset(jitter_t *jitter)
|
||||||
|
{
|
||||||
|
memset(jitter->spl, 0, jitter->len * sizeof(sample_t));
|
||||||
|
|
||||||
|
/* put write pointer ahead by half of the buffer length */
|
||||||
|
jitter->inptr = jitter->len / 2;
|
||||||
|
}
|
||||||
|
|
||||||
void jitter_destroy(jitter_t *jitter)
|
void jitter_destroy(jitter_t *jitter)
|
||||||
{
|
{
|
||||||
if (jitter->spl) {
|
if (jitter->spl) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ typedef struct jitter {
|
||||||
} jitter_t;
|
} jitter_t;
|
||||||
|
|
||||||
int jitter_create(jitter_t *jitter, int length);
|
int jitter_create(jitter_t *jitter, int length);
|
||||||
|
void jitter_reset(jitter_t *jitter);
|
||||||
void jitter_destroy(jitter_t *jitter);
|
void jitter_destroy(jitter_t *jitter);
|
||||||
void jitter_save(jitter_t *jb, sample_t *samples, int length);
|
void jitter_save(jitter_t *jb, sample_t *samples, int length);
|
||||||
void jitter_load(jitter_t *jb, sample_t *samples, int length);
|
void jitter_load(jitter_t *jb, sample_t *samples, int length);
|
||||||
|
|
Loading…
Reference in New Issue