X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmixer.cpp;h=464b92008b946729c4bf4f3756e1c54ac26662f6;hb=0490c42536a845dd6d718a7c58cfb3e3ab02b1ab;hp=aac421126b904642ff38f131252faf50727f2be7;hpb=e01e8253288b3b706b22ea0c788c2c8f50bfac2e;p=nageru diff --git a/nageru/mixer.cpp b/nageru/mixer.cpp index aac4211..464b920 100644 --- a/nageru/mixer.cpp +++ b/nageru/mixer.cpp @@ -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 converted_samples = convert_audio_to_fixed32(audio_frame.data + audio_offset, num_samples, audio_format, 2); lock_guard 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 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.