version 1.8, 2013/12/20 08:47:37 |
version 1.9, 2013/12/31 12:27:49 |
|
|
void |
void |
slot_write(struct slot *s) |
slot_write(struct slot *s) |
{ |
{ |
|
int drop; |
|
|
if (s->pstate == SLOT_START && s->mix.buf.used == s->mix.buf.len) { |
if (s->pstate == SLOT_START && s->mix.buf.used == s->mix.buf.len) { |
#ifdef DEBUG |
#ifdef DEBUG |
if (log_level >= 4) { |
if (log_level >= 4) { |
|
|
s->pstate = SLOT_READY; |
s->pstate = SLOT_READY; |
slot_ready(s); |
slot_ready(s); |
} |
} |
|
drop = s->mix.drop; |
|
slot_mix_drop(s); |
|
while (drop > s->mix.drop) { |
|
#ifdef DEBUG |
|
if (log_level >= 4) { |
|
slot_log(s); |
|
log_puts(": catching play block\n"); |
|
} |
|
#endif |
|
s->ops->fill(s->arg); |
|
drop--; |
|
} |
} |
} |
|
|
/* |
/* |
|
|
void |
void |
slot_read(struct slot *s) |
slot_read(struct slot *s) |
{ |
{ |
/* nothing yet */ |
int sil; |
|
|
|
sil = s->sub.silence; |
|
slot_sub_sil(s); |
|
while (sil > s->sub.silence) { |
|
#ifdef DEBUG |
|
if (log_level >= 4) { |
|
slot_log(s); |
|
log_puts(": catching rec block\n"); |
|
} |
|
#endif |
|
s->ops->flush(s->arg); |
|
sil--; |
|
} |
} |
} |