mrousavy / react-native-vision-camera

📸 A powerful, high-performance React Native Camera library.
https://react-native-vision-camera.com
MIT License
7.37k stars 1.08k forks source link

🐛 Android Preview Skipping (Frame Rate Drop) with `useFrameProcessor` + `react-native-vision-camera-face-detector` #3212

Open ChristopherGabba opened 3 days ago

ChristopherGabba commented 3 days ago

What's happening?

I'm recording a video on my Google Pixel 3 & 4 Physical Device (I know these are older devices) using frameProcessors + react-native-vision-camera-face-detector and the preview + recording are very slow. This issue may be related to another issue regarding useSkiaFrameProcessor: https://github.com/mrousavy/react-native-vision-camera/issues/2763.

Here is a video of the low frame rate:

https://github.com/user-attachments/assets/09d906c0-1a02-4a54-bf04-28775e65c7d8

Steps to reproduce:

  1. Copy the below code and paste it directly over the CameraPage.tsx file in the RNVC example app.
  2. Make sure to run yarn add react-native-vision-camera-face-detector
  3. As soon as you comment out the line frameProcessor={frameProcessor} line, you will get a big performance bump.

I apologize if the android logcat logs are not good, I've never done it before and that log chart was absolutely flying lol... Hopefully I was able to copy some relevant helpful info...

Reproduceable Code

import * as React from 'react'
import { useRef, useState, useCallback, useMemo } from 'react'
import type { GestureResponderEvent } from 'react-native'
import { StyleSheet, Text, View } from 'react-native'
import type { PinchGestureHandlerGestureEvent } from 'react-native-gesture-handler'
import { PinchGestureHandler, TapGestureHandler } from 'react-native-gesture-handler'
import type { CameraProps, CameraRuntimeError, PhotoFile, VideoFile } from 'react-native-vision-camera'
import {
  useCameraDevice,
  useCameraFormat,
  useFrameProcessor,
  useLocationPermission,
  useMicrophonePermission,
} from 'react-native-vision-camera'
import { Camera } from 'react-native-vision-camera'
import { CONTENT_SPACING, CONTROL_BUTTON_SIZE, MAX_ZOOM_FACTOR, SAFE_AREA_PADDING, SCREEN_HEIGHT, SCREEN_WIDTH } from './Constants'
import Reanimated, { Extrapolate, interpolate, useAnimatedGestureHandler, useAnimatedProps, useSharedValue } from 'react-native-reanimated'
import { useEffect } from 'react'
import { useIsForeground } from './hooks/useIsForeground'
import { StatusBarBlurBackground } from './views/StatusBarBlurBackground'
import { CaptureButton } from './views/CaptureButton'
import { PressableOpacity } from 'react-native-pressable-opacity'
import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
import IonIcon from 'react-native-vector-icons/Ionicons'
import type { Routes } from './Routes'
import type { NativeStackScreenProps } from '@react-navigation/native-stack'
import { useIsFocused } from '@react-navigation/core'
import { usePreferredCameraDevice } from './hooks/usePreferredCameraDevice'
import { 
  Face,
  useFaceDetector,
  FaceDetectionOptions
} from 'react-native-vision-camera-face-detector'
import { Worklets } from 'react-native-worklets-core'

const ReanimatedCamera = Reanimated.createAnimatedComponent(Camera)
Reanimated.addWhitelistedNativeProps({
  zoom: true,
})

const SCALE_FULL_ZOOM = 3

