]> git.sesse.net Git - nageru/blobdiff - nageru/mixer.cpp
Nomenclature cleanups around channels, signals and cards.
[nageru] / nageru / mixer.cpp
index aac421126b904642ff38f131252faf50727f2be7..464b92008b946729c4bf4f3756e1c54ac26662f6 100644 (file)
@@ -801,7 +801,8 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode,
                //
                // Only bother doing MJPEG encoding if there are any connected clients
                // that want the stream.
-               if (httpd.get_num_connected_multicam_clients() > 0) {
+               if (httpd.get_num_connected_multicam_clients() > 0 ||
+                   httpd.get_num_connected_siphon_clients(card_index) > 0) {
                        vector<int32_t> converted_samples = convert_audio_to_fixed32(audio_frame.data + audio_offset, num_samples, audio_format, 2);
                        lock_guard<mutex> lock(card_mutex);
                        if (card->new_raw_audio.empty()) {
@@ -1076,7 +1077,7 @@ void Mixer::thread_func()
                        master_card_index = output_card_index;
                } else {
                        master_card_is_output = false;
-                       master_card_index = theme->map_signal(master_clock_channel);
+                       master_card_index = theme->map_signal_to_card(master_clock_channel);
                        assert(master_card_index < num_cards + num_video_inputs);
                }
 
@@ -1237,11 +1238,11 @@ void Mixer::trim_queue(CaptureCard *card, size_t safe_queue_length)
 pair<string, string> Mixer::get_channels_json()
 {
        Channels ret;
-       for (int channel_idx = 2; channel_idx < theme->get_num_channels(); ++channel_idx) {
+       for (int channel_idx = 0; channel_idx < theme->get_num_channels(); ++channel_idx) {
                Channel *channel = ret.add_channel();
-               channel->set_index(channel_idx);
-               channel->set_name(theme->get_channel_name(channel_idx));
-               channel->set_color(theme->get_channel_color(channel_idx));
+               channel->set_index(channel_idx + 2);
+               channel->set_name(theme->get_channel_name(channel_idx + 2));
+               channel->set_color(theme->get_channel_color(channel_idx + 2));
        }
        string contents;
        google::protobuf::util::MessageToJsonString(ret, &contents);  // Ignore any errors.