strmbase: Get rid of the QualityControlImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f6f1983be8
commit
a881a730b0
|
@ -27,10 +27,10 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(strmbase_qc);
|
WINE_DEFAULT_DEBUG_CHANNEL(strmbase_qc);
|
||||||
|
|
||||||
HRESULT QualityControlImpl_Create(struct strmbase_pin *pin, QualityControlImpl **ppv)
|
HRESULT QualityControlImpl_Create(struct strmbase_pin *pin, struct strmbase_qc **ppv)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This;
|
struct strmbase_qc *This;
|
||||||
*ppv = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(QualityControlImpl));
|
*ppv = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(struct strmbase_qc));
|
||||||
if (!*ppv)
|
if (!*ppv)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
This = *ppv;
|
This = *ppv;
|
||||||
|
@ -41,37 +41,37 @@ HRESULT QualityControlImpl_Create(struct strmbase_pin *pin, QualityControlImpl *
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QualityControlImpl_Destroy(QualityControlImpl *This)
|
void QualityControlImpl_Destroy(struct strmbase_qc *This)
|
||||||
{
|
{
|
||||||
HeapFree(GetProcessHeap(),0,This);
|
HeapFree(GetProcessHeap(),0,This);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline QualityControlImpl *impl_from_IQualityControl(IQualityControl *iface)
|
static inline struct strmbase_qc *impl_from_IQualityControl(IQualityControl *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, QualityControlImpl, IQualityControl_iface);
|
return CONTAINING_RECORD(iface, struct strmbase_qc, IQualityControl_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv)
|
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This = impl_from_IQualityControl(iface);
|
struct strmbase_qc *This = impl_from_IQualityControl(iface);
|
||||||
return IBaseFilter_QueryInterface(&This->pin->filter->IBaseFilter_iface, riid, ppv);
|
return IBaseFilter_QueryInterface(&This->pin->filter->IBaseFilter_iface, riid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface)
|
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This = impl_from_IQualityControl(iface);
|
struct strmbase_qc *This = impl_from_IQualityControl(iface);
|
||||||
return IBaseFilter_AddRef(&This->pin->filter->IBaseFilter_iface);
|
return IBaseFilter_AddRef(&This->pin->filter->IBaseFilter_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface)
|
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This = impl_from_IQualityControl(iface);
|
struct strmbase_qc *This = impl_from_IQualityControl(iface);
|
||||||
return IBaseFilter_Release(&This->pin->filter->IBaseFilter_iface);
|
return IBaseFilter_Release(&This->pin->filter->IBaseFilter_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm)
|
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This = impl_from_IQualityControl(iface);
|
struct strmbase_qc *This = impl_from_IQualityControl(iface);
|
||||||
HRESULT hr = S_FALSE;
|
HRESULT hr = S_FALSE;
|
||||||
|
|
||||||
TRACE("iface %p, sender %p, type %#x, proportion %u, late %s, timestamp %s.\n",
|
TRACE("iface %p, sender %p, type %#x, proportion %u, late %s, timestamp %s.\n",
|
||||||
|
@ -96,7 +96,7 @@ HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *se
|
||||||
|
|
||||||
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify)
|
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify)
|
||||||
{
|
{
|
||||||
QualityControlImpl *This = impl_from_IQualityControl(iface);
|
struct strmbase_qc *This = impl_from_IQualityControl(iface);
|
||||||
TRACE("%p %p\n", This, tonotify);
|
TRACE("%p %p\n", This, tonotify);
|
||||||
This->tonotify = tonotify;
|
This->tonotify = tonotify;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
@ -114,7 +114,7 @@ HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityContro
|
||||||
#define UPDATE_RUNNING_AVG_P(avg,val) DO_RUNNING_AVG(avg,val,16)
|
#define UPDATE_RUNNING_AVG_P(avg,val) DO_RUNNING_AVG(avg,val,16)
|
||||||
#define UPDATE_RUNNING_AVG_N(avg,val) DO_RUNNING_AVG(avg,val,4)
|
#define UPDATE_RUNNING_AVG_N(avg,val) DO_RUNNING_AVG(avg,val,4)
|
||||||
|
|
||||||
void QualityControlRender_Start(QualityControlImpl *This, REFERENCE_TIME tStart)
|
void QualityControlRender_Start(struct strmbase_qc *This, REFERENCE_TIME tStart)
|
||||||
{
|
{
|
||||||
This->avg_render = This->last_in_time = This->last_left = This->avg_duration = This->avg_pt = -1;
|
This->avg_render = This->last_in_time = This->last_left = This->avg_duration = This->avg_pt = -1;
|
||||||
This->clockstart = tStart;
|
This->clockstart = tStart;
|
||||||
|
@ -124,7 +124,7 @@ void QualityControlRender_Start(QualityControlImpl *This, REFERENCE_TIME tStart)
|
||||||
This->qos_handled = TRUE; /* Lie that will be corrected on first adjustment */
|
This->qos_handled = TRUE; /* Lie that will be corrected on first adjustment */
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL QualityControlRender_IsLate(QualityControlImpl *This, REFERENCE_TIME jitter,
|
static BOOL QualityControlRender_IsLate(struct strmbase_qc *This, REFERENCE_TIME jitter,
|
||||||
REFERENCE_TIME start, REFERENCE_TIME stop)
|
REFERENCE_TIME start, REFERENCE_TIME stop)
|
||||||
{
|
{
|
||||||
REFERENCE_TIME max_lateness = 200000;
|
REFERENCE_TIME max_lateness = 200000;
|
||||||
|
@ -153,7 +153,7 @@ static BOOL QualityControlRender_IsLate(QualityControlImpl *This, REFERENCE_TIME
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QualityControlRender_DoQOS(QualityControlImpl *priv)
|
void QualityControlRender_DoQOS(struct strmbase_qc *priv)
|
||||||
{
|
{
|
||||||
REFERENCE_TIME start, stop, jitter, pt, entered, left, duration;
|
REFERENCE_TIME start, stop, jitter, pt, entered, left, duration;
|
||||||
double rate;
|
double rate;
|
||||||
|
@ -266,7 +266,7 @@ void QualityControlRender_DoQOS(QualityControlImpl *priv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void QualityControlRender_BeginRender(QualityControlImpl *This, REFERENCE_TIME start, REFERENCE_TIME stop)
|
void QualityControlRender_BeginRender(struct strmbase_qc *This, REFERENCE_TIME start, REFERENCE_TIME stop)
|
||||||
{
|
{
|
||||||
This->start = -1;
|
This->start = -1;
|
||||||
|
|
||||||
|
@ -299,7 +299,7 @@ void QualityControlRender_BeginRender(QualityControlImpl *This, REFERENCE_TIME s
|
||||||
TRACE("Starting at %s.\n", debugstr_time(This->start));
|
TRACE("Starting at %s.\n", debugstr_time(This->start));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QualityControlRender_EndRender(QualityControlImpl *This)
|
void QualityControlRender_EndRender(struct strmbase_qc *This)
|
||||||
{
|
{
|
||||||
REFERENCE_TIME elapsed;
|
REFERENCE_TIME elapsed;
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,8 @@ static inline const char *debugstr_time(REFERENCE_TIME time)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quality Control */
|
/* Quality Control */
|
||||||
typedef struct QualityControlImpl {
|
struct strmbase_qc
|
||||||
|
{
|
||||||
IQualityControl IQualityControl_iface;
|
IQualityControl IQualityControl_iface;
|
||||||
struct strmbase_pin *pin;
|
struct strmbase_pin *pin;
|
||||||
IQualityControl *tonotify;
|
IQualityControl *tonotify;
|
||||||
|
@ -65,20 +66,20 @@ typedef struct QualityControlImpl {
|
||||||
double avg_rate;
|
double avg_rate;
|
||||||
LONG64 rendered, dropped;
|
LONG64 rendered, dropped;
|
||||||
BOOL qos_handled, is_dropped;
|
BOOL qos_handled, is_dropped;
|
||||||
} QualityControlImpl;
|
};
|
||||||
|
|
||||||
HRESULT QualityControlImpl_Create(struct strmbase_pin *pin, QualityControlImpl **out);
|
HRESULT QualityControlImpl_Create(struct strmbase_pin *pin, struct strmbase_qc **out);
|
||||||
void QualityControlImpl_Destroy(QualityControlImpl *This);
|
void QualityControlImpl_Destroy(struct strmbase_qc *qc);
|
||||||
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv);
|
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv);
|
||||||
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface);
|
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface);
|
||||||
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface);
|
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface);
|
||||||
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm);
|
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm);
|
||||||
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify);
|
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify);
|
||||||
|
|
||||||
void QualityControlRender_Start(QualityControlImpl *This, REFERENCE_TIME tStart);
|
void QualityControlRender_Start(struct strmbase_qc *This, REFERENCE_TIME tStart);
|
||||||
void QualityControlRender_DoQOS(QualityControlImpl *priv);
|
void QualityControlRender_DoQOS(struct strmbase_qc *priv);
|
||||||
void QualityControlRender_BeginRender(QualityControlImpl *This, REFERENCE_TIME start, REFERENCE_TIME stop);
|
void QualityControlRender_BeginRender(struct strmbase_qc *This, REFERENCE_TIME start, REFERENCE_TIME stop);
|
||||||
void QualityControlRender_EndRender(QualityControlImpl *This);
|
void QualityControlRender_EndRender(struct strmbase_qc *This);
|
||||||
|
|
||||||
void strmbase_passthrough_update_time(struct strmbase_passthrough *passthrough, REFERENCE_TIME time);
|
void strmbase_passthrough_update_time(struct strmbase_passthrough *passthrough, REFERENCE_TIME time);
|
||||||
void strmbase_passthrough_invalidate_time(struct strmbase_passthrough *passthrough);
|
void strmbase_passthrough_invalidate_time(struct strmbase_passthrough *passthrough);
|
||||||
|
|
|
@ -291,7 +291,7 @@ struct strmbase_renderer
|
||||||
REFERENCE_TIME stream_start;
|
REFERENCE_TIME stream_start;
|
||||||
|
|
||||||
IQualityControl *pQSink;
|
IQualityControl *pQSink;
|
||||||
struct QualityControlImpl *qcimpl;
|
struct strmbase_qc *qcimpl;
|
||||||
|
|
||||||
const struct strmbase_renderer_ops *pFuncsTable;
|
const struct strmbase_renderer_ops *pFuncsTable;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue