]> git.sesse.net Git - nageru/blobdiff - mixer.cpp
Fix an issue where an ALSA card that was dead on boot could not be plugged in.
[nageru] / mixer.cpp
index 23658103e222d94383525e20f07911573c451e4d..5cee30005faee349e8023396b9cd5f98d5072316 100644 (file)
--- a/mixer.cpp
+++ b/mixer.cpp
@@ -1018,7 +1018,7 @@ void Mixer::thread_func()
                } else {
                        master_card_is_output = false;
                        master_card_index = theme->map_signal(master_clock_channel);
-                       assert(master_card_index < num_cards);
+                       assert(master_card_index < num_cards + num_video_inputs);
                }
 
                OutputFrameInfo output_frame_info = get_one_frame_from_each_card(master_card_index, master_card_is_output, new_frames, has_new_frame);
@@ -1587,6 +1587,17 @@ map<uint32_t, VideoMode> Mixer::get_available_output_video_modes() const
        return cards[desired_output_card_index].output->get_available_video_modes();
 }
 
+string Mixer::get_ffmpeg_filename(unsigned card_index) const
+{
+       assert(card_index >= num_cards && card_index < num_cards + num_video_inputs);
+       return ((FFmpegCapture *)(cards[card_index].capture.get()))->get_filename();
+}
+
+void Mixer::set_ffmpeg_filename(unsigned card_index, const string &filename) {
+       assert(card_index >= num_cards && card_index < num_cards + num_video_inputs);
+       ((FFmpegCapture *)(cards[card_index].capture.get()))->change_filename(filename);
+}
+
 Mixer::OutputChannel::~OutputChannel()
 {
        if (has_current_frame) {