diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-01-15 21:15:16 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-01-15 21:15:16 +0100 |
| commit | 9e21471d452b05073d6bb7729f86365a2647cc94 (patch) | |
| tree | f2be9504eb670b4bcd5bf163061be0f8ada1daab | |
| parent | 7b6965584cd81ee0406901d84b769946483a85b6 (diff) | |
Add support for 20 as a MainSoundConfiguration.2419-main-sound-configuration
| -rw-r--r-- | src/types.cc | 19 | ||||
| -rw-r--r-- | src/types.h | 1 |
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 }; |