type Props = NativeStackScreenProps<Routes, 'CameraPage'>
export function CameraPage({ navigation }: Props): React.ReactElement {
  const camera = useRef<Camera>(null)
  const [isCameraInitialized, setIsCameraInitialized] = useState(false)
  const microphone = useMicrophonePermission()
  const location = useLocationPermission()
  const zoom = useSharedValue(1)
  const isPressingButton = useSharedValue(false)
  const faceDetectionOptions = useRef<FaceDetectionOptions>( {
    // detection options
    classificationMode: "all",
    contourMode: "none",
    landmarkMode: "none",
    performanceMode: "fast",
  } ).current

  const { detectFaces } = useFaceDetector( faceDetectionOptions )
  // check if camera page is active
  const isFocussed = useIsFocused()
  const isForeground = useIsForeground()
  const isActive = isFocussed && isForeground

  const [cameraPosition, setCameraPosition] = useState<'front' | 'back'>('back')
  const [enableHdr, setEnableHdr] = useState(false)
  const [flash, setFlash] = useState<'off' | 'on'>('off')
  const [enableNightMode, setEnableNightMode] = useState(false)

  // camera device settings
  const [preferredDevice] = usePreferredCameraDevice()
  let device = useCameraDevice(cameraPosition)

  if (preferredDevice != null && preferredDevice.position === cameraPosition) {
    // override default device with the one selected by the user in settings
    device = preferredDevice
  }

  const [targetFps, setTargetFps] = useState(60)

  const screenAspectRatio = SCREEN_HEIGHT / SCREEN_WIDTH
  const format = useCameraFormat(device, [
    { fps: targetFps },
    { videoAspectRatio: screenAspectRatio },
    { videoResolution: 'max' },
    { photoAspectRatio: screenAspectRatio },
    { photoResolution: 'max' },
  ])

  const fps = Math.min(format?.maxFps ?? 1, targetFps)

  const supportsFlash = device?.hasFlash ?? false
  const supportsHdr = format?.supportsPhotoHdr
  const supports60Fps = useMemo(() => device?.formats.some((f) => f.maxFps >= 60), [device?.formats])
  const canToggleNightMode = device?.supportsLowLightBoost ?? false

  //#region Animated Zoom
  const minZoom = device?.minZoom ?? 1
  const maxZoom = Math.min(device?.maxZoom ?? 1, MAX_ZOOM_FACTOR)

  const cameraAnimatedProps = useAnimatedProps<CameraProps>(() => {
    const z = Math.max(Math.min(zoom.value, maxZoom), minZoom)
    return {
      zoom: z,
    }
  }, [maxZoom, minZoom, zoom])
  //#endregion

  //#region Callbacks
  const setIsPressingButton = useCallback(
    (_isPressingButton: boolean) => {
      isPressingButton.value = _isPressingButton
    },
    [isPressingButton],
  )
  const onError = useCallback((error: CameraRuntimeError) => {
    console.error(error)
  }, [])
  const onInitialized = useCallback(() => {
    console.log('Camera initialized!')
    setIsCameraInitialized(true)
  }, [])
  const onMediaCaptured = useCallback(
    (media: PhotoFile | VideoFile, type: 'photo' | 'video') => {
      console.log(`Media captured! ${JSON.stringify(media)}`)
      navigation.navigate('MediaPage', {
        path: media.path,
        type: type,
      })
    },
    [navigation],
  )
  const onFlipCameraPressed = useCallback(() => {
    setCameraPosition((p) => (p === 'back' ? 'front' : 'back'))
  }, [])
  const onFlashPressed = useCallback(() => {
    setFlash((f) => (f === 'off' ? 'on' : 'off'))
  }, [])
  //#endregion

  //#region Tap Gesture
  const onFocusTap = useCallback(
    ({ nativeEvent: event }: GestureResponderEvent) => {
      if (!device?.supportsFocus) return
      camera.current?.focus({
        x: event.locationX,
        y: event.locationY,
      })
    },
    [device?.supportsFocus],
  )
  const onDoubleTap = useCallback(() => {
    onFlipCameraPressed()
  }, [onFlipCameraPressed])
  //#endregion

  //#region Effects
  useEffect(() => {
    // Reset zoom to it's default everytime the `device` changes.
    zoom.value = device?.neutralZoom ?? 1
  }, [zoom, device])
  //#endregion

  //#region Pinch to Zoom Gesture
  // The gesture handler maps the linear pinch gesture (0 - 1) to an exponential curve since a camera's zoom
  // function does not appear linear to the user. (aka zoom 0.1 -> 0.2 does not look equal in difference as 0.8 -> 0.9)
  const onPinchGesture = useAnimatedGestureHandler<PinchGestureHandlerGestureEvent, { startZoom?: number }>({
    onStart: (_, context) => {
      context.startZoom = zoom.value
    },
    onActive: (event, context) => {
      // we're trying to map the scale gesture to a linear zoom here
      const startZoom = context.startZoom ?? 0
      const scale = interpolate(event.scale, [1 - 1 / SCALE_FULL_ZOOM, 1, SCALE_FULL_ZOOM], [-1, 0, 1], Extrapolate.CLAMP)
      zoom.value = interpolate(scale, [-1, 0, 1], [minZoom, startZoom, maxZoom], Extrapolate.CLAMP)
    },
  })
  //#endregion

  useEffect(() => {
    const f =
      format != null
        ? `(${format.photoWidth}x${format.photoHeight} photo / ${format.videoWidth}x${format.videoHeight}@${format.maxFps} video @ ${fps}fps)`
        : undefined
    console.log(`Camera: ${device?.name} | Format: ${f}`)
  }, [device?.name, format, fps])

  useEffect(() => {
    location.requestPermission()
  }, [location])

  const handleDetectedFaces = Worklets.createRunOnJS( (
    faces: Face[]
  ) => { 
    console.log( 'faces detected', faces )
  })

  const frameProcessor = useFrameProcessor((frame) => {
    'worklet'
    const faces = detectFaces(frame)
    // ... chain frame processors
    // ... do something with frame
    handleDetectedFaces(faces)
  }, [handleDetectedFaces])

  const videoHdr = format?.supportsVideoHdr && enableHdr
  const photoHdr = format?.supportsPhotoHdr && enableHdr && !videoHdr

  return (
    <View style={styles.container}>
      {device != null ? (
        <PinchGestureHandler onGestureEvent={onPinchGesture} enabled={isActive}>
          <Reanimated.View onTouchEnd={onFocusTap} style={StyleSheet.absoluteFill}>
            <TapGestureHandler onEnded={onDoubleTap} numberOfTaps={2}>
              <ReanimatedCamera
                style={StyleSheet.absoluteFill}
                device={device}
                isActive={isActive}
                ref={camera}
                onInitialized={onInitialized}
                onError={onError}
                onStarted={() => console.log('Camera started!')}
                onStopped={() => console.log('Camera stopped!')}
                onPreviewStarted={() => console.log('Preview started!')}
                onPreviewStopped={() => console.log('Preview stopped!')}
                onOutputOrientationChanged={(o) => console.log(`Output orientation changed to ${o}!`)}
                onPreviewOrientationChanged={(o) => console.log(`Preview orientation changed to ${o}!`)}
                onUIRotationChanged={(degrees) => console.log(`UI Rotation changed: ${degrees}°`)}
                format={format}
                fps={fps}
                photoHdr={photoHdr}
                videoHdr={videoHdr}
                photoQualityBalance="quality"
                lowLightBoost={device.supportsLowLightBoost && enableNightMode}
                enableZoomGesture={false}
                animatedProps={cameraAnimatedProps}
                exposure={0}
                enableFpsGraph={true}
                outputOrientation="device"
                photo={true}
                video={true}
                audio={microphone.hasPermission}
                enableLocation={location.hasPermission}
                frameProcessor={frameProcessor}
              />
            </TapGestureHandler>
          </Reanimated.View>
        </PinchGestureHandler>
      ) : (
        <View style={styles.emptyContainer}>
          <Text style={styles.text}>Your phone does not have a Camera.</Text>
        </View>
      )}

      <CaptureButton
        style={styles.captureButton}
        camera={camera}
        onMediaCaptured={onMediaCaptured}
        cameraZoom={zoom}
        minZoom={minZoom}
        maxZoom={maxZoom}
        flash={supportsFlash ? flash : 'off'}
        enabled={isCameraInitialized && isActive}
        setIsPressingButton={setIsPressingButton}
      />

      <StatusBarBlurBackground />

      <View style={styles.rightButtonRow}>
        <PressableOpacity style={styles.button} onPress={onFlipCameraPressed} disabledOpacity={0.4}>
          <IonIcon name="camera-reverse" color="white" size={24} />
        </PressableOpacity>
        {supportsFlash && (
          <PressableOpacity style={styles.button} onPress={onFlashPressed} disabledOpacity={0.4}>
            <IonIcon name={flash === 'on' ? 'flash' : 'flash-off'} color="white" size={24} />
          </PressableOpacity>
        )}
        {supports60Fps && (
          <PressableOpacity style={styles.button} onPress={() => setTargetFps((t) => (t === 30 ? 60 : 30))}>
            <Text style={styles.text}>{`${targetFps}\nFPS`}</Text>
          </PressableOpacity>
        )}
        {supportsHdr && (
          <PressableOpacity style={styles.button} onPress={() => setEnableHdr((h) => !h)}>
            <MaterialIcon name={enableHdr ? 'hdr' : 'hdr-off'} color="white" size={24} />
          </PressableOpacity>
        )}
        {canToggleNightMode && (
          <PressableOpacity style={styles.button} onPress={() => setEnableNightMode(!enableNightMode)} disabledOpacity={0.4}>
            <IonIcon name={enableNightMode ? 'moon' : 'moon-outline'} color="white" size={24} />
          </PressableOpacity>
        )}
        <PressableOpacity style={styles.button} onPress={() => navigation.navigate('Devices')}>
          <IonIcon name="settings-outline" color="white" size={24} />
        </PressableOpacity>
        <PressableOpacity style={styles.button} onPress={() => navigation.navigate('CodeScannerPage')}>
          <IonIcon name="qr-code-outline" color="white" size={24} />
        </PressableOpacity>
      </View>
    </View>
  )
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: 'black',
  },
  captureButton: {
    position: 'absolute',
    alignSelf: 'center',
    bottom: SAFE_AREA_PADDING.paddingBottom,
  },
  button: {
    marginBottom: CONTENT_SPACING,
    width: CONTROL_BUTTON_SIZE,
    height: CONTROL_BUTTON_SIZE,
    borderRadius: CONTROL_BUTTON_SIZE / 2,
    backgroundColor: 'rgba(140, 140, 140, 0.3)',
    justifyContent: 'center',
    alignItems: 'center',
  },
  rightButtonRow: {
    position: 'absolute',
    right: SAFE_AREA_PADDING.paddingRight,
    top: SAFE_AREA_PADDING.paddingTop,
  },
  text: {
    color: 'white',
    fontSize: 11,
    fontWeight: 'bold',
    textAlign: 'center',
  },
  emptyContainer: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
})

