]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/producer/audio/audio_resampler.h
bc03bcb22712a5e50140dc02297dee26eb6b21d6
[casparcg] / modules / ffmpeg / producer / audio / audio_resampler.h
1 #pragma once\r
2 \r
3 #include <memory>\r
4 \r
5 #include <libavutil/samplefmt.h>\r
6 \r
7 namespace caspar {\r
8 \r
9 class audio_resampler\r
10 {\r
11 public:\r
12         audio_resampler(size_t                  output_channels,                size_t                  input_channels, \r
13                                         size_t                  output_sample_rate,             size_t                  input_sample_rate, \r
14                                         AVSampleFormat  output_sample_format,   AVSampleFormat  input_sample_format);\r
15         \r
16         std::vector<int8_t, tbb::cache_aligned_allocator<int8_t>> resample(std::vector<int8_t, tbb::cache_aligned_allocator<int8_t>>&& data);\r
17 private:\r
18         struct implementation;\r
19         std::shared_ptr<implementation> impl_;\r
20 };\r
21 \r
22 }