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-15 21:15:16 +0100
commit9e21471d452b05073d6bb7729f86365a2647cc94 (patch)
treef2be9504eb670b4bcd5bf163061be0f8ada1daab
parent7b6965584cd81ee0406901d84b769946483a85b6 (diff)
Add support for 20 as a MainSoundConfiguration.2419-main-sound-configuration
-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
};