X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmixer.cpp;h=c6f126fc6682ef78fa23757205a4ceaff0a36526;hb=c9f0f678e20f095885b08ee2c55e356ba777b197;hp=1c64c985e1e719a09402f8392d487755f1ff2d92;hpb=47e3e5c8b00e3971a2fbd34de81463772278ce69;p=nageru diff --git a/nageru/mixer.cpp b/nageru/mixer.cpp index 1c64c98..c6f126f 100644 --- a/nageru/mixer.cpp +++ b/nageru/mixer.cpp @@ -1489,6 +1489,10 @@ start: return !cards[master_card_index].new_frames.empty() || cards[master_card_index].capture->get_disconnected(); }); + if (timed_out) { + fprintf(stderr, "WARNING: Master card (%s) did not deliver a frame for 100 ms, creating a fake one.\n", + description_for_card(master_card_index).c_str()); + } } if (timed_out) { @@ -1572,6 +1576,14 @@ start: fractional_samples = num_samples_times_timebase % TIMEBASE; assert(output_frame_info.num_samples >= 0); + if (timed_out) { + DeviceSpec device{InputSourceType::CAPTURE_CARD, master_card_index}; + bool success; + do { + success = audio_mixer->add_silence(device, output_frame_info.num_samples, /*dropped_frames=*/0); + } while (!success); + } + return output_frame_info; }