chromium/media/mojo/services/mojo_video_encode_accelerator_provider_factory.h

// 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_MOJO_SERVICES_MOJO_VIDEO_ENCODE_ACCELERATOR_PROVIDER_FACTORY_H_
#define MEDIA_MOJO_SERVICES_MOJO_VIDEO_ENCODE_ACCELERATOR_PROVIDER_FACTORY_H_

#include "base/sequence_checker.h"
#include "media/mojo/mojom/video_encode_accelerator.mojom.h"
#include "media/mojo/services/media_mojo_export.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/unique_receiver_set.h"

namespace media {

// This class implements mojom::VideoEncodeAcceleratorProviderFactory and lives
// in a utility process. This class houses a UniqueReceiverSet of
// mojom::VideoEncodeAcceleratorProviders so that each utility process can have
// multiple encoder providers.
class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorProviderFactory
    : public mojom::VideoEncodeAcceleratorProviderFactory {};

}  // namespace media

#endif  // MEDIA_MOJO_SERVICES_MOJO_VIDEO_ENCODE_ACCELERATOR_PROVIDER_FACTORY_H_