]> git.sesse.net Git - casparcg/blob - server/producers/ffmpeg/audio/audio_decoder.h
1.8.1:
[casparcg] / server / producers / ffmpeg / audio / audio_decoder.h
1 #pragma once\r
2 \r
3 #include "../packet.h"\r
4 \r
5 #include <boost/noncopyable.hpp>\r
6 \r
7 namespace caspar{ namespace ffmpeg      {\r
8 \r
9 class audio_decoder : boost::noncopyable\r
10 {\r
11 public:\r
12         audio_decoder();\r
13         audio_packet_ptr execute(const audio_packet_ptr& audio_packet);\r
14         \r
15         /// <summary> The alignment </summary>\r
16         /// <remarks> Four sec of 16 bit stereo 48kHz should be enough </remarks>\r
17         static const int ALIGNMENT = 16 ;\r
18 \r
19         /// <summary> Size of the audio decomp buffer </summary>\r
20         static const int AUDIO_DECOMP_BUFFER_SIZE = 4*48000*4+ALIGNMENT;\r
21 private:\r
22         struct implementation;\r
23         std::shared_ptr<implementation> impl_;\r
24 };\r
25 typedef std::shared_ptr<audio_decoder> audio_decoder_ptr;\r
26 typedef std::unique_ptr<audio_decoder> audio_decoder_uptr;\r
27 \r
28 }}