Nikolay Sivov (@nsivov) commented about dlls/mf/session.c:
if (sample_entry->sample){if ((hr = IMFTransform_ProcessInput(topo_node->object.transform, stream_id,sample_entry->sample, 0)) == MF_E_NOTACCEPTING)break;if (FAILED(hr))WARN("Failed to process input for stream %u/%lu, hr %#lx.\n", i, stream_id, hr);transform_release_sample(sample_entry);}else{transform_stream_drop_samples(stream);drain = TRUE;}}}
What does this have to go? Are samples supposed to be lost if downstream transform does not accept them?