+ * The header is needed by senders in case a new client connects in the
+ * middle of the stream. The length of the header defaults to zero
+ * which means that this audio format does not need any special header
+ * treatment. The audio format handler does not need to set this to
+ * zero in this case.
+ */
+ uint32_t header_len;
+ /** The number of channels. */
+ uint8_t channels;
+ /** Frequency in Hz. */
+ uint16_t frequency;
+ /** Exact meaning depends on audio format. */
+ uint16_t bitrate;
+};
+
+/**
+ * Structure for audio format handling.
+ *
+ * There's one such struct for each supported audio format. Initially, only \a
+ * name and \a init are defined. During the startup process, para_server calls
+ * the \a init function of each audio format handler which is expected to fill
+ * in the other part of this struct.
+ */
+struct audio_format_handler {
+ /** Name of the audio format. */
+ const char *name;
+ /**
+ * Pointer to the audio format handler's init function.