pods::...ioSpec(3pm)
okay so welcome to pods::...ioSpec(3pm) β that's the page name β straight outta User Contributed Perl Documentation, and bestie we are about to make SDL audio specs make sense πβ¨
πΈ NAME πΈ
SDL::AudioSpec β SDL Bindings for structure SDL::AudioSpec
π CATEGORY π
Core, Audio, Structure β yes bestie, it's core audio structure energy π
β¨ SYNOPSIS β¨
use SDL;
use SDL::AudioSpec;
SDL::init(SDL_INIT_AUDIO);
my $audio_spec = SDL::AudioSpec->new();
$audio_spec->freq(22050); # 22050Hz - FM Radio quality
$audio_spec->format(AUDIO_S16SYS); # 16-bit signed audio
$audio_spec->samples(8192); # Large audio buffer reduces risk of dropouts but increases response time
$audio_spec->channels(1); # Mono
$audio_spec->callback('main::callback');
sub callback
{
# do something here
}
π¦ DESCRIPTION π¦
The SDL::AudioSpec structure is used to describe the format of some audio data. This structure is used by SDL::Audio::open_audio and SDL::Audio::load_wav.
While all fields are used by SDL::Audio::open_audio, only freq, format, samples and channels are used by SDL::Audio::load_wav. We will detail these common members here β and yes, we're getting into them right now, no cap π«Ά
π§ METHODS π§
okay methods time, grab your iced coffee and let's go π
freq
The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better.
format
Specifies the size and type of each sample element. Values it can take are:
AUDIO_U8β Unsigned 8-bit samples.AUDIO_S8β Signed 8-bit samples.AUDIO_U16orAUDIO_U16LSBβ not supported by all hardware (unsigned 16-bit little-endian)AUDIO_S16orAUDIO_S16LSBβ not supported by all hardware (signed 16-bit little-endian)AUDIO_U16MSBβ not supported by all hardware (unsigned 16-bit big-endian)AUDIO_S16MSBβ not supported by all hardware (signed 16-bit big-endian)AUDIO_U16SYSβ EitherAUDIO_U16LSBorAUDIO_U16MSBdepending on hardware CPU endiannessAUDIO_S16SYSβ EitherAUDIO_S16LSBorAUDIO_S16MSBdepending on hardware CPU endianness
channels
The number of separate sound channels. 1 is mono (single channel), 2 is stereo (dual channel).
samples
When used with SDL::Audio::open_audio this refers to the size of the audio buffer in samples. A sample is a chunk of audio data of the size specified in format multiplied by the number of channels. When the SDL::AudioSpec is used with SDL::Audio::load_wav samples is set to 4096.
callback
This one is literally: To be documented.
π AUTHORS π
See AUTHORS in SDL.
signing off with the footer tea: perl v5.42.3, dated 2026-08-19, for pods::...ioSpec(3pm) β periodt π
π«Ά
π¦ where this page comes from
- ubuntu stonking: libsdl-perl 2.548-6build1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms