Make sound asset language optional.
[libdcp.git] / src / sound_asset_writer.cc
index 205a45ab2f9c2eb25e8d62dcad1795ff73fb5598..0d7d20744b0f1c961f6ab8633d8032511bdaa6bf 100644 (file)
@@ -127,7 +127,9 @@ SoundAssetWriter::start ()
 
                auto soundfield = new ASDCP::MXF::SoundfieldGroupLabelSubDescriptor(asdcp_smpte_dict);
                GenRandomValue (soundfield->MCALinkID);
-               soundfield->RFC5646SpokenLanguage = _asset->language();
+               if (auto lang = _asset->language()) {
+                       soundfield->RFC5646SpokenLanguage = *lang;
+               }
 
                const MCASoundField field = _asset->channels() > 10 ? MCASoundField::SEVEN_POINT_ONE : MCASoundField::FIVE_POINT_ONE;
 
@@ -162,7 +164,9 @@ SoundAssetWriter::start ()
                        channel->MCAChannelID = i + 1;
                        channel->MCATagSymbol = "ch" + channel_to_mca_id(dcp_channel, field);
                        channel->MCATagName = channel_to_mca_name(dcp_channel, field);
-                       channel->RFC5646SpokenLanguage = _asset->language();
+                       if (auto lang = _asset->language()) {
+                               channel->RFC5646SpokenLanguage = *lang;
+                       }
                        channel->MCALabelDictionaryID = channel_to_mca_universal_label(dcp_channel, field, asdcp_smpte_dict);
                        _state->mxf_writer.OP1aHeader().AddChildObject(channel);
                        essence_descriptor->SubDescriptors.push_back(channel->InstanceUID);