Relevant log output

2024-09-30 08:00:52.436  1401-6097  Camera2ClientBase       cameraserver                         D  Camera 0: start to disconnect
2024-09-30 08:00:52.436  1401-6097  Camera2ClientBase       cameraserver                         D  Camera 0: serializationLock acquired
2024-09-30 08:00:52.437  1401-6097  Camera2ClientBase       cameraserver                         D  Camera 0: Shutting down
2024-09-30 08:00:52.437  1401-6097  Camera2ClientBase       cameraserver                         D  Camera 0: start to cacheDump
2024-09-30 08:00:52.438  1058-2048  LocSvc_ApiV02           and...hardware.gnss@2.1-service-qti  E  reportLocEvent:3919] Loc event report: 0 KlobucharIonoMode_valid:0: leapSec_valid:1: tauC_valid:1 featureStatusReport_valid: 0 featureStatusReport: 0
2024-09-30 08:00:52.439  1052-3709  StreamBuff...cheManager and...a.provider@2.7-service-google  W  GetBuffer: StreamBufferCache for stream 1 waiting for refill timeout.
2024-09-30 08:00:52.439  1052-3709  GCH_CameraDeviceSession and...a.provider@2.7-service-google  I  RequestBuffersFromStreamBufferCacheManager: [sbc] Dummy buffer returned for stream: 1, frame: 54
2024-09-30 08:00:52.441  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.441  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.441  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.441  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.442  1052-3709  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.452  1052-10658 GCH_Camera...ionHwlImpl and...a.provider@2.7-service-google  I  FlushLocked Flushing pipelines
2024-09-30 08:00:52.452  1052-10658 GCH_CameraPipelineHwl   and...a.provider@2.7-service-google  I  Flush: flushing pipeline (is_flushing=1, async_publish=1)
2024-09-30 08:00:52.452  1052-10658 GCH_CameraPipelineHwl   and...a.provider@2.7-service-google  I  Flush: flushing pipeline (is_flushing=1, async_publish=1)
2024-09-30 08:00:52.452  1052-10658 GCH_CameraPipelineHwl   and...a.provider@2.7-service-google  I  Flush: flushing pipeline (is_flushing=1, async_publish=1)
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending shutter for frame 60 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending shutter for frame 61 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 54 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 55 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 56 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 57 ready 0
2024-09-30 08:00:52.459  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 58 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 59 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 60 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 61 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 54 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 55 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 56 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 57 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 58 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 59 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 60 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 61 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 54 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 55 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 56 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 57 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 58 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 59 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 60 ready 0
2024-09-30 08:00:52.460  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 61 ready 0
2024-09-30 08:00:52.692  1067-1254  CHRE                    and....sensors@2.0-service.multihal  D  @ 13349.717: [ActivityPlatform] type 4, confidence 62
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  E  [ERROR][CORE   ] camxsession.cpp:143 WaitTillAllResultsAvailable() TimedWait for results timed out at 300 ms with error CamxResultETimeout! Pending results: 
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6667 DumpDebugInfo() +----------------------------------------------------------+
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6672 DumpDebugInfo() +      CALLING SESSION DUMP 0xb4000072428e7eb0 FOR FLUSH         +
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6691 DumpDebugInfo() + numPipelines:             1
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6692 DumpDebugInfo() + livePendingRequests:      4
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6693 DumpDebugInfo() + maxLivePendingRequests:   6
2024-09-30 08:00:52.777  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6694 DumpDebugInfo() + requestQueueDepth:        8
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6700 DumpDebugInfo() + Pipeline[0] Flush Status: 1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6703 DumpDebugInfo() + usecaseNumBatchedFrames:  1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6718 DumpDebugInfo() +------------------------------------------------------------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6721 DumpDebugInfo() + Waiting for all results min Sequence Id:55  max Sequence Id:58
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6722 DumpDebugInfo() +------------------------------------------------------------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:6725 DumpDebugInfo() + Stuck on Sequence Id: 55 Request Id: 56
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4282 DumpDebugInfo() +----------------------------------------------------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4283 DumpDebugInfo() +    PIPELINE DEBUG INFO     +
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4288 DumpDebugInfo() +  Pipeline Name: GoogleDualFovPhotoOffline_0, Pipeline ID: 0, 0xb4000073e37b1170, CurrentRequestId: 59
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4300 DumpDebugInfo() +------------------------------------------------------------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4301 DumpDebugInfo() + Request info for the pending nodes
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4311 DumpDebugInfo() +   RequestId:       56
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4315 DumpDebugInfo() +    SequenceId[0]:  55
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4318 DumpDebugInfo() +     CSLSyncId:                       56
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4320 DumpDebugInfo() +     numNodes:                        10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4322 DumpDebugInfo() +     numNodesRequestIdDone:           9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4324 DumpDebugInfo() +     numNodesPartialMetadataDone:     10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4326 DumpDebugInfo() +     numNodesMetadataDone:            9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4328 DumpDebugInfo() +     numNodesConfigDone:              0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4330 DumpDebugInfo() +     batchFrameIntervalNanoSeconds:   0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4332 DumpDebugInfo() +     isSofdispatched:                 1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4311 DumpDebugInfo() +   RequestId:       57
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4315 DumpDebugInfo() +    SequenceId[0]:  56
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4318 DumpDebugInfo() +     CSLSyncId:                       57
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4320 DumpDebugInfo() +     numNodes:                        10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4322 DumpDebugInfo() +     numNodesRequestIdDone:           9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4324 DumpDebugInfo() +     numNodesPartialMetadataDone:     10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4326 DumpDebugInfo() +     numNodesMetadataDone:            9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4328 DumpDebugInfo() +     numNodesConfigDone:              0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4330 DumpDebugInfo() +     batchFrameIntervalNanoSeconds:   0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4332 DumpDebugInfo() +     isSofdispatched:                 1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4311 DumpDebugInfo() +   RequestId:       58
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4315 DumpDebugInfo() +    SequenceId[0]:  57
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4318 DumpDebugInfo() +     CSLSyncId:                       58
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4320 DumpDebugInfo() +     numNodes:                        10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4322 DumpDebugInfo() +     numNodesRequestIdDone:           9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4324 DumpDebugInfo() +     numNodesPartialMetadataDone:     10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4326 DumpDebugInfo() +     numNodesMetadataDone:            9
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4328 DumpDebugInfo() +     numNodesConfigDone:              0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4330 DumpDebugInfo() +     batchFrameIntervalNanoSeconds:   0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4332 DumpDebugInfo() +     isSofdispatched:                 1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4311 DumpDebugInfo() +   RequestId:       59
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4315 DumpDebugInfo() +    SequenceId[0]:  58
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4318 DumpDebugInfo() +     CSLSyncId:                       59
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4320 DumpDebugInfo() +     numNodes:                        10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4322 DumpDebugInfo() +     numNodesRequestIdDone:           7
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4324 DumpDebugInfo() +     numNodesPartialMetadataDone:     10
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4326 DumpDebugInfo() +     numNodesMetadataDone:            8
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4328 DumpDebugInfo() +     numNodesConfigDone:              0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4330 DumpDebugInfo() +     batchFrameIntervalNanoSeconds:   0
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4332 DumpDebugInfo() +     isSofdispatched:                 1
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4336 DumpDebugInfo() +------------------------------------------------------------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxpipeline.cpp:4337 DumpDebugInfo() +      NODE DEBUG INFO       +
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_ChiNodeWrapper0]:Type:255 0xb400007303f78830
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_ChiNodeWrapper10]:Type:255 0xb400007303fd8890
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_ChiNodeWrapper17]:Type:255 0xb400007303f98850
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.778  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_ChiNodeWrapper22]:Type:255 0xb400007303e68720
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 59 Unsuccessful. metadataComplete: 1, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 94; Output port id: 0; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_JPEG_Aggregator0]:Type:6 0xb400007303ff88b0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_JPEG_Encoder0]:Type:65537 0xb4000073040388f0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_JPEG_Encoder1]:Type:65537 0xb400007303fc8880
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_IPE0]:Type:65538 0xb40000727c470950
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 59 Unsuccessful. metadataComplete: 0, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 99; Output port id: 8; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_IPE1]:Type:65538 0xb40000727caa0950
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5333 DumpDebugInfo() +-----------NODE DUMP START-----------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5334 DumpDebugInfo() +   NODE:[GoogleDualFovPhotoOffline_IPE2]:Type:65538 0xb400007279fb6950
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 56 Unsuccessful. metadataComplete: 0, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 124; Output port id: 8; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 57 Unsuccessful. metadataComplete: 0, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 35; Output port id: 8; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 58 Unsuccessful. metadataComplete: 0, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 68; Output port id: 8; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5370 DumpDebugInfo() +    Request: 59 Unsuccessful. metadataComplete: 0, requestComplete: 0, numUnsignaledFences: 1, numUnprocessedFences: 1, status: DEFERRED
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5417 DumpDebugInfo() +       Fence: 89; Output port id: 8; isDelayedBufferFence?: 0; isFenceSignaled?: 0; fenceResult: 0; ImgRefCount=1; maxImageBuffers=42
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxnode.cpp:5426 DumpDebugInfo() +---------------NODE DUMP END-------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1321 DumpDebugInfo() +----------------------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1322 DumpDebugInfo() +  DRQ - req 00000057      +
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1332 DumpDebugInfo() +   Node: GoogleDualFovPhotoOffline_IPE2, Request: 57, SeqId: 1, signaledCount/TotalFenceCount: 0/0, publishedCount/TotalPropertyCount: 0/1 bindIOBuffers: 1
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1361 DumpDebugInfo() +    Property[0] = 0x30000049 PropertyIDNodeComplete9 on Pipeline = 0 is not published
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1321 DumpDebugInfo() +----------------------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1322 DumpDebugInfo() +  DRQ - req 00000058      +
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1332 DumpDebugInfo() +   Node: GoogleDualFovPhotoOffline_IPE2, Request: 58, SeqId: 1, signaledCount/TotalFenceCount: 0/0, publishedCount/TotalPropertyCount: 0/1 bindIOBuffers: 1
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1361 DumpDebugInfo() +    Property[0] = 0x30000049 PropertyIDNodeComplete9 on Pipeline = 0 is not published
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1321 DumpDebugInfo() +----------------------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1322 DumpDebugInfo() +  DRQ - req 00000059      +
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1332 DumpDebugInfo() +   Node: GoogleDualFovPhotoOffline_ChiNodeWrapper22, Request: 59, SeqId: 1, signaledCount/TotalFenceCount: 0/1, publishedCount/TotalPropertyCount: 1/1 bindIOBuffers: 1
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1369 DumpDebugInfo() +    Fence[0] = 0x73a35450(00000063) is not signaled
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1321 DumpDebugInfo() +----------------------------+
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1322 DumpDebugInfo() +  DRQ - req 00000059      +
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1332 DumpDebugInfo() +   Node: GoogleDualFovPhotoOffline_IPE2, Request: 59, SeqId: 1, signaledCount/TotalFenceCount: 0/0, publishedCount/TotalPropertyCount: 0/1 bindIOBuffers: 1
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][DRQ    ] camxdeferredrequestqueue.cpp:1361 DumpDebugInfo() +    Property[0] = 0x30000049 PropertyIDNodeComplete9 on Pipeline = 0 is not published
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:555 DumpStateToLog() Job Registry 0xb4000073038c8180
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family DeferredWorkerWrapper0x0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameInternal P:0xb4000075038e6ea0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameInternal P:0xb4000075038f54c0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameDebugData P:0xb4000075038ee1b0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameDebugData P:0xb4000075038823c0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family DeferredWorkerWrapper0x0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family NodeCommonThreadJobFamily0xb40000727c694eb0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family imx363 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family imx363_OIS - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family imx363_readName - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family FDManagerPriThread - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family CHISessionWrapper0xb40000727c694eb0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameInternal P:0xb4000075038896d0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family Metadata Type: PerFrameDebugData P:0xb4000075039f8300 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family DeferredWorkerWrapper0x0 - Total Job Count: 2, In Flight: 2, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family CHISessionWrapper0xb4000072428e7eb0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxthreadjobregistry.cpp:567 DumpStateToLog()      Job Family NodeCommonThreadJobFamily0xb4000072428e7eb0 - Total Job Count: 0, In Flight: 0, On Hold: 0
2024-09-30 08:00:52.779  1052-10658 CamX                    and...a.provider@2.7-service-google  I  [ DUMP][CORE   ] camxsession.cpp:8134 DumpKMDInfo() Session: 0xb4000072428e7eb0 flag: 0 pipeline: GoogleDualFovPhotoOffline_0 firstPendingReqId: 0 firstPendingCSLSyncId: 0 lastSubmittedRequestId: 59 lastCSLSyncId: 59
2024-09-30 08:00:52.818  7233-7395  CameraView              com.mrousavy.camera.example          I  invokeOnAverageFpsChanged(13.422818791946309)
2024-09-30 08:00:52.840  1052-3712  StreamBuff...cheManager and...a.provider@2.7-service-google  W  GetBuffer: StreamBufferCache for stream 2 waiting for refill timeout.
2024-09-30 08:00:52.840  1052-3712  GCH_CameraDeviceSession and...a.provider@2.7-service-google  I  RequestBuffersFromStreamBufferCacheManager: [sbc] Dummy buffer returned for stream: 2, frame: 58
2024-09-30 08:00:52.841  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.841  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.841  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.841  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.842  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][META   ] camxiqinterface.cpp:622 UpdateHDRnetGain() Gcam AE output data is not available
2024-09-30 08:00:52.843  1052-3712  CamX                    and...a.provider@2.7-service-google  E  [ERROR][PPROC  ] camxipenode.cpp:7287 ExecuteProcessRequest() [GoogleDualFovPhotoOffline_IPE0]: Submitted packet(s) with requestId = 59 failed 28
2024-09-30 08:00:52.880  1052-10658 CamX                    and...a.provider@2.7-service-google  E  [ERROR][CORE   ] camxsession.cpp:252 FallbackFlush() Fallback TimedWait for results timed out at 100 ms with error CamxResultETimeout!
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending shutter for frame 60 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending shutter for frame 61 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 54 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 55 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 56 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 57 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 58 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 59 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 60 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending final result metadaata for frame 61 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 54 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 55 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 56 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 57 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 58 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 59 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 60 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 1 for frame 61 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 54 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 55 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 56 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 57 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 58 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 59 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 60 ready 0
2024-09-30 08:00:52.960  1052-7862  GCH_ResultDispatcher    and...a.provider@2.7-service-google  W  [ResultDispatcher] PrintTimeoutMessages: pending buffer of stream 2 for frame 61 ready 0
2024-09-30 08:00:52.977  1052-1052  binder:1052_3           and...a.provider@2.7-service-google  W  type=1400 audit(0.0:1951502): avc:  denied  { write } for  name="statsdw" dev="tmpfs" ino=17337 scontext=u:r:hal_camera_default:s0 tcontext=u:object_r:statsdw_socket:s0

Camera Device

{
  "formats": [],
  "sensorOrientation": "landscape-left",
  "hardwareLevel": "full",
  "maxZoom": 7,
  "minZoom": 0.6150000095367432,
  "maxExposure": 24,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera",
    "wide-angle-camera",
    "ultra-wide-angle-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": false,
  "isMultiCam": true,
  "minFocusDistance": 9.800000093460085,
  "minExposure": -24,
  "name": "0 (BACK) androidx.camera.camera2",
  "hasFlash": true,
  "hasTorch": true,
  "position": "back",
  "id": "0"
}

Device

Google Pixel 3

VisionCamera Version

4.5.3

Can you reproduce this issue in the VisionCamera Example app?

Yes, I can reproduce the same issue in the Example app here

Additional information

maintenance-hans[bot] commented 3 days ago

Guten Tag, Hans here 🍻

Thanks for reporting this issue! It looks like you’ve provided a lot of information, which is good for mrousavy to understand your situation. However, ze Android logs should ideally be more concise and focused. Make sure you’re capturing logs while reproducing ze problem, as this will greatly help diagnose ze issue.

Could you please confirm whether you also tested on newer devices, as performance can vary significantly with older hardware like Pixel 3 & 4? Also, consider providing logs that specifically relate to the frame rate issue, as they can help pinpoint ze root cause.

Feel free to watch for updates, or consider sponsoring the project to help ensure quicker responses from ze author!

Let’s see how we can solve this!

Note: If you think I made a mistake, please ping @mrousavy to take a look.

ChristopherGabba commented 3 days ago

I do not own a newer device to test on, but referencing another issue that was closed for lack of detail: https://github.com/mrousavy/react-native-vision-camera/issues/2763, I believe this may happen on newer devices as well.

This should be very easy to reproduce in the RNVC example app. Note: this is not an issue on iOS.

kolias4 commented 6 hours ago

I have the same issue. I've found a few things that might be causing it, and I think it has less to do with the FrameProcessor and more with the model you're loading for object detection. In my case if i don't pass the frame to the model it works fine. const faces = detectFaces(frame) this seems to block the frame since it is running synchronously Also, it happens on Android, while on iOS this issue doesn't seem to exist.