struct audsettings obt_as;
Audiodev *dev = hw->s->dev;
- req.fmt = aud_to_alsafmt (as->fmt, as->endianness);
+ req.fmt = aud_to_alsafmt (as->fmt, as->big_endian);
req.freq = as->freq;
req.nchannels = as->nchannels;
obt_as.freq = obt.freq;
obt_as.nchannels = obt.nchannels;
obt_as.fmt = obt.fmt;
- obt_as.endianness = obt.endianness;
+ obt_as.big_endian = obt.endianness;
audio_pcm_init_info (&hw->info, &obt_as);
hw->samples = obt.samples;
struct audsettings obt_as;
Audiodev *dev = hw->s->dev;
- req.fmt = aud_to_alsafmt (as->fmt, as->endianness);
+ req.fmt = aud_to_alsafmt (as->fmt, as->big_endian);
req.freq = as->freq;
req.nchannels = as->nchannels;
obt_as.freq = obt.freq;
obt_as.nchannels = obt.nchannels;
obt_as.fmt = obt.fmt;
- obt_as.endianness = obt.endianness;
+ obt_as.big_endian = obt.endianness;
audio_pcm_init_info (&hw->info, &obt_as);
hw->samples = obt.samples;
break;
}
- AUD_log (NULL, " endianness=");
- switch (as->endianness) {
- case 0:
- AUD_log (NULL, "little");
- break;
- case 1:
- AUD_log (NULL, "big");
- break;
- default:
- AUD_log (NULL, "invalid");
- break;
- }
- AUD_log (NULL, "\n");
+ AUD_log (NULL, " endianness=%s\n", as->big_endian ? "big" : "little");
}
static int audio_validate_settings (const struct audsettings *as)
int invalid;
invalid = as->nchannels < 1;
- invalid |= as->endianness != 0 && as->endianness != 1;
switch (as->fmt) {
case AUDIO_FORMAT_S8:
return info->af == as->fmt
&& info->freq == as->freq
&& info->nchannels == as->nchannels
- && info->swap_endianness == (as->endianness != HOST_BIG_ENDIAN);
+ && info->swap_endianness == (as->big_endian != HOST_BIG_ENDIAN);
}
void audio_pcm_init_info (struct audio_pcm_info *info, const struct audsettings *as)
info->nchannels = as->nchannels;
info->bytes_per_frame = as->nchannels * audio_format_bits(as->fmt) / 8;
info->bytes_per_second = info->freq * info->bytes_per_frame;
- info->swap_endianness = (as->endianness != HOST_BIG_ENDIAN);
+ info->swap_endianness = (as->big_endian != HOST_BIG_ENDIAN);
}
void audio_pcm_info_clear_buf(struct audio_pcm_info *info, void *buf, int len)
.freq = pdo->frequency,
.nchannels = pdo->channels,
.fmt = pdo->format,
- .endianness = HOST_BIG_ENDIAN,
+ .big_endian = HOST_BIG_ENDIAN,
};
}
}
ds->first_time = true;
- obt_as.endianness = 0;
+ obt_as.big_endian = false;
audio_pcm_init_info (&hw->info, &obt_as);
if (bc.dwBufferBytes % hw->info.bytes_per_frame) {
.freq = jo->c.freq,
.nchannels = jo->c.nchannels,
.fmt = AUDIO_FORMAT_F32,
- .endianness = 0
+ .big_endian = false
};
audio_pcm_init_info(&hw->info, &os);
.freq = ji->c.freq,
.nchannels = ji->c.nchannels,
.fmt = AUDIO_FORMAT_F32,
- .endianness = 0
+ .big_endian = false
};
audio_pcm_init_info(&hw->info, &is);
}
}
-static int oss_to_audfmt (int ossfmt, AudioFormat *fmt, int *endianness)
+static int oss_to_audfmt (int ossfmt, AudioFormat *fmt, bool *big_endian)
{
switch (ossfmt) {
case AFMT_S8:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_S8;
break;
case AFMT_U8:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_U8;
break;
case AFMT_S16_LE:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_S16;
break;
case AFMT_U16_LE:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_U16;
break;
case AFMT_S16_BE:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_S16;
break;
case AFMT_U16_BE:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_U16;
break;
oss->fd = -1;
- req.fmt = aud_to_ossfmt (as->fmt, as->endianness);
+ req.fmt = aud_to_ossfmt (as->fmt, as->big_endian);
req.freq = as->freq;
req.nchannels = as->nchannels;
return -1;
}
- err = oss_to_audfmt(obt.fmt, &obt_as.fmt, &obt_as.endianness);
+ err = oss_to_audfmt(obt.fmt, &obt_as.fmt, &obt_as.big_endian);
if (err) {
oss_anal_close (&fd);
return -1;
oss->fd = -1;
- req.fmt = aud_to_ossfmt (as->fmt, as->endianness);
+ req.fmt = aud_to_ossfmt (as->fmt, as->big_endian);
req.freq = as->freq;
req.nchannels = as->nchannels;
if (oss_open(1, &req, as, &obt, &fd, dev)) {
return -1;
}
- err = oss_to_audfmt(obt.fmt, &obt_as.fmt, &obt_as.endianness);
+ err = oss_to_audfmt(obt.fmt, &obt_as.fmt, &obt_as.big_endian);
if (err) {
oss_anal_close (&fd);
return -1;
return format;
}
-static AudioFormat pa_to_audfmt (pa_sample_format_t fmt, int *endianness)
+static AudioFormat pa_to_audfmt (pa_sample_format_t fmt, bool *big_endian)
{
switch (fmt) {
case PA_SAMPLE_U8:
return AUDIO_FORMAT_U8;
case PA_SAMPLE_S16BE:
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_S16;
case PA_SAMPLE_S16LE:
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_S16;
case PA_SAMPLE_S32BE:
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_S32;
case PA_SAMPLE_S32LE:
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_S32;
case PA_SAMPLE_FLOAT32BE:
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_F32;
case PA_SAMPLE_FLOAT32LE:
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_F32;
default:
error_report("pulseaudio: Internal logic error: Bad pa_sample_format %d", fmt);
PAConnection *c = apa->conn;
pa->g = apa;
- ss.format = audfmt_to_pa (as->fmt, as->endianness);
+ ss.format = audfmt_to_pa (as->fmt, as->big_endian);
ss.channels = as->nchannels;
ss.rate = as->freq;
ba.maxlength = -1;
ba.prebuf = -1;
- obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.endianness);
+ obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.big_endian);
pa->stream = qpa_simple_new (
c,
PAConnection *c = apa->conn;
pa->g = apa;
- ss.format = audfmt_to_pa (as->fmt, as->endianness);
+ ss.format = audfmt_to_pa (as->fmt, as->big_endian);
ss.channels = as->nchannels;
ss.rate = as->freq;
ba.minreq = -1;
ba.prebuf = -1;
- obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.endianness);
+ obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.big_endian);
pa->stream = qpa_simple_new (
c,
}
static AudioFormat
-pw_to_audfmt(enum spa_audio_format fmt, int *endianness,
+pw_to_audfmt(enum spa_audio_format fmt, bool *big_endian,
uint32_t *sample_size)
{
switch (fmt) {
return AUDIO_FORMAT_U8;
case SPA_AUDIO_FORMAT_S16_BE:
*sample_size = 2;
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_S16;
case SPA_AUDIO_FORMAT_S16_LE:
*sample_size = 2;
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_S16;
case SPA_AUDIO_FORMAT_U16_BE:
*sample_size = 2;
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_U16;
case SPA_AUDIO_FORMAT_U16_LE:
*sample_size = 2;
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_U16;
case SPA_AUDIO_FORMAT_S32_BE:
*sample_size = 4;
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_S32;
case SPA_AUDIO_FORMAT_S32_LE:
*sample_size = 4;
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_S32;
case SPA_AUDIO_FORMAT_U32_BE:
*sample_size = 4;
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_U32;
case SPA_AUDIO_FORMAT_U32_LE:
*sample_size = 4;
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_U32;
case SPA_AUDIO_FORMAT_F32_BE:
*sample_size = 4;
- *endianness = 1;
+ *big_endian = true;
return AUDIO_FORMAT_F32;
case SPA_AUDIO_FORMAT_F32_LE:
*sample_size = 4;
- *endianness = 0;
+ *big_endian = false;
return AUDIO_FORMAT_F32;
default:
*sample_size = 1;
pw_thread_loop_lock(c->thread_loop);
- v->info.format = audfmt_to_pw(as->fmt, as->endianness);
+ v->info.format = audfmt_to_pw(as->fmt, as->big_endian);
v->info.channels = as->nchannels;
qpw_set_position(as->nchannels, v->info.position);
v->info.rate = as->freq;
obt_as.fmt =
- pw_to_audfmt(v->info.format, &obt_as.endianness, &v->frame_size);
+ pw_to_audfmt(v->info.format, &obt_as.big_endian, &v->frame_size);
v->frame_size *= as->nchannels;
v->req = (uint64_t)AUDIO_MIXENG_BACKEND(c)->dev->timer_period * v->info.rate
pw_thread_loop_lock(c->thread_loop);
- v->info.format = audfmt_to_pw(as->fmt, as->endianness);
+ v->info.format = audfmt_to_pw(as->fmt, as->big_endian);
v->info.channels = as->nchannels;
qpw_set_position(as->nchannels, v->info.position);
v->info.rate = as->freq;
obt_as.fmt =
- pw_to_audfmt(v->info.format, &obt_as.endianness, &v->frame_size);
+ pw_to_audfmt(v->info.format, &obt_as.big_endian, &v->frame_size);
v->frame_size *= as->nchannels;
/* call the function that creates a new stream for recording */
}
}
-static int sdl_to_audfmt(int sdlfmt, AudioFormat *fmt, int *endianness)
+static int sdl_to_audfmt(int sdlfmt, AudioFormat *fmt, bool *big_endian)
{
switch (sdlfmt) {
case AUDIO_S8:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_S8;
break;
case AUDIO_U8:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_U8;
break;
case AUDIO_S16LSB:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_S16;
break;
case AUDIO_U16LSB:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_U16;
break;
case AUDIO_S16MSB:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_S16;
break;
case AUDIO_U16MSB:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_U16;
break;
case AUDIO_S32LSB:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_S32;
break;
case AUDIO_S32MSB:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_S32;
break;
case AUDIO_F32LSB:
- *endianness = 0;
+ *big_endian = false;
*fmt = AUDIO_FORMAT_F32;
break;
case AUDIO_F32MSB:
- *endianness = 1;
+ *big_endian = true;
*fmt = AUDIO_FORMAT_F32;
break;
return -1;
}
- err = sdl_to_audfmt(obt.format, &obt_as.fmt, &obt_as.endianness);
+ err = sdl_to_audfmt(obt.format, &obt_as.fmt, &obt_as.big_endian);
if (err) {
sdl_close_out(sdl);
return -1;
return -1;
}
- err = sdl_to_audfmt(obt.format, &obt_as.fmt, &obt_as.endianness);
+ err = sdl_to_audfmt(obt.format, &obt_as.fmt, &obt_as.big_endian);
if (err) {
sdl_close_in(sdl);
return -1;
}
if (req.bits > 8) {
- req.le = as->endianness ? 0 : 1;
+ req.le = !as->big_endian;
}
req.rate = as->freq;
#endif
settings.nchannels = SPICE_INTERFACE_PLAYBACK_CHAN;
settings.fmt = AUDIO_FORMAT_S16;
- settings.endianness = HOST_BIG_ENDIAN;
+ settings.big_endian = HOST_BIG_ENDIAN;
audio_pcm_init_info (&hw->info, &settings);
hw->samples = LINE_OUT_SAMPLES;
#endif
settings.nchannels = SPICE_INTERFACE_RECORD_CHAN;
settings.fmt = AUDIO_FORMAT_S16;
- settings.endianness = HOST_BIG_ENDIAN;
+ settings.big_endian = HOST_BIG_ENDIAN;
audio_pcm_init_info (&hw->info, &settings);
hw->samples = LINE_IN_SAMPLES;
hdr[34] = bits16 ? 0x10 : 0x08;
- wav_as.endianness = 0;
+ wav_as.big_endian = false;
audio_pcm_init_info (&hw->info, &wav_as);
hw->samples = 1024;
as.freq = freq;
as.nchannels = 1 << stereo;
as.fmt = bits16 ? AUDIO_FORMAT_S16 : AUDIO_FORMAT_U8;
- as.endianness = 0;
+ as.big_endian = false;
ops.notify = wav_notify;
ops.capture = wav_capture;
as.freq = freq;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = 0;
+ as.big_endian = false;
if (freq > 0) {
s->invalid_freq[index] = 0;
as.freq = s->freq;
as.nchannels = SHIFT;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = HOST_BIG_ENDIAN;
+ as.big_endian = HOST_BIG_ENDIAN;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = ASC_FREQ;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_U8;
- as.endianness = HOST_BIG_ENDIAN;
+ as.big_endian = HOST_BIG_ENDIAN;
s->voice = audio_be_open_out(s->audio_be, s->voice, "asc.out", s, asc_out_cb,
&as);
}
as.nchannels = (val & (1 << 4)) ? 2 : 1;
- as.endianness = 0;
+ as.big_endian = false;
s->tab = NULL;
switch ((val >> 5) & ((s->dregs[MODE_And_ID] & MODE2) ? 7 : 3)) {
s->tab = ALawDecompressTable;
x_law:
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = HOST_BIG_ENDIAN;
+ as.big_endian = HOST_BIG_ENDIAN;
s->shift = as.nchannels == 2;
break;
case 6:
- as.endianness = 1;
+ as.big_endian = true;
/* fall through */
case 2:
as.fmt = AUDIO_FORMAT_S16;
as.freq = new_freq;
as.nchannels = 1 << (new_fmt & 1);
as.fmt = (new_fmt & 2) ? AUDIO_FORMAT_S16 : AUDIO_FORMAT_U8;
- as.endianness = 0;
+ as.big_endian = false;
if (i == ADC_CHANNEL) {
s->adc_voice =
as.freq = s->freq;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = HOST_BIG_ENDIAN;
+ as.big_endian = HOST_BIG_ENDIAN;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = value;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = freq;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = 48000;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = s->freq;
as.nchannels = 1 << s->fmt_stereo;
as.fmt = s->fmt;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = s->freq;
as.nchannels = 1 << s->fmt_stereo;
as.fmt = s->fmt;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = s->freq;
as.nchannels = 1;
as.fmt = AUDIO_FORMAT_U8;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
as.freq = s->freq;
as.nchannels = 1 << s->fmt_stereo;
as.fmt = s->fmt;
- as.endianness = 0;
+ as.big_endian = false;
s->voice = audio_be_open_out(
s->audio_be,
.freq = CODEC_REG(s, AC97_PCM_Front_DAC_Rate),
.nchannels = s->aur.type & BIT(4) ? 2 : 1,
.fmt = s->aur.type & BIT(5) ? AUDIO_FORMAT_S16 : AUDIO_FORMAT_S8,
- .endianness = 0,
+ .big_endian = false,
};
s->vo = audio_be_open_out(s->audio_be, s->vo, "via-ac97.out", s, out_cb, &as);
}
as->nchannels = MIN(AUDIO_MAX_CHANNELS, params->channels);
as->fmt = virtio_snd_get_qemu_format(params->format);
as->freq = virtio_snd_get_qemu_freq(params->rate);
- as->endianness = 0; /* Conforming to VIRTIO 1.0: always little endian. */
+ as->big_endian = false; /* Conforming to VIRTIO 1.0: always little endian. */
}
/*
return;
/* Setup input */
- in_fmt.endianness = 0;
+ in_fmt.big_endian = false;
in_fmt.nchannels = 2;
in_fmt.freq = s->adc_hz;
in_fmt.fmt = AUDIO_FORMAT_S16;
CODEC ".input3", s, wm8750_audio_in_cb, &in_fmt);
/* Setup output */
- out_fmt.endianness = 0;
+ out_fmt.big_endian = false;
out_fmt.nchannels = 2;
out_fmt.freq = s->dac_hz;
out_fmt.fmt = AUDIO_FORMAT_S16;
as.freq = 44100;
as.nchannels = 2;
as.fmt = AUDIO_FORMAT_S16;
- as.endianness = 0;
+ as.big_endian = false;
s->amixer_output_stream = audio_be_open_out(s->audio_be,
s->amixer_output_stream,
s->out.as.freq = USBAUDIO_SAMPLE_RATE;
s->out.as.nchannels = s->out.channels;
s->out.as.fmt = AUDIO_FORMAT_S16;
- s->out.as.endianness = 0;
+ s->out.as.big_endian = false;
streambuf_init(&s->out.buf, s->buffer, s->out.channels);
s->out.voice = audio_be_open_out(s->audio_be, s->out.voice, TYPE_USB_AUDIO,
int freq;
int nchannels;
AudioFormat fmt;
- int endianness;
+ bool big_endian;
} audsettings;
typedef struct SWVoiceOut SWVoiceOut;
.freq = SAMPLE_RATE,
.nchannels = CHANNELS,
.fmt = AUDIO_FORMAT_S16,
- .endianness = 0,
+ .big_endian = false,
};
static void dummy_audio_callback(void *opaque, int avail)
vs->as.freq = 44100;
vs->as.nchannels = 2;
vs->as.fmt = AUDIO_FORMAT_S16;
- vs->as.endianness = 0;
+ vs->as.big_endian = false;
qemu_mutex_init(&vs->output_mutex);
vs->bh = qemu_bh_new(vnc_jobs_bh, vs);