#include "camera_control.h"

#ifdef _WIN32
#include "windows/directshow_control.h"
#elif __linux__
#include "linux/v4l2_control.h"
#elif __APPLE__
#include "macos/avfoundation_control.h"
#endif

CameraControl* CameraControl::createInstance() {
#ifdef _WIN32
    return new DirectShowControl();
#elif __linux__
    return new V4L2Control();
#elif __APPLE__
    return new AVFoundationControl();
#else
    return nullptr;
#endif
}