STRUCT SOF_IPC4_AVAILABLE_AUDIO_FORMAT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is the struct sof_i...audio_format(9) page from the Kernel API Manual, and it's literally all about struct sof_ipc4_available_audio_format β€” the little struct that holds all the Available audio formats. yes bestie, that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

here's the shape of it, exactly as it lives, no cap:

struct sof_ipc4_available_audio_format {
    struct sof_ipc4_pin_format *output_pin_fmts;
    struct sof_ipc4_pin_format *input_pin_fmts;
    u32 num_input_formats;
    u32 num_output_formats;
    u32 changed_params;
 };

like… it's giving "small struct, big responsibilities" honestly πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • output_pin_fmts β€” pointer to the Available output pin formats. the out-loud ones πŸ’…
  • input_pin_fmts β€” pointer to the Available input pin formats. the ones that listen 🫢
  • num_input_formats β€” the Number of input pin formats. yes it's a count, yes you need it, yes it's doing its job ✨
  • num_output_formats β€” the Number of output pin formats. the matching count for the out side, obsessed 😭
  • changed_params β€” a Mask of changed params by the module instance between it's input and output formts β€” specifically rate, channels, and depth. like, the receipts of what got tweaked going from in to out πŸ”₯
kween behaviour: those two counters belong to those two pointer families, so don't go mixing them up, i'm begging πŸ™ˆ

🌈 SEE ALSO 🌈

the whole friend group lives in the kernel file ./sound/soc/sof/ipc4-topology.h, and here's the full squad, in order, no one left out:

struct sof_ipc4_pipeline(9), struct ipc4_pipeline_set_state_data(9), struct sof_ipc4_pin_format(9), struct sof_copier_gateway_cfg(9), struct sof_ipc4_copier_data(9), struct sof_ipc4_gtw_attributes(9), struct sof_ipc4_dma_device_stream_ch_map(9), struct sof_ipc4_dma_stream_ch_map(9), struct sof_ipc4_dma_config(9), struct sof_ipc4_dma_config_tlv(9), struct sof_ipc4_copier(9), struct sof_ipc4_ctrl_value_chan(9), struct sof_ipc4_control_data(9), struct sof_ipc4_control_msg_payload(9), struct sof_ipc4_gain_params(9), struct sof_ipc4_gain_data(9), struct sof_ipc4_gain(9), struct sof_ipc4_mixer(9), struct sof_ipc4_src(9), struct sof_ipc4_asrc(9), struct sof_ipc4_base_module_cfg_ext(9), struct sof_ipc4_process(9)

go read them too, iykyk 🧚


that's the page!! it came from ./sound/soc/sof, dated October 2026, and it's filed under the title struct sof_i...audio_format(9) β€” mwah, periodt πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from