static HRESULT WINAPI Gstreamer_transform_QOS(TransformFilter *iface, IBaseFilter *sender, Quality qm) { GstTfImpl *This = (GstTfImpl*)iface; REFERENCE_TIME late = qm.Late; if (qm.Late < 0 && -qm.Late > qm.TimeStamp) late = -qm.TimeStamp; gst_pad_push_event(This->my_sink, gst_event_new_qos(1000. / qm.Proportion, late * 100, qm.TimeStamp * 100)); return QualityControlImpl_Notify((IQualityControl*)&iface->qcimpl, sender, qm); }
HRESULT WINAPI TransformFilter_QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm) { QualityControlImpl *qc = (QualityControlImpl*)iface; TransformFilter *This = (TransformFilter *)qc->self; if (This->pFuncsTable->pfnNotify) return This->pFuncsTable->pfnNotify(This, sender, qm); else return QualityControlImpl_Notify(iface, sender, qm); }
HRESULT WINAPI TransformFilterImpl_Notify(TransformFilter *iface, IBaseFilter *sender, Quality qm) { return QualityControlImpl_Notify((IQualityControl*)iface->qcimpl, sender, qm); }