diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-01-05 15:32:10 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-01-05 15:32:10 +0000 |
| commit | 3ec4338ce90ea0549409312f24f8b28c07a5d2da (patch) | |
| tree | 09aaaff66dd860abbeacc20793145e1a27f4defd /asdcplib/src/Wav.h | |
| parent | 342aad2ddf893aaaafa9a2c9980579d2dc4ec125 (diff) | |
asdcplib 2.5.11
Diffstat (limited to 'asdcplib/src/Wav.h')
| -rwxr-xr-x | asdcplib/src/Wav.h | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/asdcplib/src/Wav.h b/asdcplib/src/Wav.h index 09ee48a9..f1d82572 100755 --- a/asdcplib/src/Wav.h +++ b/asdcplib/src/Wav.h @@ -25,7 +25,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file Wav.h - \version $Id: Wav.h,v 1.5 2009/04/09 19:24:14 msheby Exp $ + \version $Id: Wav.h,v 1.8 2015/04/21 03:55:31 jhurst Exp $ \brief Wave file common elements */ @@ -89,8 +89,8 @@ namespace ASDCP const fourcc FCC_fmt_("fmt "); const fourcc FCC_data("data"); - const ui16_t WAVE_FORMAT_PCM = 1; - const ui16_t WAVE_FORMAT_EXTENSIBLE = 65534; + const ui16_t ASDCP_WAVE_FORMAT_PCM = 1; + const ui16_t ASDCP_WAVE_FORMAT_EXTENSIBLE = 65534; // class SimpleWaveHeader @@ -118,6 +118,46 @@ namespace ASDCP }; } // namespace Wav + + namespace RF64 + { + const fourcc FCC_RF64("RF64"); + const fourcc FCC_ds64("ds64"); + + + static const ui32_t MAX_RIFF_LEN = 0xFFFFFFFF; + static const ui32_t DS64_HEADER_LEN = 28; + static const ui32_t SIMPLE_RF64_HEADER_LEN = 82; + // + class SimpleRF64Header + { + public: + ui16_t format; + ui16_t nchannels; + ui32_t samplespersec; + ui32_t avgbps; + ui16_t blockalign; + ui16_t bitspersample; + ui16_t cbsize; + ui64_t data_len; + + SimpleRF64Header() : + format(0), nchannels(0), samplespersec(0), avgbps(0), + blockalign(0), bitspersample(0), cbsize(0), data_len(0) {} + + SimpleRF64Header(ASDCP::PCM::AudioDescriptor& ADesc); + + Result_t ReadFromBuffer(const byte_t* buf, ui32_t buf_len, ui32_t* data_start); + Result_t ReadFromFile(const Kumu::FileReader& InFile, ui32_t* data_start); + Result_t WriteToFile(Kumu::FileWriter& OutFile) const; + void FillADesc(ASDCP::PCM::AudioDescriptor& ADesc, Rational PictureRate) const; + + private: + static const ui64_t SAMPLE_COUNT = 0; + static const ui32_t TABLE_LEN = 0; + }; + + } // namespace RF64 } // namespace ASDCP #endif // _WAV_H_ |
