while (alsa->pending) {
int left_till_end_samples = hw->samples - alsa->wpos;
- int len = audio_MIN (alsa->pending, left_till_end_samples);
+ int len = MIN (alsa->pending, left_till_end_samples);
char *src = advance (alsa->pcm_buf, alsa->wpos << hw->info.shift);
while (len) {
return 0;
}
- decr = audio_MIN (live, avail);
+ decr = MIN (live, avail);
decr = audio_pcm_hw_clip_out (hw, alsa->pcm_buf, decr, alsa->pending);
alsa->pending += decr;
alsa_write_pending (alsa);
}
}
- decr = audio_MIN (dead, avail);
+ decr = MIN (dead, avail);
if (!decr) {
return 0;
}
for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
if (sw->active) {
- m = audio_MIN (m, sw->total_hw_samples_acquired);
+ m = MIN (m, sw->total_hw_samples_acquired);
}
}
return m;
int live, int pending)
{
int left = hw->samples - pending;
- int len = audio_MIN (left, live);
+ int len = MIN (left, live);
int clipped = 0;
while (len) {
struct st_sample *src = hw->mix_buf + hw->rpos;
uint8_t *dst = advance (pcm_buf, hw->rpos << hw->info.shift);
int samples_till_end_of_buf = hw->samples - hw->rpos;
- int samples_to_clip = audio_MIN (len, samples_till_end_of_buf);
+ int samples_to_clip = MIN (len, samples_till_end_of_buf);
hw->clip (dst, src, samples_to_clip);
}
swlim = (live * sw->ratio) >> 32;
- swlim = audio_MIN (swlim, samples);
+ swlim = MIN (swlim, samples);
while (swlim) {
src = hw->conv_buf + rpos;
for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
if (sw->active || !sw->empty) {
- m = audio_MIN (m, sw->total_hw_samples_mixed);
+ m = MIN (m, sw->total_hw_samples_mixed);
nb_live += 1;
}
}
dead = hwsamples - live;
swlim = ((int64_t) dead << 32) / sw->ratio;
- swlim = audio_MIN (swlim, samples);
+ swlim = MIN (swlim, samples);
if (swlim) {
sw->conv (sw->buf, buf, swlim);
while (swlim) {
dead = hwsamples - live;
left = hwsamples - wpos;
- blck = audio_MIN (dead, left);
+ blck = MIN (dead, left);
if (!blck) {
break;
}
n = samples;
while (n) {
int till_end_of_hw = hw->samples - rpos2;
- int to_write = audio_MIN (till_end_of_hw, n);
+ int to_write = MIN (till_end_of_hw, n);
int bytes = to_write << hw->info.shift;
int written;
}
}
- n = audio_MIN (samples, hw->samples - rpos);
+ n = MIN (samples, hw->samples - rpos);
mixeng_clear (hw->mix_buf + rpos, n);
mixeng_clear (hw->mix_buf, samples - n);
}
rpos = hw->rpos;
while (live) {
int left = hw->samples - rpos;
- int to_capture = audio_MIN (live, left);
+ int to_capture = MIN (live, left);
struct st_sample *src;
struct capture_callback *cb;
return (d + incr);
}
-#ifdef __GNUC__
-#define audio_MIN(a, b) ( __extension__ ({ \
- __typeof (a) ta = a; \
- __typeof (b) tb = b; \
- ((ta)>(tb)?(tb):(ta)); \
-}))
-
-#define audio_MAX(a, b) ( __extension__ ({ \
- __typeof (a) ta = a; \
- __typeof (b) tb = b; \
- ((ta)<(tb)?(tb):(ta)); \
-}))
-#else
-#define audio_MIN(a, b) ((a)>(b)?(b):(a))
-#define audio_MAX(a, b) ((a)<(b)?(b):(a))
-#endif
-
int wav_start_capture(AudioState *state, CaptureState *s, const char *path,
int freq, int bits, int nchannels);
core->live);
}
- decr = audio_MIN (core->decr, live);
+ decr = MIN (core->decr, live);
core->decr -= decr;
core->live = live - decr;
if (!len) {
return 0;
}
- len = audio_MIN (len, dead);
+ len = MIN (len, dead);
err = dsound_lock_in (
dscb,
now = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
ticks = now - no->old_ticks;
bytes = muldiv64(ticks, hw->info.bytes_per_second, NANOSECONDS_PER_SECOND);
- bytes = audio_MIN(bytes, INT_MAX);
+ bytes = MIN(bytes, INT_MAX);
samples = bytes >> hw->info.shift;
no->old_ticks = now;
- decr = audio_MIN (live, samples);
+ decr = MIN (live, samples);
hw->rpos = (hw->rpos + decr) % hw->samples;
return decr;
}
muldiv64(ticks, hw->info.bytes_per_second, NANOSECONDS_PER_SECOND);
no->old_ticks = now;
- bytes = audio_MIN (bytes, INT_MAX);
+ bytes = MIN (bytes, INT_MAX);
samples = bytes >> hw->info.shift;
- samples = audio_MIN (samples, dead);
+ samples = MIN (samples, dead);
}
return samples;
}
* useless resampling/mixing */
int samples = size >> sw->info.shift;
int total = sw->hw->total_samples_captured - sw->total_hw_samples_acquired;
- int to_clear = audio_MIN (samples, total);
+ int to_clear = MIN (samples, total);
sw->total_hw_samples_acquired += total;
audio_pcm_info_clear_buf (&sw->info, buf, to_clear);
return to_clear << sw->info.shift;
int samples_written;
ssize_t bytes_written;
int samples_till_end = hw->samples - oss->wpos;
- int samples_to_write = audio_MIN (oss->pending, samples_till_end);
+ int samples_to_write = MIN (oss->pending, samples_till_end);
int bytes_to_write = samples_to_write << hw->info.shift;
void *pcm = advance (oss->pcm_buf, oss->wpos << hw->info.shift);
pos = hw->rpos << hw->info.shift;
bytes = audio_ring_dist (cntinfo.ptr, pos, bufsize);
- decr = audio_MIN (bytes >> hw->info.shift, live);
+ decr = MIN (bytes >> hw->info.shift, live);
}
else {
err = ioctl (oss->fd, SNDCTL_DSP_GETOSPACE, &abinfo);
return 0;
}
- decr = audio_MIN (abinfo.bytes >> hw->info.shift, live);
+ decr = MIN (abinfo.bytes >> hw->info.shift, live);
if (!decr) {
return 0;
}
}
}
- decr = to_mix = audio_MIN(pa->live, pa->samples >> 5);
+ decr = to_mix = MIN(pa->live, pa->samples >> 5);
rpos = pa->rpos;
if (audio_pt_unlock(&pa->pt, __func__)) {
while (to_mix) {
int error;
- int chunk = audio_MIN (to_mix, hw->samples - rpos);
+ int chunk = MIN (to_mix, hw->samples - rpos);
struct st_sample *src = hw->mix_buf + rpos;
hw->clip (pa->pcm_buf, src, chunk);
return 0;
}
- decr = audio_MIN (live, pa->decr);
+ decr = MIN (live, pa->decr);
pa->decr -= decr;
pa->live = live - decr;
hw->rpos = pa->rpos;
}
}
- incr = to_grab = audio_MIN(pa->dead, pa->samples >> 5);
+ incr = to_grab = MIN(pa->dead, pa->samples >> 5);
wpos = pa->wpos;
if (audio_pt_unlock(&pa->pt, __func__)) {
while (to_grab) {
int error;
- int chunk = audio_MIN (to_grab, hw->samples - wpos);
+ int chunk = MIN (to_grab, hw->samples - wpos);
void *buf = advance (pa->pcm_buf, wpos);
if (qpa_simple_read (pa, buf,
live = audio_pcm_hw_get_live_in (hw);
dead = hw->samples - live;
- incr = audio_MIN (dead, pa->incr);
+ incr = MIN (dead, pa->incr);
pa->incr -= incr;
pa->dead = dead - incr;
hw->wpos = pa->wpos;
/* dolog ("in callback samples=%d live=%d\n", samples, sdl->live); */
- to_mix = audio_MIN(samples, sdl->live);
+ to_mix = MIN(samples, sdl->live);
decr = to_mix;
while (to_mix) {
- int chunk = audio_MIN(to_mix, hw->samples - hw->rpos);
+ int chunk = MIN(to_mix, hw->samples - hw->rpos);
struct st_sample *src = hw->mix_buf + hw->rpos;
/* dolog ("in callback to_mix %d, chunk %d\n", to_mix, chunk); */
sdl->live);
}
- decr = audio_MIN (sdl->decr, live);
+ decr = MIN (sdl->decr, live);
sdl->decr -= decr;
sdl->live = live;
}
decr = rate_get_samples (&hw->info, &out->rate);
- decr = audio_MIN (live, decr);
+ decr = MIN (live, decr);
samples = decr;
rpos = hw->rpos;
while (samples) {
int left_till_end_samples = hw->samples - rpos;
- int len = audio_MIN (samples, left_till_end_samples);
+ int len = MIN (samples, left_till_end_samples);
if (!out->frame) {
spice_server_playback_get_buffer (&out->sin, &out->frame, &out->fsize);
out->fpos = out->frame;
}
if (out->frame) {
- len = audio_MIN (len, out->fsize);
+ len = MIN (len, out->fsize);
hw->clip (out->fpos, hw->mix_buf + rpos, len);
out->fsize -= len;
out->fpos += len;
}
delta_samp = rate_get_samples (&hw->info, &in->rate);
- num_samples = audio_MIN (num_samples, delta_samp);
+ num_samples = MIN (num_samples, delta_samp);
ready = spice_server_record_get_samples (&in->sin, in->samples, num_samples);
samples = in->samples;
ready = LINE_IN_SAMPLES;
}
- num_samples = audio_MIN (ready, num_samples);
+ num_samples = MIN (ready, num_samples);
if (hw->wpos + num_samples > hw->samples) {
len[0] = hw->samples - hw->wpos;
}
wav->old_ticks = now;
- decr = audio_MIN (live, samples);
+ decr = MIN (live, samples);
samples = decr;
rpos = hw->rpos;
while (samples) {
int left_till_end_samples = hw->samples - rpos;
- int convert_samples = audio_MIN (samples, left_till_end_samples);
+ int convert_samples = MIN (samples, left_till_end_samples);
src = hw->mix_buf + rpos;
dst = advance (wav->pcm_buf, rpos << hw->info.shift);
uint32_t temp = r->picb << 1;
uint32_t written = 0;
int to_copy = 0;
- temp = audio_MIN (temp, max);
+ temp = MIN (temp, max);
if (!temp) {
*stop = 1;
while (temp) {
int copied;
- to_copy = audio_MIN (temp, sizeof (tmpbuf));
+ to_copy = MIN (temp, sizeof (tmpbuf));
pci_dma_read (&s->dev, addr, tmpbuf, to_copy);
copied = AUD_write (s->voice_po, tmpbuf, to_copy);
dolog ("write_audio max=%x to_copy=%x copied=%x\n",
}
while (elapsed) {
- int temp = audio_MIN (elapsed, sizeof (s->silence));
+ int temp = MIN (elapsed, sizeof (s->silence));
while (temp) {
int copied = AUD_write (s->voice_po, s->silence, temp);
if (!copied)
int to_copy = 0;
SWVoiceIn *voice = (r - s->bm_regs) == MC_INDEX ? s->voice_mc : s->voice_pi;
- temp = audio_MIN (temp, max);
+ temp = MIN (temp, max);
if (!temp) {
*stop = 1;
while (temp) {
int acquired;
- to_copy = audio_MIN (temp, sizeof (tmpbuf));
+ to_copy = MIN (temp, sizeof (tmpbuf));
acquired = AUD_read (voice, tmpbuf, to_copy);
if (!acquired) {
*stop = 1;
return;
}
- to_play = audio_MIN (s->left, samples);
+ to_play = MIN (s->left, samples);
while (to_play) {
written = write_audio (s, to_play);
}
}
- samples = audio_MIN (samples, s->samples - s->pos);
+ samples = MIN (samples, s->samples - s->pos);
if (!samples) {
return;
}
int copied;
size_t to_copy;
- to_copy = audio_MIN (temp, left);
+ to_copy = MIN (temp, left);
if (to_copy > sizeof (tmpbuf)) {
to_copy = sizeof (tmpbuf);
}
till = (s->dregs[Playback_Lower_Base_Count]
| (s->dregs[Playback_Upper_Base_Count] << 8)) << s->shift;
till -= s->transferred;
- copy = audio_MIN (till, copy);
+ copy = MIN (till, copy);
}
if ((copy <= 0) || (dma_len <= 0)) {
int size = d->frame_cnt & 0xffff;
int left = ((size - cnt + 1) << 2) + d->leftover;
int transferred = 0;
- int temp = audio_MIN (max, audio_MIN (left, csc_bytes));
+ int temp = MIN (max, MIN (left, csc_bytes));
int index = d - &s->chan[0];
addr += (cnt << 2) + d->leftover;
while (temp) {
int acquired, to_copy;
- to_copy = audio_MIN ((size_t) temp, sizeof (tmpbuf));
+ to_copy = MIN ((size_t) temp, sizeof (tmpbuf));
acquired = AUD_read (s->adc_voice, tmpbuf, to_copy);
if (!acquired)
break;
while (temp) {
int copied, to_copy;
- to_copy = audio_MIN ((size_t) temp, sizeof (tmpbuf));
+ to_copy = MIN ((size_t) temp, sizeof (tmpbuf));
pci_dma_read (&s->dev, addr, tmpbuf, to_copy);
copied = AUD_write (voice, tmpbuf, to_copy);
if (!copied)
GUSState *s = opaque;
samples = free >> s->shift;
- to_play = audio_MIN (samples, s->left);
+ to_play = MIN (samples, s->left);
while (to_play) {
int written = write_audio (s, to_play);
net += written;
}
- samples = audio_MIN (samples, s->samples);
+ samples = MIN (samples, s->samples);
if (samples) {
gus_mixvoices (&s->emu, s->freq, samples, s->mixbuf);
ldebug ("read DMA %#x %d\n", dma_pos, dma_len);
mode = k->has_autoinitialization(s->isa_dma, s->emu.gusdma);
while (left) {
- int to_copy = audio_MIN ((size_t) left, sizeof (tmpbuf));
+ int to_copy = MIN ((size_t) left, sizeof (tmpbuf));
int copied;
ldebug ("left=%d to_copy=%d pos=%d\n", left, to_copy, pos);
goto out_timer;
}
- int64_t to_transfer = audio_MIN(wpos - rpos, wanted_rpos - rpos);
+ int64_t to_transfer = MIN(wpos - rpos, wanted_rpos - rpos);
while (to_transfer) {
uint32_t start = (rpos & B_MASK);
- uint32_t chunk = audio_MIN(B_SIZE - start, to_transfer);
+ uint32_t chunk = MIN(B_SIZE - start, to_transfer);
int rc = hda_codec_xfer(
&st->state->hda, st->stream, false, st->buf + start, chunk);
if (!rc) {
int64_t wpos = st->wpos;
int64_t rpos = st->rpos;
- int64_t to_transfer = audio_MIN(B_SIZE - (wpos - rpos), avail);
+ int64_t to_transfer = MIN(B_SIZE - (wpos - rpos), avail);
hda_timer_sync_adjust(st, -((wpos - rpos) + to_transfer - (B_SIZE >> 1)));
while (to_transfer) {
uint32_t start = (uint32_t) (wpos & B_MASK);
- uint32_t chunk = (uint32_t) audio_MIN(B_SIZE - start, to_transfer);
+ uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);
uint32_t read = AUD_read(st->voice.in, st->buf + start, chunk);
wpos += read;
to_transfer -= read;
goto out_timer;
}
- int64_t to_transfer = audio_MIN(B_SIZE - (wpos - rpos), wanted_wpos - wpos);
+ int64_t to_transfer = MIN(B_SIZE - (wpos - rpos), wanted_wpos - wpos);
while (to_transfer) {
uint32_t start = (wpos & B_MASK);
- uint32_t chunk = audio_MIN(B_SIZE - start, to_transfer);
+ uint32_t chunk = MIN(B_SIZE - start, to_transfer);
int rc = hda_codec_xfer(
&st->state->hda, st->stream, true, st->buf + start, chunk);
if (!rc) {
int64_t wpos = st->wpos;
int64_t rpos = st->rpos;
- int64_t to_transfer = audio_MIN(wpos - rpos, avail);
+ int64_t to_transfer = MIN(wpos - rpos, avail);
if (wpos - rpos == B_SIZE) {
/* drop buffer, reset timer adjust */
while (to_transfer) {
uint32_t start = (uint32_t) (rpos & B_MASK);
- uint32_t chunk = (uint32_t) audio_MIN(B_SIZE - start, to_transfer);
+ uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);
uint32_t written = AUD_write(st->voice.out, st->buf + start, chunk);
rpos += written;
to_transfer -= written;
MilkymistAC97State *s = opaque;
uint8_t buf[4096];
uint32_t remaining = s->regs[R_U_REMAINING];
- int temp = audio_MIN(remaining, avail_b);
+ int temp = MIN(remaining, avail_b);
uint32_t addr = s->regs[R_U_ADDR];
int transferred = 0;
while (temp) {
int acquired, to_copy;
- to_copy = audio_MIN(temp, sizeof(buf));
+ to_copy = MIN(temp, sizeof(buf));
acquired = AUD_read(s->voice_in, buf, to_copy);
if (!acquired) {
break;
MilkymistAC97State *s = opaque;
uint8_t buf[4096];
uint32_t remaining = s->regs[R_D_REMAINING];
- int temp = audio_MIN(remaining, free_b);
+ int temp = MIN(remaining, free_b);
uint32_t addr = s->regs[R_D_ADDR];
int transferred = 0;
while (temp) {
int copied, to_copy;
- to_copy = audio_MIN(temp, sizeof(buf));
+ to_copy = MIN(temp, sizeof(buf));
cpu_physical_memory_read(addr, buf, to_copy);
copied = AUD_write(s->voice_out, buf, to_copy);
if (!copied) {
}
while (free > 0) {
- n = audio_MIN(s->samples - s->play_pos, (unsigned int)free);
+ n = MIN(s->samples - s->play_pos, (unsigned int)free);
n = AUD_write(s->voice, &s->sample_buf[s->play_pos], n);
if (!n)
break;
int copied;
size_t to_copy;
- to_copy = audio_MIN (temp, left);
+ to_copy = MIN (temp, left);
if (to_copy > sizeof (tmpbuf)) {
to_copy = sizeof (tmpbuf);
}
{
if (s->idx_in + s->req_in <= sizeof(s->data_in))
return;
- s->idx_in = audio_MAX(0, (int) sizeof(s->data_in) - s->req_in);
+ s->idx_in = MAX(0, (int) sizeof(s->data_in) - s->req_in);
AUD_read(*s->in[0], s->data_in + s->idx_in,
sizeof(s->data_in) - s->idx_in);
}
wm8750_out_flush(s);
} else
s->req_out = free_b - s->idx_out;
-
+
s->data_req(s->opaque, s->req_out >> 2, s->req_in >> 2);
}