![]() |
VDPAU does not mandate that implementations hide such pre-emptions from VDPAU client applications; doing so may impose extreme burdens upon VDPAU implementations. Equally, however, implementations are free to hide such pre-emptions from client applications.
VDPAU allows implementations to inform the client application when such a pre-emption has occured, and then refuse to continue further operation.
Similarly, some form of fatal hardware error could prevent further operation of the VDPAU implementation, without a complete re-initialization.
The following discusses the behaviour of implementations that choose not to hide pre-emption from client applications.
When pre-emption occurs, VDPAU internally destroys all objects; the client application need not do this. However, if the client application wishes to continue operation, it must recreate all objects that it uses. It is probable that this recreation will not succeed until the display ownership is restored to the Window System.
Once pre-emption has occured, all VDPAU entry points will return the specific error code VDP_STATUS_DISPLAY_PREEMPTED.
VDPAU client applications may also be notified of such pre-emptions and fatal errors via a callback. See VdpPreemptionCallbackRegister for more details.
Typedefs | |
typedef void | VdpPreemptionCallback (VdpDevice device, void *context) |
A callback to notify the client application that a device's display has been pre-empted. | |
typedef VdpStatus | VdpPreemptionCallbackRegister (VdpDevice device, VdpPreemptionCallback callback, void *context) |
Configure the display pre-emption callback. |
typedef void VdpPreemptionCallback(VdpDevice device, void *context) |
A callback to notify the client application that a device's display has been pre-empted.
[in] | device | The device that had its display preempted. |
[in] | context | The client-supplied callback context information. |
typedef VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context) |
Configure the display pre-emption callback.
[in] | device | The device to be monitored for pre-emption. |
[in] | callback | The client application's callback function. If NULL, the callback is unregistered. |
[in] | context | The client-supplied callback context information. This information will be passed to the callback function if/when invoked. |