#include "media/capture/video/video_capture_buffer_tracker_factory_impl.h"
#include <memory>
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "media/capture/video/shared_memory_buffer_tracker.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "media/capture/video/chromeos/gpu_memory_buffer_tracker_cros.h"
#elif BUILDFLAG(IS_APPLE)
#include "media/capture/video/apple/gpu_memory_buffer_tracker_apple.h"
#elif BUILDFLAG(IS_LINUX)
#include "media/capture/video/linux/v4l2_gpu_memory_buffer_tracker.h"
#elif BUILDFLAG(IS_WIN)
#include "media/capture/video/win/gpu_memory_buffer_tracker_win.h"
#endif
namespace media {
VideoCaptureBufferTrackerFactoryImpl::VideoCaptureBufferTrackerFactoryImpl() { … }
#if BUILDFLAG(IS_WIN)
VideoCaptureBufferTrackerFactoryImpl::VideoCaptureBufferTrackerFactoryImpl(
scoped_refptr<DXGIDeviceManager> dxgi_device_manager)
: dxgi_device_manager_(std::move(dxgi_device_manager)) {}
#endif
VideoCaptureBufferTrackerFactoryImpl::~VideoCaptureBufferTrackerFactoryImpl() =
default;
std::unique_ptr<VideoCaptureBufferTracker>
VideoCaptureBufferTrackerFactoryImpl::CreateTracker(
VideoCaptureBufferType buffer_type) { … }
std::unique_ptr<VideoCaptureBufferTracker>
VideoCaptureBufferTrackerFactoryImpl::CreateTrackerForExternalGpuMemoryBuffer(
gfx::GpuMemoryBufferHandle handle) { … }
}