summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-01-15 21:15:16 +0100
committerCarl Hetherington <cth@carlh.net>2023-01-23 23:58:56 +0100
commit338302bb147396c7956cf658f68c574f56c74fa8 (patch)
tree1c558d377979d0b0c9572460c7d2aa0db065703f
parentd1ed2647b9ed99571a33fc40ab2372cb7999bef0 (diff)
Add support for 20 as a MainSoundConfiguration.v1.8.53
-rw-r--r--src/types.cc19
-rw-r--r--src/types.h1
2 files changed, 17 insertions, 3 deletions
diff --git a/src/types.cc b/src/types.cc
index 15a05f79..9b1aca31 100644
--- a/src/types.cc
+++ b/src/types.cc
@@ -477,7 +477,12 @@ MainSoundConfiguration::MainSoundConfiguration (string s)
throw MainSoundConfigurationError (s);
}
- if (parts[0] == "51") {
+ if (parts[0] == "20") {
+ /* I can't find any mention in the standard of 20 being OK here, but Deluxe fail
+ * QCs if the audio is stereo and 51 is used here.
+ */
+ _field = MCASoundField::STEREO;
+ } else if (parts[0] == "51") {
_field = MCASoundField::FIVE_POINT_ONE;
} else if (parts[0] == "71") {
_field = MCASoundField::SEVEN_POINT_ONE;
@@ -513,10 +518,18 @@ string
MainSoundConfiguration::to_string () const
{
string c;
- if (_field == MCASoundField::FIVE_POINT_ONE) {
+ switch (_field) {
+ case MCASoundField::STEREO:
+ c = "20/";
+ break;
+ case MCASoundField::FIVE_POINT_ONE:
c = "51/";
- } else {
+ break;
+ case MCASoundField::SEVEN_POINT_ONE:
c = "71/";
+ break;
+ default:
+ DCP_ASSERT(false);
}
for (auto i: _channels) {
diff --git a/src/types.h b/src/types.h
index a60193a4..7e0ae9a9 100644
--- a/src/types.h
+++ b/src/types.h
@@ -118,6 +118,7 @@ std::vector<dcp::Channel> used_audio_channels ();
enum class MCASoundField
{
+ STEREO,
FIVE_POINT_ONE,
SEVEN_POINT_ONE
};