+/** Audio format dependent information. */
+struct afh_info {
+ /** The number of chunks this audio file contains. */
+ long unsigned chunks_total;
+ /** The length of the audio file in seconds. */
+ long unsigned seconds_total;
+ /** Audio handler specific info about the file. */
+ char *techinfo;
+ /** Id3 tags, vorbis comments, aac tags. */
+ struct taginfo tags;
+ /**
+ * The table that specifies the offset of the individual pieces in
+ * the current audio file.
+ */
+ uint32_t *chunk_table;
+ /** Period of time between sending data chunks. */
+ struct timeval chunk_tv;
+ /**
+ * 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;
+};