#ifndef MEDIA_GPU_VAAPI_TEST_SCOPED_VA_CONTEXT_H_
#define MEDIA_GPU_VAAPI_TEST_SCOPED_VA_CONTEXT_H_
#include <va/va.h>
#include "base/memory/raw_ref.h"
#include "ui/gfx/geometry/size.h"
namespace media {
namespace vaapi_test {
class ScopedVAConfig;
class VaapiDevice;
class ScopedVAContext {
public:
ScopedVAContext(const VaapiDevice& device,
const ScopedVAConfig& config,
const gfx::Size& size);
ScopedVAContext(const ScopedVAContext&) = delete;
ScopedVAContext& operator=(const ScopedVAContext&) = delete;
~ScopedVAContext();
VAContextID id() const { return context_id_; }
const gfx::Size& size() const { return size_; }
private:
const raw_ref<const VaapiDevice> device_;
const raw_ref<const ScopedVAConfig> config_;
VAContextID context_id_;
const gfx::Size size_;
};
}
}
#endif