+struct hb_audio_config_s
+{
+ /* Output */
+ struct
+ {
+ int track; /* Output track number */
+ uint32_t codec; /* Output audio codec.
+ * HB_ACODEC_AC3 means pass-through, then bitrate and samplerate
+ * are ignored.
+ */
+ int samplerate; /* Output sample rate (Hz) */
+ int bitrate; /* Output bitrate (kbps) */
+ int mixdown; /* The mixdown format to be used for this audio track (see HB_AMIXDOWN_*) */
+ double dynamic_range_compression; /* Amount of DRC that gets applied to this track */
+ char * name; /* Output track name */
+ } out;
+
+ /* Input */
+ struct
+ {
+ int track; /* Input track number */
+ PRIVATE uint32_t codec; /* Input audio codec */
+ PRIVATE uint32_t codec_param; /* per-codec config info */
+ PRIVATE uint32_t version; /* Bitsream version */
+ PRIVATE uint32_t mode; /* Bitstream mode, codec dependent encoding */
+ PRIVATE int samplerate; /* Input sample rate (Hz) */
+ PRIVATE int bitrate; /* Input bitrate (kbps) */
+ PRIVATE int channel_layout;
+ /* channel_layout is the channel layout of this audio this is used to
+ * provide a common way of describing the source audio
+ */
+ } in;
+
+ /* Misc. */
+ union
+ {
+ PRIVATE int ac3; /* flags.ac3 is only set when the source audio format is HB_ACODEC_AC3 */
+ PRIVATE int dca; /* flags.dca is only set when the source audio format is HB_ACODEC_DCA */
+ } flags;
+#define AUDIO_F_DOLBY (1 << 31) /* set if source uses Dolby Surround */
+
+ struct
+ {
+ PRIVATE char description[1024];
+ PRIVATE char simple[1024];
+ PRIVATE char iso639_2[4];
+ PRIVATE uint8_t type; /* normal, visually impared, directors */
+ } lang;
+};