On 5/7/21 11:56 AM, Giovanni Mascellani wrote:
static HRESULT WINAPI media_source_rate_control_SetRate(IMFRateControl *iface, BOOL thin, float rate) {
struct media_source *source = impl_from_IMFRateControl(iface);
PROPVARIANT pv;
FIXME("%p, %d, %f.\n", iface, thin, rate);
if (rate < 0.0f) return MF_E_REVERSE_UNSUPPORTED;
if (rate > 1e6)
return MF_E_UNSUPPORTED_RATE;
- if (thin)
return MF_E_THINNING_UNSUPPORTED;
- source->rate = rate;
- source->thinning = thin;
- if (rate != 1.0f)
return MF_E_UNSUPPORTED_RATE;
pv.vt = VT_R4;
pv.fltVal = rate;
IMFMediaEventQueue_QueueEventParamVar(source->event_queue, MESourceRateChanged, &GUID_NULL, S_OK, &pv);
return S_OK;
}
Does it send MESourceRateChanged even when rate hasn't changed?