Unable to set camera resolution with openDeviceAsync()

Hey there

I’m finding that the openDeviceAsync min/max Height and Width arguments have no bearing on the capture resolution.

On my SurfaceBook 3 (Windows 10), with the standard Windows Camera app I am able to capture up to 2560x1440. However, with the openDeviceAsync and device->takeStillPicture, no matter what I specify for min/max Height and Widths I only ever get 640x360.

Has anyone else seen this? I’ve poked around with the juce_CameraDevice.cpp, specifying hardcoded numbers. Still nothing. Not sure what I should try next.

Any advice or suggestions would be much appreciated.


For completeness I also tried using the juce::CameraDevice::openDevice() on Windows, like this

        auto device = juce::CameraDevice::openDevice(1,1920, 1080, 1920, 1080, true);
        cameraDevice.reset (device);

        if (cameraDevice.get() != nullptr)
            cameraPreviewComp.reset (cameraDevice->createViewerComponent());

std::unique_ptr<juce::CameraDevice> cameraDevice;
std::unique_ptr<juce::Component> cameraPreviewComp;