IQualProp Interface


This interface is exposed by renderers, typically a video renderer, to return information about the performance achieved — for example, the number of frames per second (fps). The values returned through the interface are reset each time the filter is stopped. The base classes of the Microsoft® DirectShow™ Software Development Kit (SDK) have a standard property page that displays the information available from this interface.

When to Implement

The IQualProp interface is implemented by the DirectShow video renderer. Other video renderers might want to implement this interface as well, although it is optional.

When to Use

Applications use this interface to retrieve video renderer performance information.

Methods in Vtable Order
IUnknown methods Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IQualProp methods Description
get_AvgFrameRate Retrieves the average frame rate achieved.
get_AvgSyncOffset Retrieves the average time difference between when a frame was due for rendering and when rendering actually began (this is returned as a value in milliseconds).
get_DevSyncOffset Retrieves the average time difference between when a frame was due for rendering and when rendering actually began (this is returned as a standard deviation).
get_FramesDrawn Retrieves the number of frames drawn since streaming started.
get_FramesDroppedInRenderer Retrieves the number of frames dropped by the renderer.
get_Jitter Expresses the average time between successive frames delivered to the video renderer.


IQualProp::get_AvgFrameRate

IQualProp Interface

Retrieves the average frame rate since streaming started.

HRESULT get_AvgFrameRate(
  int *piAvgFrameRate
  ) PURE;

Parameters
piAvgFrameRate
Number of frames per second (fps) since the streaming began.
Return Values

Returns an HRESULT value.


IQualProp::get_AvgSyncOffset

IQualProp Interface

Retrieves the average time difference between when the video frames should have been displayed and when they actually were.

HRESULT get_AvgSyncOffset(
  int *piAvg
  );

Parameters
piAvg
Time difference expressed in milliseconds.
Return Values

Returns an HRESULT value.


IQualProp::get_DevSyncOffset

IQualProp Interface

Retrieves the average time difference between when the video frames should have been displayed and when they actually were. This method is the same as the IQualProp::get_AvgSyncOffset method except that the value returned is calculated as a standard deviation rather than as a simple average.

HRESULT get_DevSyncOffset(
  int *piDev
  );

Parameters
piDev
Value denoting the accuracy of the video frames displayed.
Return Values

Returns an HRESULT value.

Remarks

When playing video from networks, the presentation can often be disrupted by network glitches. For this reason, expressing the accuracy of video frames by a simple average is inappropriate. Looking at a standard deviation provides a better idea of the overall accuracy.


IQualProp::get_FramesDrawn

IQualProp Interface

Retrieves the number of frames drawn since streaming started.

HRESULT get_FramesDrawn(
  int *pcFramesDrawn
  );

Parameters
pcFramesDrawn
Number of frames drawn since streaming started.
Return Values

Returns an HRESULT value.


IQualProp::get_FramesDroppedInRenderer

IQualProp Interface

Retrieves the number of frames dropped by the renderer.

HRESULT get_FramesDroppedInRenderer(
  int *pcFrames
  );

Parameters
pcFrames
Number of frames dropped by the renderer.
Return Values

Returns an HRESULT value.

Remarks

The property page uses this method to retrieve data from the renderer.


IQualProp::get_Jitter

IQualProp Interface

Expresses the average time between successive frames delivered to the video renderer.

HRESULT get_Jitter(
  int *piJitter
  );

Parameters
piJitter
Standard deviation, in milliseconds, of the interframe time.
Return Values

Returns an HRESULT value.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.