Nikolay Sivov (@nsivov) commented about dlls/mf/tests/mf.c:
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
IMFSample_Release(first_sample);
nonthin_sample_desc.sample_time += first_sample_time;
for (UINT i = 0; i < 3; i++)
thin_sample_desc[i].sample_time += first_sample_time;
- }
- /* test thinned */
- thin_sample_desc[1].todo_time = TRUE;
- thin_sample_desc[2].todo_time = TRUE;
- grab_samples_from_start(session, callback, grabber_callback, 3);
- check_mf_sample_collection(grabber_callback->samples, thin_sample_desc, L"rgb32-3frames.bmp");
This is again too complicated and potentially unrelated. Source is responsible for acting on a thinning request, whatever samples it produces after makes no difference to pipeline logic, comparing to a regular playback.
What we need to test is that SetRate(thin=true) propagates to sources, and that MESessionRateChanged is raised accordingly.