Depth data not supported for dual camera

Hello, I'm running into an issue where isDepthDataDeliveryEnabled is false for me on an iPhone X and using .builtInDualCamera. There weirder thing is that this is only happening on one specific iPhone X: I've tested on other iPhone Xs and iPhone 11s, and everything works as expected. All devices I've tested on have been running iOS 13.3.


Just wanted to see if there might be any device-specific reason why enabling depth data might be failing.


lazy var frontCamera: AVCaptureDevice? = {
        let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes:
            [.builtInDualCamera, .builtInDualWideCamera, .builtInUltraWideCamera, .builtInTelephotoCamera, .builtInWideAngleCamera, .builtInTrueDepthCamera, .builtInTripleCamera],
        mediaType: .video, position: .back)
        let devices = discoverySession.devices
        for device in devices {
            print("\(device) supports \(device.activeFormat.supportedDepthDataFormats)")
        }
        let depthSupportedDevices = devices.filter({ return $0.activeFormat.supportedDepthDataFormats.count != 0 })
        print("depth supported devices are: \(depthSupportedDevices)")

        return depthSupportedDevices.first
    }()

    func sessionPrepare() {
        guard let captureDevice = frontCamera else { return }

        do {
            let deviceInput = try AVCaptureDeviceInput(device: captureDevice)
            session.beginConfiguration()
            session.sessionPreset = .photo

            if session.canAddInput(deviceInput) {
                session.addInput(deviceInput)
            }

            if session.canAddOutput(output) {
                session.addOutput(output)

                output.isDepthDataDeliveryEnabled = output.isDepthDataDeliverySupported
                output.isPortraitEffectsMatteDeliveryEnabled = output.isPortraitEffectsMatteDeliverySupported
            }

            session.commitConfiguration()
        } catch {
            self.dismiss(animated: true, completion: nil)
        }
    }