Rémi Bernon (@rbernon) commented about dlls/mfsrcsnk/media_source.c:
IMFSample *sample; UINT i, index; HRESULT hr; + BOOL thin = source->thin;
if (source->state != SOURCE_RUNNING) return S_OK;
- if (FAILED(hr = demuxer_read_sample(source->winedmo_demuxer, &index, &sample)) && hr != MF_E_END_OF_STREAM) + /* emulate latency */ + if (thin != source->prev_thin) { - WARN("Failed to read stream %u data, hr %#lx\n", index, hr); - return hr; + source->prev_thin = thin;
What "latency" is this supposed to emulate? Are we sure it's how it is done? Shouldn't rather the rate / thinning changes be source commands to be serialized with the sample requests instead? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8505#note_121674