Closed lxllsl closed 10 months ago
If a certain module (MODULE) requires multiple input streams (such as OVERLAY) to function normally, and only some of these input streams have data, is it implied that the module must consider the incomplete data and carry out local caching and splicing processing when handling (TASK)?
Yes. By default, the answer is yes. The default input mode for the BMF module is "immediate," which corresponds to the ImmediateInputStreamManager you mentioned. In the case of multiple inputs, there is no guarantee that each input will have packet data on every process call. There is another inputmanager type called FramesyncInputStreamManager, which ensures that each input has packets. It may perform frame dropping or frame interpolation operations based on the timestamp of frame.
If a certain module (MODULE) requires multiple input streams (such as OVERLAY) to function normally, and only some of these input streams have data, is it implied that the module must consider the incomplete data and carry out local caching and splicing processing when handling (TASK)? Otherwise, there will be incomplete input data, leading to processing failure.
bool ImmediateInputStreamManager::fill_task_input(Task &task) { bool task_filled = false; for (auto & input_stream : inputstreams) {