+struct audio_input_pad
+{
+ boost::rational<int> time_base;
+ int sample_rate;
+ AVSampleFormat sample_fmt;
+ std::int64_t audio_channel_layout;
+
+ audio_input_pad(
+ boost::rational<int> time_base,
+ int sample_rate,
+ AVSampleFormat sample_fmt,
+ std::int64_t audio_channel_layout)
+ : time_base(std::move(time_base))
+ , sample_rate(sample_rate)
+ , sample_fmt(sample_fmt)
+ , audio_channel_layout(audio_channel_layout)
+ {
+ }
+};
+
+struct audio_output_pad
+{
+ std::vector<int> sample_rates;
+ std::vector<AVSampleFormat> sample_fmts;
+ std::vector<std::int64_t> audio_channel_layouts;
+
+ audio_output_pad(
+ std::vector<int> sample_rates,
+ std::vector<AVSampleFormat> sample_fmts,
+ std::vector<std::int64_t> audio_channel_layouts)
+ : sample_rates(std::move(sample_rates))
+ , sample_fmts(std::move(sample_fmts))
+ , audio_channel_layouts(std::move(audio_channel_layouts))
+ {
+ }
+};
+