// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_GPU_VAAPI_TEST_FAKE_LIBVA_DRIVER_FAKE_CONTEXT_H_ #define MEDIA_GPU_VAAPI_TEST_FAKE_LIBVA_DRIVER_FAKE_CONTEXT_H_ #include <va/va.h> #include <vector> #include "base/memory/raw_ptr.h" #include "base/memory/raw_ref.h" namespace media::internal { class ContextDelegate; class FakeSurface; class FakeBuffer; class FakeConfig; // Class used for tracking a VAContext and all information relevant to it. // All objects of this class are immutable, but three of the methods must be // synchronized externally: BeginPicture(), RenderPicture(), and EndPicture(). // The other methods are thread-safe and may be called concurrently with any of // those three methods. class FakeContext { … }; } // namespace media::internal #endif // MEDIA_GPU_VAAPI_TEST_FAKE_LIBVA_DRIVER_FAKE_CONTEXT_H_