#include "content/gpu/gpu_service_factory.h"
#include <memory>
#include "base/no_destructor.h"
#include "base/task/single_thread_task_runner.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "gpu/command_buffer/service/shared_context_state.h"
#include "gpu/ipc/service/gpu_channel_manager.h"
#include "gpu/ipc/service/gpu_memory_buffer_factory.h"
#include "media/base/media_switches.h"
#include "media/gpu/ipc/service/media_gpu_channel_manager.h"
#include "media/media_buildflags.h"
#if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
#include "base/functional/bind.h"
#include "media/base/media_switches.h"
#include "media/mojo/services/gpu_mojo_media_client.h"
#include "media/mojo/services/media_service_factory.h"
#endif
namespace content {
GpuServiceFactory::GpuServiceFactory(
const gpu::GpuPreferences& gpu_preferences,
const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
const gpu::GpuFeatureInfo& gpu_feature_info,
const gpu::GPUInfo& gpu_info,
base::WeakPtr<media::MediaGpuChannelManager> media_gpu_channel_manager,
gpu::GpuMemoryBufferFactory* gpu_memory_buffer_factory,
media::AndroidOverlayMojoFactoryCB android_overlay_factory_cb) { … }
GpuServiceFactory::~GpuServiceFactory() { … }
void GpuServiceFactory::RunMediaService(
mojo::PendingReceiver<media::mojom::MediaService> receiver) { … }
}