summaryrefslogtreecommitdiff
path: root/asdcplib/src/Wav.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-01-05 15:32:10 +0000
committerCarl Hetherington <cth@carlh.net>2016-01-05 15:32:10 +0000
commit3ec4338ce90ea0549409312f24f8b28c07a5d2da (patch)
tree09aaaff66dd860abbeacc20793145e1a27f4defd /asdcplib/src/Wav.h
parent342aad2ddf893aaaafa9a2c9980579d2dc4ec125 (diff)
asdcplib 2.5.11
Diffstat (limited to 'asdcplib/src/Wav.h')
-rwxr-xr-xasdcplib/src/Wav.h46
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_