summaryrefslogtreecommitdiff
path: root/src/types.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-09-06 20:10:13 +0200
committerCarl Hetherington <cth@carlh.net>2020-09-21 21:57:18 +0200
commitcdc8bc6a7da0b4f8c3dbfcf560fea61473cf1ca3 (patch)
tree6f6fc0c6b7897e6d3bd48fcc27e0e5eb08fc92b9 /src/types.h
parent445f2495fbb0885132d3a6c8e7a1e135cbac3cce (diff)
Support MCA sound channel tags in MXF/CPL.
Diffstat (limited to 'src/types.h')
-rw-r--r--src/types.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/types.h b/src/types.h
index 9a4b3e13..ed0b7b84 100644
--- a/src/types.h
+++ b/src/types.h
@@ -39,6 +39,7 @@
#define LIBDCP_TYPES_H
#include <libcxml/cxml.h>
+#include <asdcp/KLV.h>
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
#include <string>
@@ -98,6 +99,20 @@ enum Channel {
CHANNEL_COUNT = 16
};
+
+enum MCASoundField
+{
+ FIVE_POINT_ONE,
+ SEVEN_POINT_ONE
+};
+
+
+extern std::string channel_to_mca_id (Channel c, MCASoundField field);
+extern Channel mca_id_to_channel (std::string);
+extern std::string channel_to_mca_name (Channel c, MCASoundField field);
+extern ASDCP::UL channel_to_mca_universal_label (Channel c, MCASoundField field, ASDCP::Dictionary const* dict);
+
+
enum ContentKind
{
FEATURE,
@@ -402,15 +417,10 @@ bool operator== (Luminance const& a, Luminance const& b);
class MainSoundConfiguration
{
public:
- enum Field {
- FIVE_POINT_ONE,
- SEVEN_POINT_ONE,
- };
-
MainSoundConfiguration (std::string);
- MainSoundConfiguration (Field field_, int channels);
+ MainSoundConfiguration (MCASoundField field_, int channels);
- Field field () const {
+ MCASoundField field () const {
return _field;
}
@@ -424,7 +434,7 @@ public:
std::string to_string () const;
private:
- Field _field;
+ MCASoundField _field;
std::vector<boost::optional<Channel> > _channels;
};