coreaudio had names that are not conforming to QEMU codding style.
coreaudioVoiceOut also had some members that are prefixed with redundant
words like "output" or "audio".
Global names included "out" to tell they are specific to output devices,
but this rule was not completely enforced.
The frame size had three different names "frameSize", "bufferFrameSize",
and "frameCount".
Replace identifiers to fix these problems.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
audio/coreaudio.m | 193 +++++++++++++++++++++++++++---------------------------
1 file changed, 98 insertions(+), 95 deletions(-)
diff --git a/audio/coreaudio.m b/audio/coreaudio.m
index 04e8ac59f4572c1e5fb7dc4f04f5e21520507ab5..6f170a909983b2a5c6abd6fc04c6c3f32828c10c 100644
--- a/audio/coreaudio.m
+++ b/audio/coreaudio.m
@@ -33,37 +33,37 @@
#define AUDIO_CAP "coreaudio"
#include "audio_int.h"
-typedef struct coreaudioVoiceOut {
+typedef struct CoreaudioVoiceOut {
HWVoiceOut hw;
pthread_mutex_t buf_mutex;
- AudioDeviceID outputDeviceID;
- int frameSizeSetting;
- uint32_t bufferCount;
- UInt32 audioDevicePropertyBufferFrameSize;
+ AudioDeviceID device_id;
+ int frame_size_setting;
+ uint32_t buffer_count;
+ UInt32 device_frame_size;
AudioDeviceIOProcID ioprocid;
bool enabled;
-} coreaudioVoiceOut;
+} CoreaudioVoiceOut;
-static const AudioObjectPropertyAddress voice_addr = {
+static const AudioObjectPropertyAddress voice_out_addr = {
kAudioHardwarePropertyDefaultOutputDevice,
kAudioObjectPropertyScopeGlobal,
kAudioObjectPropertyElementMain
};
-static OSStatus coreaudio_get_voice(AudioDeviceID *id)
+static OSStatus coreaudio_get_voice_out(AudioDeviceID *id)
{
UInt32 size = sizeof(*id);
return AudioObjectGetPropertyData(kAudioObjectSystemObject,
- &voice_addr,
+ &voice_out_addr,
0,
NULL,
&size,
id);
}
-static OSStatus coreaudio_get_framesizerange(AudioDeviceID id,
- AudioValueRange *framerange)
+static OSStatus coreaudio_get_out_framesizerange(AudioDeviceID id,
+ AudioValueRange *framerange)
{
UInt32 size = sizeof(*framerange);
AudioObjectPropertyAddress addr = {
@@ -80,7 +80,7 @@ static OSStatus coreaudio_get_framesizerange(AudioDeviceID id,
framerange);
}
-static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize)
+static OSStatus coreaudio_get_out_framesize(AudioDeviceID id, UInt32 *framesize)
{
UInt32 size = sizeof(*framesize);
AudioObjectPropertyAddress addr = {
@@ -97,7 +97,7 @@ static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize)
framesize);
}
-static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize)
+static OSStatus coreaudio_set_out_framesize(AudioDeviceID id, UInt32 *framesize)
{
UInt32 size = sizeof(*framesize);
AudioObjectPropertyAddress addr = {
@@ -114,8 +114,8 @@ static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize)
framesize);
}
-static OSStatus coreaudio_set_streamformat(AudioDeviceID id,
- AudioStreamBasicDescription *d)
+static OSStatus coreaudio_set_out_streamformat(AudioDeviceID id,
+ AudioStreamBasicDescription *d)
{
UInt32 size = sizeof(*d);
AudioObjectPropertyAddress addr = {
@@ -132,7 +132,7 @@ static OSStatus coreaudio_set_streamformat(AudioDeviceID id,
d);
}
-static OSStatus coreaudio_get_isrunning(AudioDeviceID id, UInt32 *result)
+static OSStatus coreaudio_get_out_isrunning(AudioDeviceID id, UInt32 *result)
{
UInt32 size = sizeof(*result);
AudioObjectPropertyAddress addr = {
@@ -242,7 +242,8 @@ static void G_GNUC_PRINTF(3, 4) coreaudio_logerr2(
#define coreaudio_playback_logerr(status, ...) \
coreaudio_logerr2(status, "playback", __VA_ARGS__)
-static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name)
+static int coreaudio_voice_out_buf_lock(CoreaudioVoiceOut *core,
+ const char *fn_name)
{
int err;
@@ -255,7 +256,8 @@ static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name)
return 0;
}
-static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name)
+static int coreaudio_voice_out_buf_unlock(CoreaudioVoiceOut *core,
+ const char *fn_name)
{
int err;
@@ -268,20 +270,20 @@ static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name)
return 0;
}
-#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \
- static ret_type glue(coreaudio_, name)args_decl \
- { \
- coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; \
- ret_type ret; \
- \
- if (coreaudio_buf_lock(core, "coreaudio_" #name)) { \
- return 0; \
- } \
- \
- ret = glue(audio_generic_, name)args; \
- \
- coreaudio_buf_unlock(core, "coreaudio_" #name); \
- return ret; \
+#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \
+ static ret_type glue(coreaudio_, name)args_decl \
+ { \
+ CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; \
+ ret_type ret; \
+ \
+ if (coreaudio_voice_out_buf_lock(core, "coreaudio_" #name)) { \
+ return 0; \
+ } \
+ \
+ ret = glue(audio_generic_, name)args; \
+ \
+ coreaudio_voice_out_buf_unlock(core, "coreaudio_" #name); \
+ return ret; \
}
COREAUDIO_WRAPPER_FUNC(buffer_get_free, size_t, (HWVoiceOut *hw), (hw))
COREAUDIO_WRAPPER_FUNC(get_buffer_out, void *, (HWVoiceOut *hw, size_t *size),
@@ -297,7 +299,7 @@ static ret_type glue(coreaudio_, name)args_decl \
* callback to feed audiooutput buffer. called without BQL.
* allowed to lock "buf_mutex", but disallowed to have any other locks.
*/
-static OSStatus audioDeviceIOProc(
+static OSStatus out_device_ioproc(
AudioDeviceID inDevice,
const AudioTimeStamp *inNow,
const AudioBufferList *inInputData,
@@ -306,33 +308,33 @@ static OSStatus audioDeviceIOProc(
const AudioTimeStamp *inOutputTime,
void *hwptr)
{
- UInt32 frameCount, pending_frames;
+ UInt32 frame_size, pending_frames;
void *out = outOutputData->mBuffers[0].mData;
HWVoiceOut *hw = hwptr;
- coreaudioVoiceOut *core = hwptr;
+ CoreaudioVoiceOut *core = hwptr;
size_t len;
- if (coreaudio_buf_lock(core, "audioDeviceIOProc")) {
+ if (coreaudio_voice_out_buf_lock(core, "out_device_ioproc")) {
inInputTime = 0;
return 0;
}
- if (inDevice != core->outputDeviceID) {
- coreaudio_buf_unlock(core, "audioDeviceIOProc(old device)");
+ if (inDevice != core->device_id) {
+ coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(old device)");
return 0;
}
- frameCount = core->audioDevicePropertyBufferFrameSize;
+ frame_size = core->device_frame_size;
pending_frames = hw->pending_emul / hw->info.bytes_per_frame;
/* if there are not enough samples, set signal and return */
- if (pending_frames < frameCount) {
+ if (pending_frames < frame_size) {
inInputTime = 0;
- coreaudio_buf_unlock(core, "audioDeviceIOProc(empty)");
+ coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(empty)");
return 0;
}
- len = frameCount * hw->info.bytes_per_frame;
+ len = frame_size * hw->info.bytes_per_frame;
while (len) {
size_t write_len, start;
@@ -348,16 +350,16 @@ static OSStatus audioDeviceIOProc(
out += write_len;
}
- coreaudio_buf_unlock(core, "audioDeviceIOProc");
+ coreaudio_voice_out_buf_unlock(core, "out_device_ioproc");
return 0;
}
-static OSStatus init_out_device(coreaudioVoiceOut *core)
+static OSStatus init_out_device(CoreaudioVoiceOut *core)
{
OSStatus status;
- AudioValueRange frameRange;
+ AudioValueRange framerange;
- AudioStreamBasicDescription streamBasicDescription = {
+ AudioStreamBasicDescription stream_basic_description = {
.mBitsPerChannel = core->hw.info.bits,
.mBytesPerFrame = core->hw.info.bytes_per_frame,
.mBytesPerPacket = core->hw.info.bytes_per_frame,
@@ -368,20 +370,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core)
.mSampleRate = core->hw.info.freq
};
- status = coreaudio_get_voice(&core->outputDeviceID);
+ status = coreaudio_get_voice_out(&core->device_id);
if (status != kAudioHardwareNoError) {
coreaudio_playback_logerr(status,
"Could not get default output Device\n");
return status;
}
- if (core->outputDeviceID == kAudioDeviceUnknown) {
+ if (core->device_id == kAudioDeviceUnknown) {
dolog("Could not initialize playback - Unknown Audiodevice\n");
return status;
}
/* get minimum and maximum buffer frame sizes */
- status = coreaudio_get_framesizerange(core->outputDeviceID,
- &frameRange);
+ status = coreaudio_get_out_framesizerange(core->device_id,
+ &framerange);
if (status == kAudioHardwareBadObjectError) {
return 0;
}
@@ -391,32 +393,32 @@ static OSStatus init_out_device(coreaudioVoiceOut *core)
return status;
}
- if (frameRange.mMinimum > core->frameSizeSetting) {
- core->audioDevicePropertyBufferFrameSize = frameRange.mMinimum;
- dolog("warning: Upsizing Buffer Frames to %f\n", frameRange.mMinimum);
- } else if (frameRange.mMaximum < core->frameSizeSetting) {
- core->audioDevicePropertyBufferFrameSize = frameRange.mMaximum;
- dolog("warning: Downsizing Buffer Frames to %f\n", frameRange.mMaximum);
+ if (framerange.mMinimum > core->frame_size_setting) {
+ core->device_frame_size = framerange.mMinimum;
+ dolog("warning: Upsizing Buffer Frames to %f\n", framerange.mMinimum);
+ } else if (framerange.mMaximum < core->frame_size_setting) {
+ core->device_frame_size = framerange.mMaximum;
+ dolog("warning: Downsizing Buffer Frames to %f\n", framerange.mMaximum);
} else {
- core->audioDevicePropertyBufferFrameSize = core->frameSizeSetting;
+ core->device_frame_size = core->frame_size_setting;
}
/* set Buffer Frame Size */
- status = coreaudio_set_framesize(core->outputDeviceID,
- &core->audioDevicePropertyBufferFrameSize);
+ status = coreaudio_set_out_framesize(core->device_id,
+ &core->device_frame_size);
if (status == kAudioHardwareBadObjectError) {
return 0;
}
if (status != kAudioHardwareNoError) {
coreaudio_playback_logerr(status,
"Could not set device buffer frame size %" PRIu32 "\n",
- (uint32_t)core->audioDevicePropertyBufferFrameSize);
+ (uint32_t)core->device_frame_size);
return status;
}
/* get Buffer Frame Size */
- status = coreaudio_get_framesize(core->outputDeviceID,
- &core->audioDevicePropertyBufferFrameSize);
+ status = coreaudio_get_out_framesize(core->device_id,
+ &core->device_frame_size);
if (status == kAudioHardwareBadObjectError) {
return 0;
}
@@ -425,19 +427,19 @@ static OSStatus init_out_device(coreaudioVoiceOut *core)
"Could not get device buffer frame size\n");
return status;
}
- core->hw.samples = core->bufferCount * core->audioDevicePropertyBufferFrameSize;
+ core->hw.samples = core->buffer_count * core->device_frame_size;
/* set Samplerate */
- status = coreaudio_set_streamformat(core->outputDeviceID,
- &streamBasicDescription);
+ status = coreaudio_set_out_streamformat(core->device_id,
+ &stream_basic_description);
if (status == kAudioHardwareBadObjectError) {
return 0;
}
if (status != kAudioHardwareNoError) {
coreaudio_playback_logerr(status,
"Could not set samplerate %lf\n",
- streamBasicDescription.mSampleRate);
- core->outputDeviceID = kAudioDeviceUnknown;
+ stream_basic_description.mSampleRate);
+ core->device_id = kAudioDeviceUnknown;
return status;
}
@@ -452,8 +454,8 @@ static OSStatus init_out_device(coreaudioVoiceOut *core)
* with the callers of AudioObjectGetPropertyData.
*/
core->ioprocid = NULL;
- status = AudioDeviceCreateIOProcID(core->outputDeviceID,
- audioDeviceIOProc,
+ status = AudioDeviceCreateIOProcID(core->device_id,
+ out_device_ioproc,
&core->hw,
&core->ioprocid);
if (status == kAudioHardwareBadDeviceError) {
@@ -461,20 +463,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core)
}
if (status != kAudioHardwareNoError || core->ioprocid == NULL) {
coreaudio_playback_logerr(status, "Could not set IOProc\n");
- core->outputDeviceID = kAudioDeviceUnknown;
+ core->device_id = kAudioDeviceUnknown;
return status;
}
return 0;
}
-static void fini_out_device(coreaudioVoiceOut *core)
+static void fini_out_device(CoreaudioVoiceOut *core)
{
OSStatus status;
UInt32 isrunning;
/* stop playback */
- status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning);
+ status = coreaudio_get_out_isrunning(core->device_id, &isrunning);
if (status != kAudioHardwareBadObjectError) {
if (status != kAudioHardwareNoError) {
coreaudio_logerr(status,
@@ -482,7 +484,7 @@ static void fini_out_device(coreaudioVoiceOut *core)
}
if (isrunning) {
- status = AudioDeviceStop(core->outputDeviceID, core->ioprocid);
+ status = AudioDeviceStop(core->device_id, core->ioprocid);
if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) {
coreaudio_logerr(status, "Could not stop playback\n");
}
@@ -490,20 +492,20 @@ static void fini_out_device(coreaudioVoiceOut *core)
}
/* remove callback */
- status = AudioDeviceDestroyIOProcID(core->outputDeviceID,
+ status = AudioDeviceDestroyIOProcID(core->device_id,
core->ioprocid);
if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) {
coreaudio_logerr(status, "Could not remove IOProc\n");
}
- core->outputDeviceID = kAudioDeviceUnknown;
+ core->device_id = kAudioDeviceUnknown;
}
-static void update_device_playback_state(coreaudioVoiceOut *core)
+static void update_out_device_playback_state(CoreaudioVoiceOut *core)
{
OSStatus status;
UInt32 isrunning;
- status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning);
+ status = coreaudio_get_out_isrunning(core->device_id, &isrunning);
if (status != kAudioHardwareNoError) {
if (status != kAudioHardwareBadObjectError) {
coreaudio_logerr(status,
@@ -516,7 +518,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core)
if (core->enabled) {
/* start playback */
if (!isrunning) {
- status = AudioDeviceStart(core->outputDeviceID, core->ioprocid);
+ status = AudioDeviceStart(core->device_id, core->ioprocid);
if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) {
coreaudio_logerr(status, "Could not resume playback\n");
}
@@ -524,7 +526,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core)
} else {
/* stop playback */
if (isrunning) {
- status = AudioDeviceStop(core->outputDeviceID,
+ status = AudioDeviceStop(core->device_id,
core->ioprocid);
if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) {
coreaudio_logerr(status, "Could not pause playback\n");
@@ -534,22 +536,22 @@ static void update_device_playback_state(coreaudioVoiceOut *core)
}
/* called without BQL. */
-static OSStatus handle_voice_change(
+static OSStatus handle_voice_out_change(
AudioObjectID in_object_id,
UInt32 in_number_addresses,
const AudioObjectPropertyAddress *in_addresses,
void *in_client_data)
{
- coreaudioVoiceOut *core = in_client_data;
+ CoreaudioVoiceOut *core = in_client_data;
bql_lock();
- if (core->outputDeviceID) {
+ if (core->device_id) {
fini_out_device(core);
}
if (!init_out_device(core)) {
- update_device_playback_state(core);
+ update_out_device_playback_state(core);
}
bql_unlock();
@@ -560,7 +562,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
void *drv_opaque)
{
OSStatus status;
- coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw;
+ CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw;
int err;
Audiodev *dev = drv_opaque;
AudiodevCoreaudioPerDirectionOptions *cpdo = dev->u.coreaudio.out;
@@ -578,13 +580,14 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
as->fmt = AUDIO_FORMAT_F32;
audio_pcm_init_info(&hw->info, as);
- core->frameSizeSetting = audio_buffer_frames(
+ core->frame_size_setting = audio_buffer_frames(
qapi_AudiodevCoreaudioPerDirectionOptions_base(cpdo), as, 11610);
- core->bufferCount = cpdo->has_buffer_count ? cpdo->buffer_count : 4;
+ core->buffer_count = cpdo->has_buffer_count ? cpdo->buffer_count : 4;
status = AudioObjectAddPropertyListener(kAudioObjectSystemObject,
- &voice_addr, handle_voice_change,
+ &voice_out_addr,
+ handle_voice_out_change,
core);
if (status != kAudioHardwareNoError) {
coreaudio_playback_logerr(status,
@@ -594,8 +597,8 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
if (init_out_device(core)) {
status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject,
- &voice_addr,
- handle_voice_change,
+ &voice_out_addr,
+ handle_voice_out_change,
core);
if (status != kAudioHardwareNoError) {
coreaudio_playback_logerr(status,
@@ -612,11 +615,11 @@ static void coreaudio_fini_out (HWVoiceOut *hw)
{
OSStatus status;
int err;
- coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw;
+ CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw;
status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject,
- &voice_addr,
- handle_voice_change,
+ &voice_out_addr,
+ handle_voice_out_change,
core);
if (status != kAudioHardwareNoError) {
coreaudio_logerr(status, "Could not remove voice property change listener\n");
@@ -633,10 +636,10 @@ static void coreaudio_fini_out (HWVoiceOut *hw)
static void coreaudio_enable_out(HWVoiceOut *hw, bool enable)
{
- coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw;
+ CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw;
core->enabled = enable;
- update_device_playback_state(core);
+ update_out_device_playback_state(core);
}
static void *coreaudio_audio_init(Audiodev *dev, Error **errp)
@@ -670,7 +673,7 @@ static void coreaudio_audio_fini(void *opaque)
.pcm_ops = &coreaudio_pcm_ops,
.max_voices_out = 1,
.max_voices_in = 0,
- .voice_size_out = sizeof(coreaudioVoiceOut),
+ .voice_size_out = sizeof(CoreaudioVoiceOut),
.voice_size_in = 0
};
--
2.48.1
On Friday, January 24, 2025 6:12:06 AM CET Akihiko Odaki wrote: > coreaudio had names that are not conforming to QEMU codding style. > coreaudioVoiceOut also had some members that are prefixed with redundant > words like "output" or "audio". > Global names included "out" to tell they are specific to output devices, > but this rule was not completely enforced. > The frame size had three different names "frameSize", "bufferFrameSize", > and "frameCount". > > Replace identifiers to fix these problems. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > audio/coreaudio.m | 193 +++++++++++++++++++++++++++--------------------------- > 1 file changed, 98 insertions(+), 95 deletions(-) > > diff --git a/audio/coreaudio.m b/audio/coreaudio.m > index 04e8ac59f4572c1e5fb7dc4f04f5e21520507ab5..6f170a909983b2a5c6abd6fc04c6c3f32828c10c 100644 > --- a/audio/coreaudio.m > +++ b/audio/coreaudio.m > @@ -33,37 +33,37 @@ > #define AUDIO_CAP "coreaudio" > #include "audio_int.h" > > -typedef struct coreaudioVoiceOut { > +typedef struct CoreaudioVoiceOut { > HWVoiceOut hw; > pthread_mutex_t buf_mutex; > - AudioDeviceID outputDeviceID; > - int frameSizeSetting; > - uint32_t bufferCount; > - UInt32 audioDevicePropertyBufferFrameSize; > + AudioDeviceID device_id; > + int frame_size_setting; > + uint32_t buffer_count; > + UInt32 device_frame_size; Actually weird that there are two frame size variables here. AFAICS the device_frame_size member could be dropped and turned into a local variable. Not really an issue for this patch, just saying. > AudioDeviceIOProcID ioprocid; > bool enabled; > -} coreaudioVoiceOut; > +} CoreaudioVoiceOut; Ah, there's the upper case change. :) > -static const AudioObjectPropertyAddress voice_addr = { > +static const AudioObjectPropertyAddress voice_out_addr = { > kAudioHardwarePropertyDefaultOutputDevice, > kAudioObjectPropertyScopeGlobal, > kAudioObjectPropertyElementMain > }; > > -static OSStatus coreaudio_get_voice(AudioDeviceID *id) > +static OSStatus coreaudio_get_voice_out(AudioDeviceID *id) > { > UInt32 size = sizeof(*id); > > return AudioObjectGetPropertyData(kAudioObjectSystemObject, > - &voice_addr, > + &voice_out_addr, > 0, > NULL, > &size, > id); > } > > -static OSStatus coreaudio_get_framesizerange(AudioDeviceID id, > - AudioValueRange *framerange) > +static OSStatus coreaudio_get_out_framesizerange(AudioDeviceID id, > + AudioValueRange *framerange) > { > UInt32 size = sizeof(*framerange); > AudioObjectPropertyAddress addr = { > @@ -80,7 +80,7 @@ static OSStatus coreaudio_get_framesizerange(AudioDeviceID id, > framerange); > } > > -static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize) > +static OSStatus coreaudio_get_out_framesize(AudioDeviceID id, UInt32 *framesize) > { > UInt32 size = sizeof(*framesize); > AudioObjectPropertyAddress addr = { > @@ -97,7 +97,7 @@ static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize) > framesize); > } > > -static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize) > +static OSStatus coreaudio_set_out_framesize(AudioDeviceID id, UInt32 *framesize) > { > UInt32 size = sizeof(*framesize); > AudioObjectPropertyAddress addr = { > @@ -114,8 +114,8 @@ static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize) > framesize); > } > > -static OSStatus coreaudio_set_streamformat(AudioDeviceID id, > - AudioStreamBasicDescription *d) > +static OSStatus coreaudio_set_out_streamformat(AudioDeviceID id, > + AudioStreamBasicDescription *d) > { > UInt32 size = sizeof(*d); > AudioObjectPropertyAddress addr = { > @@ -132,7 +132,7 @@ static OSStatus coreaudio_set_streamformat(AudioDeviceID id, > d); > } > > -static OSStatus coreaudio_get_isrunning(AudioDeviceID id, UInt32 *result) > +static OSStatus coreaudio_get_out_isrunning(AudioDeviceID id, UInt32 *result) > { > UInt32 size = sizeof(*result); > AudioObjectPropertyAddress addr = { > @@ -242,7 +242,8 @@ static void G_GNUC_PRINTF(3, 4) coreaudio_logerr2( > #define coreaudio_playback_logerr(status, ...) \ > coreaudio_logerr2(status, "playback", __VA_ARGS__) > > -static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name) > +static int coreaudio_voice_out_buf_lock(CoreaudioVoiceOut *core, > + const char *fn_name) > { > int err; > > @@ -255,7 +256,8 @@ static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name) > return 0; > } > > -static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name) > +static int coreaudio_voice_out_buf_unlock(CoreaudioVoiceOut *core, > + const char *fn_name) > { > int err; > > @@ -268,20 +270,20 @@ static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name) > return 0; > } > > -#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \ > - static ret_type glue(coreaudio_, name)args_decl \ > - { \ > - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; \ > - ret_type ret; \ > - \ > - if (coreaudio_buf_lock(core, "coreaudio_" #name)) { \ > - return 0; \ > - } \ > - \ > - ret = glue(audio_generic_, name)args; \ > - \ > - coreaudio_buf_unlock(core, "coreaudio_" #name); \ > - return ret; \ > +#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \ > + static ret_type glue(coreaudio_, name)args_decl \ > + { \ > + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; \ > + ret_type ret; \ > + \ > + if (coreaudio_voice_out_buf_lock(core, "coreaudio_" #name)) { \ > + return 0; \ > + } \ > + \ > + ret = glue(audio_generic_, name)args; \ > + \ > + coreaudio_voice_out_buf_unlock(core, "coreaudio_" #name); \ > + return ret; \ That doesn't really belong into this patch, but OK. > } > COREAUDIO_WRAPPER_FUNC(buffer_get_free, size_t, (HWVoiceOut *hw), (hw)) > COREAUDIO_WRAPPER_FUNC(get_buffer_out, void *, (HWVoiceOut *hw, size_t *size), > @@ -297,7 +299,7 @@ static ret_type glue(coreaudio_, name)args_decl \ > * callback to feed audiooutput buffer. called without BQL. > * allowed to lock "buf_mutex", but disallowed to have any other locks. > */ > -static OSStatus audioDeviceIOProc( > +static OSStatus out_device_ioproc( > AudioDeviceID inDevice, > const AudioTimeStamp *inNow, > const AudioBufferList *inInputData, > @@ -306,33 +308,33 @@ static OSStatus audioDeviceIOProc( > const AudioTimeStamp *inOutputTime, > void *hwptr) > { > - UInt32 frameCount, pending_frames; > + UInt32 frame_size, pending_frames; > void *out = outOutputData->mBuffers[0].mData; > HWVoiceOut *hw = hwptr; > - coreaudioVoiceOut *core = hwptr; > + CoreaudioVoiceOut *core = hwptr; > size_t len; > > - if (coreaudio_buf_lock(core, "audioDeviceIOProc")) { > + if (coreaudio_voice_out_buf_lock(core, "out_device_ioproc")) { > inInputTime = 0; > return 0; > } > > - if (inDevice != core->outputDeviceID) { > - coreaudio_buf_unlock(core, "audioDeviceIOProc(old device)"); > + if (inDevice != core->device_id) { > + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(old device)"); > return 0; > } > > - frameCount = core->audioDevicePropertyBufferFrameSize; > + frame_size = core->device_frame_size; > pending_frames = hw->pending_emul / hw->info.bytes_per_frame; > > /* if there are not enough samples, set signal and return */ > - if (pending_frames < frameCount) { > + if (pending_frames < frame_size) { > inInputTime = 0; > - coreaudio_buf_unlock(core, "audioDeviceIOProc(empty)"); > + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(empty)"); > return 0; > } > > - len = frameCount * hw->info.bytes_per_frame; > + len = frame_size * hw->info.bytes_per_frame; > while (len) { > size_t write_len, start; > > @@ -348,16 +350,16 @@ static OSStatus audioDeviceIOProc( > out += write_len; > } > > - coreaudio_buf_unlock(core, "audioDeviceIOProc"); > + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc"); > return 0; > } > > -static OSStatus init_out_device(coreaudioVoiceOut *core) > +static OSStatus init_out_device(CoreaudioVoiceOut *core) > { > OSStatus status; > - AudioValueRange frameRange; > + AudioValueRange framerange; > > - AudioStreamBasicDescription streamBasicDescription = { > + AudioStreamBasicDescription stream_basic_description = { > .mBitsPerChannel = core->hw.info.bits, > .mBytesPerFrame = core->hw.info.bytes_per_frame, > .mBytesPerPacket = core->hw.info.bytes_per_frame, > @@ -368,20 +370,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) > .mSampleRate = core->hw.info.freq > }; > > - status = coreaudio_get_voice(&core->outputDeviceID); > + status = coreaudio_get_voice_out(&core->device_id); As can be seen here, I still think "*out*_device_id" is useful for review purposes. Except of that: Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com> /Christian > if (status != kAudioHardwareNoError) { > coreaudio_playback_logerr(status, > "Could not get default output Device\n"); > return status; > } > - if (core->outputDeviceID == kAudioDeviceUnknown) { > + if (core->device_id == kAudioDeviceUnknown) { > dolog("Could not initialize playback - Unknown Audiodevice\n"); > return status; > } > > /* get minimum and maximum buffer frame sizes */ > - status = coreaudio_get_framesizerange(core->outputDeviceID, > - &frameRange); > + status = coreaudio_get_out_framesizerange(core->device_id, > + &framerange); > if (status == kAudioHardwareBadObjectError) { > return 0; > } > @@ -391,32 +393,32 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) > return status; > } > > - if (frameRange.mMinimum > core->frameSizeSetting) { > - core->audioDevicePropertyBufferFrameSize = frameRange.mMinimum; > - dolog("warning: Upsizing Buffer Frames to %f\n", frameRange.mMinimum); > - } else if (frameRange.mMaximum < core->frameSizeSetting) { > - core->audioDevicePropertyBufferFrameSize = frameRange.mMaximum; > - dolog("warning: Downsizing Buffer Frames to %f\n", frameRange.mMaximum); > + if (framerange.mMinimum > core->frame_size_setting) { > + core->device_frame_size = framerange.mMinimum; > + dolog("warning: Upsizing Buffer Frames to %f\n", framerange.mMinimum); > + } else if (framerange.mMaximum < core->frame_size_setting) { > + core->device_frame_size = framerange.mMaximum; > + dolog("warning: Downsizing Buffer Frames to %f\n", framerange.mMaximum); > } else { > - core->audioDevicePropertyBufferFrameSize = core->frameSizeSetting; > + core->device_frame_size = core->frame_size_setting; > } > > /* set Buffer Frame Size */ > - status = coreaudio_set_framesize(core->outputDeviceID, > - &core->audioDevicePropertyBufferFrameSize); > + status = coreaudio_set_out_framesize(core->device_id, > + &core->device_frame_size); > if (status == kAudioHardwareBadObjectError) { > return 0; > } > if (status != kAudioHardwareNoError) { > coreaudio_playback_logerr(status, > "Could not set device buffer frame size %" PRIu32 "\n", > - (uint32_t)core->audioDevicePropertyBufferFrameSize); > + (uint32_t)core->device_frame_size); > return status; > } > > /* get Buffer Frame Size */ > - status = coreaudio_get_framesize(core->outputDeviceID, > - &core->audioDevicePropertyBufferFrameSize); > + status = coreaudio_get_out_framesize(core->device_id, > + &core->device_frame_size); > if (status == kAudioHardwareBadObjectError) { > return 0; > } > @@ -425,19 +427,19 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) > "Could not get device buffer frame size\n"); > return status; > } > - core->hw.samples = core->bufferCount * core->audioDevicePropertyBufferFrameSize; > + core->hw.samples = core->buffer_count * core->device_frame_size; > > /* set Samplerate */ > - status = coreaudio_set_streamformat(core->outputDeviceID, > - &streamBasicDescription); > + status = coreaudio_set_out_streamformat(core->device_id, > + &stream_basic_description); > if (status == kAudioHardwareBadObjectError) { > return 0; > } > if (status != kAudioHardwareNoError) { > coreaudio_playback_logerr(status, > "Could not set samplerate %lf\n", > - streamBasicDescription.mSampleRate); > - core->outputDeviceID = kAudioDeviceUnknown; > + stream_basic_description.mSampleRate); > + core->device_id = kAudioDeviceUnknown; > return status; > } > > @@ -452,8 +454,8 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) > * with the callers of AudioObjectGetPropertyData. > */ > core->ioprocid = NULL; > - status = AudioDeviceCreateIOProcID(core->outputDeviceID, > - audioDeviceIOProc, > + status = AudioDeviceCreateIOProcID(core->device_id, > + out_device_ioproc, > &core->hw, > &core->ioprocid); > if (status == kAudioHardwareBadDeviceError) { > @@ -461,20 +463,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) > } > if (status != kAudioHardwareNoError || core->ioprocid == NULL) { > coreaudio_playback_logerr(status, "Could not set IOProc\n"); > - core->outputDeviceID = kAudioDeviceUnknown; > + core->device_id = kAudioDeviceUnknown; > return status; > } > > return 0; > } > > -static void fini_out_device(coreaudioVoiceOut *core) > +static void fini_out_device(CoreaudioVoiceOut *core) > { > OSStatus status; > UInt32 isrunning; > > /* stop playback */ > - status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning); > + status = coreaudio_get_out_isrunning(core->device_id, &isrunning); > if (status != kAudioHardwareBadObjectError) { > if (status != kAudioHardwareNoError) { > coreaudio_logerr(status, > @@ -482,7 +484,7 @@ static void fini_out_device(coreaudioVoiceOut *core) > } > > if (isrunning) { > - status = AudioDeviceStop(core->outputDeviceID, core->ioprocid); > + status = AudioDeviceStop(core->device_id, core->ioprocid); > if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { > coreaudio_logerr(status, "Could not stop playback\n"); > } > @@ -490,20 +492,20 @@ static void fini_out_device(coreaudioVoiceOut *core) > } > > /* remove callback */ > - status = AudioDeviceDestroyIOProcID(core->outputDeviceID, > + status = AudioDeviceDestroyIOProcID(core->device_id, > core->ioprocid); > if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { > coreaudio_logerr(status, "Could not remove IOProc\n"); > } > - core->outputDeviceID = kAudioDeviceUnknown; > + core->device_id = kAudioDeviceUnknown; > } > > -static void update_device_playback_state(coreaudioVoiceOut *core) > +static void update_out_device_playback_state(CoreaudioVoiceOut *core) > { > OSStatus status; > UInt32 isrunning; > > - status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning); > + status = coreaudio_get_out_isrunning(core->device_id, &isrunning); > if (status != kAudioHardwareNoError) { > if (status != kAudioHardwareBadObjectError) { > coreaudio_logerr(status, > @@ -516,7 +518,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core) > if (core->enabled) { > /* start playback */ > if (!isrunning) { > - status = AudioDeviceStart(core->outputDeviceID, core->ioprocid); > + status = AudioDeviceStart(core->device_id, core->ioprocid); > if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { > coreaudio_logerr(status, "Could not resume playback\n"); > } > @@ -524,7 +526,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core) > } else { > /* stop playback */ > if (isrunning) { > - status = AudioDeviceStop(core->outputDeviceID, > + status = AudioDeviceStop(core->device_id, > core->ioprocid); > if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { > coreaudio_logerr(status, "Could not pause playback\n"); > @@ -534,22 +536,22 @@ static void update_device_playback_state(coreaudioVoiceOut *core) > } > > /* called without BQL. */ > -static OSStatus handle_voice_change( > +static OSStatus handle_voice_out_change( > AudioObjectID in_object_id, > UInt32 in_number_addresses, > const AudioObjectPropertyAddress *in_addresses, > void *in_client_data) > { > - coreaudioVoiceOut *core = in_client_data; > + CoreaudioVoiceOut *core = in_client_data; > > bql_lock(); > > - if (core->outputDeviceID) { > + if (core->device_id) { > fini_out_device(core); > } > > if (!init_out_device(core)) { > - update_device_playback_state(core); > + update_out_device_playback_state(core); > } > > bql_unlock(); > @@ -560,7 +562,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, > void *drv_opaque) > { > OSStatus status; > - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; > + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; > int err; > Audiodev *dev = drv_opaque; > AudiodevCoreaudioPerDirectionOptions *cpdo = dev->u.coreaudio.out; > @@ -578,13 +580,14 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, > as->fmt = AUDIO_FORMAT_F32; > audio_pcm_init_info(&hw->info, as); > > - core->frameSizeSetting = audio_buffer_frames( > + core->frame_size_setting = audio_buffer_frames( > qapi_AudiodevCoreaudioPerDirectionOptions_base(cpdo), as, 11610); > > - core->bufferCount = cpdo->has_buffer_count ? cpdo->buffer_count : 4; > + core->buffer_count = cpdo->has_buffer_count ? cpdo->buffer_count : 4; > > status = AudioObjectAddPropertyListener(kAudioObjectSystemObject, > - &voice_addr, handle_voice_change, > + &voice_out_addr, > + handle_voice_out_change, > core); > if (status != kAudioHardwareNoError) { > coreaudio_playback_logerr(status, > @@ -594,8 +597,8 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, > > if (init_out_device(core)) { > status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject, > - &voice_addr, > - handle_voice_change, > + &voice_out_addr, > + handle_voice_out_change, > core); > if (status != kAudioHardwareNoError) { > coreaudio_playback_logerr(status, > @@ -612,11 +615,11 @@ static void coreaudio_fini_out (HWVoiceOut *hw) > { > OSStatus status; > int err; > - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; > + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; > > status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject, > - &voice_addr, > - handle_voice_change, > + &voice_out_addr, > + handle_voice_out_change, > core); > if (status != kAudioHardwareNoError) { > coreaudio_logerr(status, "Could not remove voice property change listener\n"); > @@ -633,10 +636,10 @@ static void coreaudio_fini_out (HWVoiceOut *hw) > > static void coreaudio_enable_out(HWVoiceOut *hw, bool enable) > { > - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; > + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; > > core->enabled = enable; > - update_device_playback_state(core); > + update_out_device_playback_state(core); > } > > static void *coreaudio_audio_init(Audiodev *dev, Error **errp) > @@ -670,7 +673,7 @@ static void coreaudio_audio_fini(void *opaque) > .pcm_ops = &coreaudio_pcm_ops, > .max_voices_out = 1, > .max_voices_in = 0, > - .voice_size_out = sizeof(coreaudioVoiceOut), > + .voice_size_out = sizeof(CoreaudioVoiceOut), > .voice_size_in = 0 > }; > > >
On 2025/01/24 19:01, Christian Schoenebeck wrote: > On Friday, January 24, 2025 6:12:06 AM CET Akihiko Odaki wrote: >> coreaudio had names that are not conforming to QEMU codding style. >> coreaudioVoiceOut also had some members that are prefixed with redundant >> words like "output" or "audio". >> Global names included "out" to tell they are specific to output devices, >> but this rule was not completely enforced. >> The frame size had three different names "frameSize", "bufferFrameSize", >> and "frameCount". >> >> Replace identifiers to fix these problems. >> >> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> >> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> audio/coreaudio.m | 193 +++++++++++++++++++++++++++--------------------------- >> 1 file changed, 98 insertions(+), 95 deletions(-) >> >> diff --git a/audio/coreaudio.m b/audio/coreaudio.m >> index 04e8ac59f4572c1e5fb7dc4f04f5e21520507ab5..6f170a909983b2a5c6abd6fc04c6c3f32828c10c 100644 >> --- a/audio/coreaudio.m >> +++ b/audio/coreaudio.m >> @@ -33,37 +33,37 @@ >> #define AUDIO_CAP "coreaudio" >> #include "audio_int.h" >> >> -typedef struct coreaudioVoiceOut { >> +typedef struct CoreaudioVoiceOut { >> HWVoiceOut hw; >> pthread_mutex_t buf_mutex; >> - AudioDeviceID outputDeviceID; >> - int frameSizeSetting; >> - uint32_t bufferCount; >> - UInt32 audioDevicePropertyBufferFrameSize; >> + AudioDeviceID device_id; >> + int frame_size_setting; >> + uint32_t buffer_count; >> + UInt32 device_frame_size; > > Actually weird that there are two frame size variables here. AFAICS the > device_frame_size member could be dropped and turned into a local variable. They can have different values. frame_size_setting is the value the user configured. device_frame_size is the value that is the value supported by the device and closest to frame_size_setting. device_frame_size cannot be turned into a local variable as it is referred by two functions, out_device_ioproc() and init_out_device(). > > Not really an issue for this patch, just saying. > >> AudioDeviceIOProcID ioprocid; >> bool enabled; >> -} coreaudioVoiceOut; >> +} CoreaudioVoiceOut; > > Ah, there's the upper case change. :) > >> -static const AudioObjectPropertyAddress voice_addr = { >> +static const AudioObjectPropertyAddress voice_out_addr = { >> kAudioHardwarePropertyDefaultOutputDevice, >> kAudioObjectPropertyScopeGlobal, >> kAudioObjectPropertyElementMain >> }; >> >> -static OSStatus coreaudio_get_voice(AudioDeviceID *id) >> +static OSStatus coreaudio_get_voice_out(AudioDeviceID *id) >> { >> UInt32 size = sizeof(*id); >> >> return AudioObjectGetPropertyData(kAudioObjectSystemObject, >> - &voice_addr, >> + &voice_out_addr, >> 0, >> NULL, >> &size, >> id); >> } >> >> -static OSStatus coreaudio_get_framesizerange(AudioDeviceID id, >> - AudioValueRange *framerange) >> +static OSStatus coreaudio_get_out_framesizerange(AudioDeviceID id, >> + AudioValueRange *framerange) >> { >> UInt32 size = sizeof(*framerange); >> AudioObjectPropertyAddress addr = { >> @@ -80,7 +80,7 @@ static OSStatus coreaudio_get_framesizerange(AudioDeviceID id, >> framerange); >> } >> >> -static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize) >> +static OSStatus coreaudio_get_out_framesize(AudioDeviceID id, UInt32 *framesize) >> { >> UInt32 size = sizeof(*framesize); >> AudioObjectPropertyAddress addr = { >> @@ -97,7 +97,7 @@ static OSStatus coreaudio_get_framesize(AudioDeviceID id, UInt32 *framesize) >> framesize); >> } >> >> -static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize) >> +static OSStatus coreaudio_set_out_framesize(AudioDeviceID id, UInt32 *framesize) >> { >> UInt32 size = sizeof(*framesize); >> AudioObjectPropertyAddress addr = { >> @@ -114,8 +114,8 @@ static OSStatus coreaudio_set_framesize(AudioDeviceID id, UInt32 *framesize) >> framesize); >> } >> >> -static OSStatus coreaudio_set_streamformat(AudioDeviceID id, >> - AudioStreamBasicDescription *d) >> +static OSStatus coreaudio_set_out_streamformat(AudioDeviceID id, >> + AudioStreamBasicDescription *d) >> { >> UInt32 size = sizeof(*d); >> AudioObjectPropertyAddress addr = { >> @@ -132,7 +132,7 @@ static OSStatus coreaudio_set_streamformat(AudioDeviceID id, >> d); >> } >> >> -static OSStatus coreaudio_get_isrunning(AudioDeviceID id, UInt32 *result) >> +static OSStatus coreaudio_get_out_isrunning(AudioDeviceID id, UInt32 *result) >> { >> UInt32 size = sizeof(*result); >> AudioObjectPropertyAddress addr = { >> @@ -242,7 +242,8 @@ static void G_GNUC_PRINTF(3, 4) coreaudio_logerr2( >> #define coreaudio_playback_logerr(status, ...) \ >> coreaudio_logerr2(status, "playback", __VA_ARGS__) >> >> -static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name) >> +static int coreaudio_voice_out_buf_lock(CoreaudioVoiceOut *core, >> + const char *fn_name) >> { >> int err; >> >> @@ -255,7 +256,8 @@ static int coreaudio_buf_lock(coreaudioVoiceOut *core, const char *fn_name) >> return 0; >> } >> >> -static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name) >> +static int coreaudio_voice_out_buf_unlock(CoreaudioVoiceOut *core, >> + const char *fn_name) >> { >> int err; >> >> @@ -268,20 +270,20 @@ static int coreaudio_buf_unlock(coreaudioVoiceOut *core, const char *fn_name) >> return 0; >> } >> >> -#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \ >> - static ret_type glue(coreaudio_, name)args_decl \ >> - { \ >> - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; \ >> - ret_type ret; \ >> - \ >> - if (coreaudio_buf_lock(core, "coreaudio_" #name)) { \ >> - return 0; \ >> - } \ >> - \ >> - ret = glue(audio_generic_, name)args; \ >> - \ >> - coreaudio_buf_unlock(core, "coreaudio_" #name); \ >> - return ret; \ >> +#define COREAUDIO_WRAPPER_FUNC(name, ret_type, args_decl, args) \ >> + static ret_type glue(coreaudio_, name)args_decl \ >> + { \ >> + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; \ >> + ret_type ret; \ >> + \ >> + if (coreaudio_voice_out_buf_lock(core, "coreaudio_" #name)) { \ >> + return 0; \ >> + } \ >> + \ >> + ret = glue(audio_generic_, name)args; \ >> + \ >> + coreaudio_voice_out_buf_unlock(core, "coreaudio_" #name); \ >> + return ret; \ > > That doesn't really belong into this patch, but OK. > >> } >> COREAUDIO_WRAPPER_FUNC(buffer_get_free, size_t, (HWVoiceOut *hw), (hw)) >> COREAUDIO_WRAPPER_FUNC(get_buffer_out, void *, (HWVoiceOut *hw, size_t *size), >> @@ -297,7 +299,7 @@ static ret_type glue(coreaudio_, name)args_decl \ >> * callback to feed audiooutput buffer. called without BQL. >> * allowed to lock "buf_mutex", but disallowed to have any other locks. >> */ >> -static OSStatus audioDeviceIOProc( >> +static OSStatus out_device_ioproc( >> AudioDeviceID inDevice, >> const AudioTimeStamp *inNow, >> const AudioBufferList *inInputData, >> @@ -306,33 +308,33 @@ static OSStatus audioDeviceIOProc( >> const AudioTimeStamp *inOutputTime, >> void *hwptr) >> { >> - UInt32 frameCount, pending_frames; >> + UInt32 frame_size, pending_frames; >> void *out = outOutputData->mBuffers[0].mData; >> HWVoiceOut *hw = hwptr; >> - coreaudioVoiceOut *core = hwptr; >> + CoreaudioVoiceOut *core = hwptr; >> size_t len; >> >> - if (coreaudio_buf_lock(core, "audioDeviceIOProc")) { >> + if (coreaudio_voice_out_buf_lock(core, "out_device_ioproc")) { >> inInputTime = 0; >> return 0; >> } >> >> - if (inDevice != core->outputDeviceID) { >> - coreaudio_buf_unlock(core, "audioDeviceIOProc(old device)"); >> + if (inDevice != core->device_id) { >> + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(old device)"); >> return 0; >> } >> >> - frameCount = core->audioDevicePropertyBufferFrameSize; >> + frame_size = core->device_frame_size; >> pending_frames = hw->pending_emul / hw->info.bytes_per_frame; >> >> /* if there are not enough samples, set signal and return */ >> - if (pending_frames < frameCount) { >> + if (pending_frames < frame_size) { >> inInputTime = 0; >> - coreaudio_buf_unlock(core, "audioDeviceIOProc(empty)"); >> + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc(empty)"); >> return 0; >> } >> >> - len = frameCount * hw->info.bytes_per_frame; >> + len = frame_size * hw->info.bytes_per_frame; >> while (len) { >> size_t write_len, start; >> >> @@ -348,16 +350,16 @@ static OSStatus audioDeviceIOProc( >> out += write_len; >> } >> >> - coreaudio_buf_unlock(core, "audioDeviceIOProc"); >> + coreaudio_voice_out_buf_unlock(core, "out_device_ioproc"); >> return 0; >> } >> >> -static OSStatus init_out_device(coreaudioVoiceOut *core) >> +static OSStatus init_out_device(CoreaudioVoiceOut *core) >> { >> OSStatus status; >> - AudioValueRange frameRange; >> + AudioValueRange framerange; >> >> - AudioStreamBasicDescription streamBasicDescription = { >> + AudioStreamBasicDescription stream_basic_description = { >> .mBitsPerChannel = core->hw.info.bits, >> .mBytesPerFrame = core->hw.info.bytes_per_frame, >> .mBytesPerPacket = core->hw.info.bytes_per_frame, >> @@ -368,20 +370,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) >> .mSampleRate = core->hw.info.freq >> }; >> >> - status = coreaudio_get_voice(&core->outputDeviceID); >> + status = coreaudio_get_voice_out(&core->device_id); > > As can be seen here, I still think "*out*_device_id" is useful for review > purposes. Except of that: > > Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com> If we want to clarify it is for the output, "core" should be renamed to "core_out" or something like that so that we can see all members that belongs to that struct is for the output. But I also like that the current name is concise. It is like the "this" in C++; so I think keeping such a frequently-used local variable short makes sense. Regards, Akihiko Odaki > > /Christian > >> if (status != kAudioHardwareNoError) { >> coreaudio_playback_logerr(status, >> "Could not get default output Device\n"); >> return status; >> } >> - if (core->outputDeviceID == kAudioDeviceUnknown) { >> + if (core->device_id == kAudioDeviceUnknown) { >> dolog("Could not initialize playback - Unknown Audiodevice\n"); >> return status; >> } >> >> /* get minimum and maximum buffer frame sizes */ >> - status = coreaudio_get_framesizerange(core->outputDeviceID, >> - &frameRange); >> + status = coreaudio_get_out_framesizerange(core->device_id, >> + &framerange); >> if (status == kAudioHardwareBadObjectError) { >> return 0; >> } >> @@ -391,32 +393,32 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) >> return status; >> } >> >> - if (frameRange.mMinimum > core->frameSizeSetting) { >> - core->audioDevicePropertyBufferFrameSize = frameRange.mMinimum; >> - dolog("warning: Upsizing Buffer Frames to %f\n", frameRange.mMinimum); >> - } else if (frameRange.mMaximum < core->frameSizeSetting) { >> - core->audioDevicePropertyBufferFrameSize = frameRange.mMaximum; >> - dolog("warning: Downsizing Buffer Frames to %f\n", frameRange.mMaximum); >> + if (framerange.mMinimum > core->frame_size_setting) { >> + core->device_frame_size = framerange.mMinimum; >> + dolog("warning: Upsizing Buffer Frames to %f\n", framerange.mMinimum); >> + } else if (framerange.mMaximum < core->frame_size_setting) { >> + core->device_frame_size = framerange.mMaximum; >> + dolog("warning: Downsizing Buffer Frames to %f\n", framerange.mMaximum); >> } else { >> - core->audioDevicePropertyBufferFrameSize = core->frameSizeSetting; >> + core->device_frame_size = core->frame_size_setting; >> } >> >> /* set Buffer Frame Size */ >> - status = coreaudio_set_framesize(core->outputDeviceID, >> - &core->audioDevicePropertyBufferFrameSize); >> + status = coreaudio_set_out_framesize(core->device_id, >> + &core->device_frame_size); >> if (status == kAudioHardwareBadObjectError) { >> return 0; >> } >> if (status != kAudioHardwareNoError) { >> coreaudio_playback_logerr(status, >> "Could not set device buffer frame size %" PRIu32 "\n", >> - (uint32_t)core->audioDevicePropertyBufferFrameSize); >> + (uint32_t)core->device_frame_size); >> return status; >> } >> >> /* get Buffer Frame Size */ >> - status = coreaudio_get_framesize(core->outputDeviceID, >> - &core->audioDevicePropertyBufferFrameSize); >> + status = coreaudio_get_out_framesize(core->device_id, >> + &core->device_frame_size); >> if (status == kAudioHardwareBadObjectError) { >> return 0; >> } >> @@ -425,19 +427,19 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) >> "Could not get device buffer frame size\n"); >> return status; >> } >> - core->hw.samples = core->bufferCount * core->audioDevicePropertyBufferFrameSize; >> + core->hw.samples = core->buffer_count * core->device_frame_size; >> >> /* set Samplerate */ >> - status = coreaudio_set_streamformat(core->outputDeviceID, >> - &streamBasicDescription); >> + status = coreaudio_set_out_streamformat(core->device_id, >> + &stream_basic_description); >> if (status == kAudioHardwareBadObjectError) { >> return 0; >> } >> if (status != kAudioHardwareNoError) { >> coreaudio_playback_logerr(status, >> "Could not set samplerate %lf\n", >> - streamBasicDescription.mSampleRate); >> - core->outputDeviceID = kAudioDeviceUnknown; >> + stream_basic_description.mSampleRate); >> + core->device_id = kAudioDeviceUnknown; >> return status; >> } >> >> @@ -452,8 +454,8 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) >> * with the callers of AudioObjectGetPropertyData. >> */ >> core->ioprocid = NULL; >> - status = AudioDeviceCreateIOProcID(core->outputDeviceID, >> - audioDeviceIOProc, >> + status = AudioDeviceCreateIOProcID(core->device_id, >> + out_device_ioproc, >> &core->hw, >> &core->ioprocid); >> if (status == kAudioHardwareBadDeviceError) { >> @@ -461,20 +463,20 @@ static OSStatus init_out_device(coreaudioVoiceOut *core) >> } >> if (status != kAudioHardwareNoError || core->ioprocid == NULL) { >> coreaudio_playback_logerr(status, "Could not set IOProc\n"); >> - core->outputDeviceID = kAudioDeviceUnknown; >> + core->device_id = kAudioDeviceUnknown; >> return status; >> } >> >> return 0; >> } >> >> -static void fini_out_device(coreaudioVoiceOut *core) >> +static void fini_out_device(CoreaudioVoiceOut *core) >> { >> OSStatus status; >> UInt32 isrunning; >> >> /* stop playback */ >> - status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning); >> + status = coreaudio_get_out_isrunning(core->device_id, &isrunning); >> if (status != kAudioHardwareBadObjectError) { >> if (status != kAudioHardwareNoError) { >> coreaudio_logerr(status, >> @@ -482,7 +484,7 @@ static void fini_out_device(coreaudioVoiceOut *core) >> } >> >> if (isrunning) { >> - status = AudioDeviceStop(core->outputDeviceID, core->ioprocid); >> + status = AudioDeviceStop(core->device_id, core->ioprocid); >> if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { >> coreaudio_logerr(status, "Could not stop playback\n"); >> } >> @@ -490,20 +492,20 @@ static void fini_out_device(coreaudioVoiceOut *core) >> } >> >> /* remove callback */ >> - status = AudioDeviceDestroyIOProcID(core->outputDeviceID, >> + status = AudioDeviceDestroyIOProcID(core->device_id, >> core->ioprocid); >> if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { >> coreaudio_logerr(status, "Could not remove IOProc\n"); >> } >> - core->outputDeviceID = kAudioDeviceUnknown; >> + core->device_id = kAudioDeviceUnknown; >> } >> >> -static void update_device_playback_state(coreaudioVoiceOut *core) >> +static void update_out_device_playback_state(CoreaudioVoiceOut *core) >> { >> OSStatus status; >> UInt32 isrunning; >> >> - status = coreaudio_get_isrunning(core->outputDeviceID, &isrunning); >> + status = coreaudio_get_out_isrunning(core->device_id, &isrunning); >> if (status != kAudioHardwareNoError) { >> if (status != kAudioHardwareBadObjectError) { >> coreaudio_logerr(status, >> @@ -516,7 +518,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core) >> if (core->enabled) { >> /* start playback */ >> if (!isrunning) { >> - status = AudioDeviceStart(core->outputDeviceID, core->ioprocid); >> + status = AudioDeviceStart(core->device_id, core->ioprocid); >> if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { >> coreaudio_logerr(status, "Could not resume playback\n"); >> } >> @@ -524,7 +526,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core) >> } else { >> /* stop playback */ >> if (isrunning) { >> - status = AudioDeviceStop(core->outputDeviceID, >> + status = AudioDeviceStop(core->device_id, >> core->ioprocid); >> if (status != kAudioHardwareBadDeviceError && status != kAudioHardwareNoError) { >> coreaudio_logerr(status, "Could not pause playback\n"); >> @@ -534,22 +536,22 @@ static void update_device_playback_state(coreaudioVoiceOut *core) >> } >> >> /* called without BQL. */ >> -static OSStatus handle_voice_change( >> +static OSStatus handle_voice_out_change( >> AudioObjectID in_object_id, >> UInt32 in_number_addresses, >> const AudioObjectPropertyAddress *in_addresses, >> void *in_client_data) >> { >> - coreaudioVoiceOut *core = in_client_data; >> + CoreaudioVoiceOut *core = in_client_data; >> >> bql_lock(); >> >> - if (core->outputDeviceID) { >> + if (core->device_id) { >> fini_out_device(core); >> } >> >> if (!init_out_device(core)) { >> - update_device_playback_state(core); >> + update_out_device_playback_state(core); >> } >> >> bql_unlock(); >> @@ -560,7 +562,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, >> void *drv_opaque) >> { >> OSStatus status; >> - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; >> + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; >> int err; >> Audiodev *dev = drv_opaque; >> AudiodevCoreaudioPerDirectionOptions *cpdo = dev->u.coreaudio.out; >> @@ -578,13 +580,14 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, >> as->fmt = AUDIO_FORMAT_F32; >> audio_pcm_init_info(&hw->info, as); >> >> - core->frameSizeSetting = audio_buffer_frames( >> + core->frame_size_setting = audio_buffer_frames( >> qapi_AudiodevCoreaudioPerDirectionOptions_base(cpdo), as, 11610); >> >> - core->bufferCount = cpdo->has_buffer_count ? cpdo->buffer_count : 4; >> + core->buffer_count = cpdo->has_buffer_count ? cpdo->buffer_count : 4; >> >> status = AudioObjectAddPropertyListener(kAudioObjectSystemObject, >> - &voice_addr, handle_voice_change, >> + &voice_out_addr, >> + handle_voice_out_change, >> core); >> if (status != kAudioHardwareNoError) { >> coreaudio_playback_logerr(status, >> @@ -594,8 +597,8 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, >> >> if (init_out_device(core)) { >> status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject, >> - &voice_addr, >> - handle_voice_change, >> + &voice_out_addr, >> + handle_voice_out_change, >> core); >> if (status != kAudioHardwareNoError) { >> coreaudio_playback_logerr(status, >> @@ -612,11 +615,11 @@ static void coreaudio_fini_out (HWVoiceOut *hw) >> { >> OSStatus status; >> int err; >> - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; >> + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; >> >> status = AudioObjectRemovePropertyListener(kAudioObjectSystemObject, >> - &voice_addr, >> - handle_voice_change, >> + &voice_out_addr, >> + handle_voice_out_change, >> core); >> if (status != kAudioHardwareNoError) { >> coreaudio_logerr(status, "Could not remove voice property change listener\n"); >> @@ -633,10 +636,10 @@ static void coreaudio_fini_out (HWVoiceOut *hw) >> >> static void coreaudio_enable_out(HWVoiceOut *hw, bool enable) >> { >> - coreaudioVoiceOut *core = (coreaudioVoiceOut *)hw; >> + CoreaudioVoiceOut *core = (CoreaudioVoiceOut *)hw; >> >> core->enabled = enable; >> - update_device_playback_state(core); >> + update_out_device_playback_state(core); >> } >> >> static void *coreaudio_audio_init(Audiodev *dev, Error **errp) >> @@ -670,7 +673,7 @@ static void coreaudio_audio_fini(void *opaque) >> .pcm_ops = &coreaudio_pcm_ops, >> .max_voices_out = 1, >> .max_voices_in = 0, >> - .voice_size_out = sizeof(coreaudioVoiceOut), >> + .voice_size_out = sizeof(CoreaudioVoiceOut), >> .voice_size_in = 0 >> }; >> >> >> > >
© 2016 - 2025 Red Hat, Inc.