[PATCH 3/5] winegstreamer: Let the media source accept non-negative rates.

Nikolay Sivov nsivov at codeweavers.com
Fri May 7 04:26:03 CDT 2021



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?



More information about the wine-devel mailing list