#include "third_party/blink/renderer/modules/webcodecs/video_decoder_broker.h"
#include <memory>
#include <vector>
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/scoped_feature_list.h"
#include "base/threading/thread.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "gpu/command_buffer/common/mailbox_holder.h"
#include "media/base/decoder_buffer.h"
#include "media/base/decoder_status.h"
#include "media/base/media_switches.h"
#include "media/base/media_util.h"
#include "media/base/test_data_util.h"
#include "media/base/test_helpers.h"
#include "media/base/video_frame.h"
#include "media/filters/fake_video_decoder.h"
#include "media/mojo/buildflags.h"
#include "media/mojo/mojom/interface_factory.mojom.h"
#include "media/mojo/mojom/video_decoder.mojom.h"
#include "media/mojo/services/interface_factory_impl.h"
#include "media/mojo/services/mojo_cdm_service_context.h"
#include "media/mojo/services/mojo_video_decoder_service.h"
#include "media/video/mock_gpu_video_accelerator_factories.h"
#include "mojo/public/cpp/bindings/unique_receiver_set.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
_;
Invoke;
Return;
namespace blink {
namespace {
class FakeGpuVideoDecoder : public media::FakeVideoDecoder { … };
class FakeMojoMediaClient : public media::MojoMediaClient { … };
class FakeInterfaceFactory : public media::mojom::InterfaceFactory { … };
}
class VideoDecoderBrokerTest : public testing::Test { … };
TEST_F(VideoDecoderBrokerTest, Decode_Uninitialized) { … }
TEST_F(VideoDecoderBrokerTest, Decode_NoMojoDecoder) { … }
TEST_F(VideoDecoderBrokerTest, Init_RequireAcceleration) { … }
#if BUILDFLAG(ENABLE_MOJO_VIDEO_DECODER)
TEST_F(VideoDecoderBrokerTest, Init_DenyAcceleration) { … }
TEST_F(VideoDecoderBrokerTest, Decode_MultipleAccelerationPreferences) { … }
TEST_F(VideoDecoderBrokerTest, Decode_WithMojoDecoder) { … }
#endif
}