On Mon, 2015-04-27 at 23:11 +0200, Mihai Moldovan wrote: > Signed-off-by: Mihai Moldovan <[email protected]> > --- > src/modules/macosx/module-coreaudio-detect.c | 23 > ++++++++++++++++++++--- > src/modules/macosx/module-coreaudio-device.c | 23 > ++++++++++++++++++++--- > 2 files changed, 40 insertions(+), 6 deletions(-) > > diff --git a/src/modules/macosx/module-coreaudio-detect.c > b/src/modules/macosx/module-coreaudio-detect.c > index d9c09da..a23aa2f 100644 > --- a/src/modules/macosx/module-coreaudio-detect.c > +++ b/src/modules/macosx/module-coreaudio-detect.c > @@ -39,10 +39,14 @@ PA_MODULE_AUTHOR("Daniel Mack"); > PA_MODULE_DESCRIPTION("CoreAudio device detection"); > PA_MODULE_VERSION(PACKAGE_VERSION); > PA_MODULE_LOAD_ONCE(true); > -PA_MODULE_USAGE("ioproc_frames=<passed on to module-coreaudio- > device> "); > +PA_MODULE_USAGE("ioproc_frames=<passed on to module-coreaudio- > device> " > + "record=<enable source?> " > + "playback=<enable sink?> "); > > static const char* const valid_modargs[] = { > "ioproc_frames", > + "record", > + "playback", > NULL > }; > > @@ -58,6 +62,8 @@ struct userdata { > int detect_fds[2]; > pa_io_event *detect_io; > unsigned int ioproc_frames; > + bool record; > + bool playback; > PA_LLIST_HEAD(ca_device, devices); > }; > > @@ -87,9 +93,9 @@ static int ca_device_added(struct pa_module *m, > AudioObjectID id) { > return 0; > > if (u->ioproc_frames) > - args = pa_sprintf_malloc("object_id=%d ioproc_frames=%d", > (int) id, u->ioproc_frames); > + args = pa_sprintf_malloc("object_id=%d ioproc_frames=%d > record=%d playback=%d", (int) id, u->ioproc_frames, (int) u->record, > (int) u->playback); > else > - args = pa_sprintf_malloc("object_id=%d", (int) id); > + args = pa_sprintf_malloc("object_id=%d record=%d > playback=%d", (int) id, (int) u->record, (int) u->playback); > > pa_log_debug("Loading %s with arguments '%s'", > DEVICE_MODULE_NAME, args); > mod = pa_module_load(m->core, DEVICE_MODULE_NAME, args); > @@ -212,6 +218,7 @@ int pa__init(pa_module *m) { > pa_modargs *ma; > > pa_assert(m); > + pa_assert(m->core); > > m->userdata = u; > > @@ -220,6 +227,16 @@ int pa__init(pa_module *m) { > goto fail; > } > > + if (pa_modargs_get_value_boolean(ma, "record", &u->record) < 0 > || pa_modargs_get_value_boolean(ma, "playback", &u->playback) < 0) { > + pa_log("record= and playback= expect boolean argument."); > + goto fail; > + } > + > + if (!u->playback && !u->record) { > + pa_log("neither playback nor record enabled for device."); > + goto fail; > + } > + >
Sorry about the super late review. Shouldn't u->record and u->playback be true by default? -- Arun _______________________________________________ pulseaudio-discuss mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
