use std::rc::Rc;
-use anyhow::Result;
-
use crate::bindings;
use crate::display::Display;
-use crate::status::Status;
+use crate::status::*;
use crate::UsageHint;
/// An owned VA surface that is tied to the lifetime of a particular VADisplay
height: u32,
usage_hint: Option<UsageHint>,
num_surfaces: u32,
- ) -> Result<Vec<Self>> {
+ ) -> VAResult<Vec<Self>> {
let mut attrs = vec![];
if let Some(usage_hint) = usage_hint {
// Safe because `self` represents a valid VADisplay. The `surface` and `attrs` vectors are
// properly initialized and valid sizes are passed to the C function, so it is impossible to
// write past the end of their storage by mistake.
- Status(unsafe {
+ (unsafe {
bindings::vaCreateSurfaces(
display.handle(),
rt_format,
/// Blocks until all pending operations on the render target have been completed. Upon return it
/// is safe to use the render target for a different picture.
- pub fn sync(&self) -> Result<()> {
+ pub fn sync(&self) -> VAResult<()> {
// Safe because `self` represents a valid VASurface.
- Status(unsafe { bindings::vaSyncSurface(self.display.handle(), self.id) }).check()
+ (unsafe { bindings::vaSyncSurface(self.display.handle(), self.id) }).check()
}
/// Convenience function to return a VASurfaceID vector. Useful to interface with the C API
}
/// Wrapper over `vaQuerySurfaceStatus` to find out any pending ops on the render target.
- pub fn query_status(&self) -> Result<bindings::VASurfaceStatus::Type> {
+ pub fn query_status(&self) -> VAResult<bindings::VASurfaceStatus::Type> {
let mut status: bindings::VASurfaceStatus::Type = 0;
// Safe because `self` represents a valid VASurface.
- Status(unsafe {
+ (unsafe {
bindings::vaQuerySurfaceStatus(self.display.handle(), self.id, &mut status)
})
.check()?;