AUMAKEELEMENTEXPORTCLIENT(3x)
π AuMakeElementExportClient π
okay bestie, welcome to the Library Functions Manual β yes we're in AuMakeElem...xportClient(3) territory and honestly? it's giving foundational. this is the function that sets up an ExportClient element for you, no cap. let's get into it π«Ά
β¨ NAME β¨
AuMakeElementExportClient β initialize an ExportClient element
like. that's the whole job. it initializes. it's iconic for that. π
πΈ SYNOPSIS πΈ
#include <audio/audiolib.h>
AuMakeElementExportClient(element, input, sample_rate, format,
num_tracks, discard, max_samples, high_water_mark, num_actions, actions)
AuElement *element; /* RETURN */
unsigned short input;
unsigned short sample_rate;
unsigned char format;
unsigned char num_tracks;
unsigned char discard;
AuUint32 max_samples;
AuUint32 high_water_mark;
int num_actions;
AuElementAction *actions;
look at that parameter list. it's long. it's serving. we're gonna go through every single one, don't worry, i would never leave you hanging π
π ARGUMENTS π
elementβ this one's the RETURN value, bestie. it hands you back the initialized element. it's the whole point. the main character, fr fr.inputβ the index of the element that's supplying audio data to this element. like, who's feeding us? that'sinput. π₯sample_rateβ the sample rate of the audio data. yeah. exactly what it sounds like.formatβ the format of the audio data. and listen, currently these are the formats that are defined, and i am listing every single one because we don't skip:AuFormatULAW8,AuFormatLinearUnsigned8,AuFormatLinearSigned8,AuFormatLinearSigned16MSB,AuFormatLinearUnsigned16MSB,AuFormatSignedLinear16LSB, andAuFormatLinearUnsigned16LSB. that's the roster. πnum_tracksβ how many tracks are in the audio data. count 'em.discardβ specifies if the flow should pause initially. normally it'sAuTrue. so like, the default vibe is "pause at first", iykyk.max_samplesβ the maximum number of samples to send to the client in a single write. π«Ά important caveat though: this is Ignored for "trivial" flows. so if your flow is trivial, this does absolutely nothing. don't come for me, that's what the page says.high_water_markβ this is when to tell the client application to read the audio data from the server. specifically: when this number of samples is reached in the buffer, anElementNotifyevent with kind set toAuElementNotifyKindHighWatergets sent to the client application. so it's the "hey bestie, come get your data" threshold. πnum_actionsβ the number of actions inactions. just the count.actionsβ the list of actions to associate with this element. entries in this list can be initialized withAuMakeChangeStateAction,AuMakeSendNotifyAction, andAuMakeNoopAction. also β it May beNULL. so if you got no actions, that's fine, passNULL, live your truth. π
π¦ DESCRIPTION π¦
so what does AuMakeElementExportClient actually do? it sets the type member of element to AuElementTypeExportClient, and then it initializes the exportclient member of element with the remaining arguments. that's it. that's the whole thing. clean, simple, slays. β¨
and here's a little detail that lowkey matters: AuMakeElementExportClient is implemented as a macro. not a function. a macro. so keep that in mind, it's not doing any fancy function-call business, it's a macro, periodt. π
π SEE ALSO π
go read these next, they're all part of the family:
AuElementNotifyEventAuMakeElementAddConstantAuMakeElementBundleAuMakeElementExportBucketAuMakeElementExportDeviceAuMakeElementExportMonitorAuMakeElementImportBucketAuMakeElementImportClientAuMakeElementImportDeviceAuMakeElementImportWaveFormAuMakeElementMultiplyConstantAuMakeElementSum
and also:
audiolibβ Network Audio System C Language Interface
okay that's the whole page, bestie!! π§ this was audiolib β element initialization, version 1.9.5, dated AuMakeElem...xportClient(3), and honestly? reading manpages is self care. go initialize something. mwah πππ¦
π¦ where this page comes from
- fedora 43: nas-devel 1.9.5-11.fc41 Β· MIT
- fedora 43: nas-devel 1.9.5-11.fc41 Β· MIT
- fedora 43: nas-devel 1.9.5-14.fc43 Β· MIT
- fedora 43: nas-devel 1.9.5-14.fc43 Β· MIT
- fedora 44: nas-devel 1.9.5-15.fc44 Β· MIT
- fedora 44: nas-devel 1.9.5-15.fc44 Β· MIT
- copyright 1994 Steven King
- Copyright 1993 Network Computing Devices, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms