+
+vector<string> AudioMixer::get_names() const
+{
+ vector<string> names;
+ for (unsigned card_index = 0; card_index < num_cards; ++card_index) {
+ const CaptureCard *card = &cards[card_index];
+ unique_lock<mutex> lock(card->audio_mutex);
+ names.push_back(card->name);
+ }
+ return names;
+}
+
+void AudioMixer::set_name(unsigned card_index, const string &name)
+{
+ CaptureCard *card = &cards[card_index];
+ unique_lock<mutex> lock(card->audio_mutex);
+ card->name = name;
+}
+
+void AudioMixer::set_input_mapping(const InputMapping &input_mapping)
+{
+ lock_guard<mutex> lock(mapping_mutex);
+ this->input_mapping = input_mapping;
+}
+
+InputMapping AudioMixer::get_input_mapping() const
+{
+ lock_guard<mutex> lock(mapping_mutex);
+ return input_mapping;
+}