+static bool
+set_mca_descriptor_properties(CommandOptions& Options)
+{
+ MXF::InterchangeObject_list_t::iterator i;
+ for ( i = Options.mca_config.begin(); i != Options.mca_config.end(); ++i )
+ {
+ MXF::AudioChannelLabelSubDescriptor * desc = dynamic_cast<MXF::AudioChannelLabelSubDescriptor*>(*i);
+ if ( desc != 0 )
+ {
+ // for not only setting channels in any soundfield group
+ if ( desc->SoundfieldGroupLinkID.get().HasValue() )
+ {
+ if ( ! Options.mca_audio_content_kind.empty() )
+ {
+ desc->MCAAudioContentKind = Options.mca_audio_content_kind;
+ }
+ if ( ! Options.mca_audio_element_kind.empty() )
+ {
+ desc->MCAAudioElementKind = Options.mca_audio_element_kind;
+ }
+ }
+ }
+ }
+
+ return true;
+}
+