react-native-vision-camera icon indicating copy to clipboard operation
react-native-vision-camera copied to clipboard

🐛 Frame Processor stops running when performing calculations

Open mfkrause opened this issue 1 year ago • 2 comments

What's happening?

I'm trying to update some Shared Values from Reanimated (using createRunInJsFn) based on the results of a frame processor plugin and the size of the frame itself. Specifically, I'm detecting faces using a plugin (which uses MLKit) and then want to normalize the detected bounding box based on the frame and screen size.

However, the frame processor suddenly stops running after only a few frames. Console logs stop appearing and, if the result is drawn onto a Skia Canvas, that stops updating, too. The weird part: When I remove the normalization / multiplication from the code below and simply use the raw result bounding box from the plugin, the frame processor happily runs for seemingly forever. Only once I begin to multiply the bounding box with the frame size (and window size), the frame processor only runs for a few frames.

The problem is not specific to the frame processor plugin used in the reproducable code below. I could also reproduce it when using a custom model and react-native-fast-tflite.

Reproduceable Code

import { useEffect } from "react";
import { StyleSheet, View, useWindowDimensions } from "react-native";
import {
  Camera,
  runAsync,
  useCameraDevice,
  useCameraPermission,
  useFrameProcessor,
} from "react-native-vision-camera";
import { Worklets } from "react-native-worklets-core";
import {
  DetectionResult,
  detectFaces,
  Bounds as FaceBounds,
} from "react-native-vision-camera-face-detector";
import { useSharedValue } from "react-native-reanimated";

export default function App() {
  const { hasPermission, requestPermission } = useCameraPermission();
  const dimensions = useWindowDimensions();
  const cameraDevice = useCameraDevice("front");
  const faceTop = useSharedValue(0);

  const updateReanimated = Worklets.createRunInJsFn(
    (bounds: Pick<FaceBounds, "top">) => {
      faceTop.value = bounds.top;
      console.log("detection result", bounds);
    }
  );

  const frameProcessor = useFrameProcessor((frame) => {
    "worklet";
    console.log(1);
    runAsync(frame, () => {
      "worklet";
      detectFaces(
        frame,
        (result: DetectionResult) => {
          "worklet";
          console.log(2);
          const faces = Object.values(result.faces);
          if (faces.length) {
            updateReanimated({
              top: faces[0].bounds.top * (dimensions.height / frame.height), // remove the multiplication and the frame processor keeps running
            });
          } else {
            updateReanimated({ top: 0 });
          }
        },
        {
          // contourMode: "all",
        }
      );
    });
  }, []);

  useEffect(() => {
    if (!hasPermission) {
      requestPermission();
    }
  }, [hasPermission]);

  return (
    <View style={styles.container}>
      {cameraDevice && (
        <Camera
          style={{ width: "100%", height: "100%" }}
          frameProcessor={frameProcessor}
          device={cameraDevice}
          isActive={true}
          pixelFormat="yuv"
        />
      )}
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#000",
    alignItems: "center",
    justifyContent: "center",
  },
});

Relevant log output

Probably not relevant:

standard	04:07:12.427103+0100	snip	VisionCameraProxy: Creating Worklet Context...
standard	04:07:12.427392+0100	snip	VisionCameraProxy: Worklet Context Created!
standard	04:07:12.429265+0100	snip	[0x2810f5960] activating connection: mach=true listener=false peer=false name=com.apple.coremedia.capturesource
standard	04:07:12.429435+0100	snip	[0x1093b5930] activating connection: mach=false listener=false peer=false name=(anonymous)
standard	04:07:12.435590+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke_2: <private> changed... newDownplayUserPreferredCameraOverrideHistory = F (based on <private>), new user preferred camera history <private>
standard	04:07:12.435611+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
standard	04:07:12.435631+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _cameraHistoryDispatchQueue]_block_invoke: using main queue for refreshing camera properties
standard	04:07:12.435650+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
standard	04:07:12.435668+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
standard	04:07:12.435688+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
standard	04:07:12.435708+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: <private> changed... newDownplayUserPreferredCameraOverrideHistory = F (based on <private>), new user preferred camera override history <private>
standard	04:07:12.435728+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
standard	04:07:12.435746+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
standard	04:07:12.435765+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
standard	04:07:12.435836+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
standard	04:07:12.435858+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: <private> changed... new streaming camera history <private>
standard	04:07:12.435877+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
standard	04:07:12.435897+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
standard	04:07:12.436830+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
standard	04:07:12.436850+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
standard	04:07:12.437915+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: doing deferred dispatch async to preferred camera property refresh queue
standard	04:07:12.438013+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke_2: deferred async dispatch to preferred camera property refresh queue returned
standard	04:07:12.438503+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: getting current value for userPreferredCamera (allowsSuspendedPreferredCameras = F)
standard	04:07:12.446068+0100	tccd	AUTHREQ_ATTRIBUTION: msgID=1276.3, attribution={accessing={TCCDProcess: identifier=com.snip.snip, pid=1279, auid=501, euid=501, binary_path=/private/var/containers/Bundle/Application/83941ACA-E71D-4034-8382-74CE7F9A5933/snip.app/snip}, requesting={TCCDProcess: identifier=com.apple.mediaserverd, pid=1276, auid=501, euid=501, binary_path=/usr/sbin/mediaserverd}, },
standard	04:07:12.446131+0100	tccd	requestor: TCCDProcess: identifier=com.apple.mediaserverd, pid=1276, auid=501, euid=501, binary_path=/usr/sbin/mediaserverd is checking access for accessor TCCDProcess: identifier=com.snip.snip, pid=1279, auid=501, euid=501, binary_path=/private/var/containers/Bundle/Application/83941ACA-E71D-4034-8382-74CE7F9A5933/snip.app/snip
standard	04:07:12.446948+0100	tccd	AUTHREQ_SUBJECT: msgID=1276.3, subject=com.snip.snip,
standard	04:07:12.450361+0100	snip	Requesting container lookup; class = 13, identifier = <private>, group_identifier = <private>, create = 1, temp = 0, euid = 501, uid = 501
standard	04:07:12.450397+0100	snip	Query; euid = 501, uid = 501, query = <private>
standard	04:07:12.450663+0100	snip	container_query_get_single_result: success
standard	04:07:12.450757+0100	snip	container_system_group_path_for_identifier: success
standard	04:07:12.450982+0100	snip	Got system group container path from MCM for systemgroup.com.apple.configurationprofiles: /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
standard	04:07:12.454191+0100	snip	Pixel format registry initialized. Constant classes enabled.
standard	04:07:12.457221+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: current list of devices:
standard	04:07:12.457246+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457269+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457289+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457309+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457329+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457348+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457413+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457433+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457453+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457473+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457492+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457520+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
standard	04:07:12.457540+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: devices with media types <private>:
standard	04:07:12.457561+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457578+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457597+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457617+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457637+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457655+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457675+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457695+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457715+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457732+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457752+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
standard	04:07:12.457772+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: 4. returning first available entry in streamingCameraHistory because it is a member of devicesWithMediaType and has suitable suspended state: <private>[F]
standard	04:07:12.457792+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: getting current value for systemPreferredCamera (allowsSuspendedPreferredCameras = F)
standard	04:07:12.457812+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: current list of devices:
standard	04:07:12.457830+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457849+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457869+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457889+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457906+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457926+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.457986+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458005+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458048+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458076+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458103+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458126+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
standard	04:07:12.458146+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: devices with media types <private>:
standard	04:07:12.458165+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458184+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458204+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458224+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458242+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458261+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458280+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458298+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458317+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458340+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
standard	04:07:12.458372+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
standard	04:07:12.458393+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: 4. returning first available entry in streamingCameraHistory because it is a member of devicesWithMediaType and has suitable suspended state: <private>[F]
standard	04:07:12.459089+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: userPreferredCameraChanged T, resolved userPreferredCamera = <AVCaptureFigVideoDevice: 0x10b264200 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>, current sUserPreferredCamera = (null)
standard	04:07:12.459109+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: systemPreferredCameraChanged T, resolved systemPreferredCamera = <AVCaptureFigVideoDevice: 0x10b264200 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>, current sSystemPreferredCamera = (null)
standard	04:07:12.459129+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: changing sUserPreferredCamera from (null) to <AVCaptureFigVideoDevice: 0x10b264200 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>
standard	04:07:12.459148+0100	snip	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: changing sSystemPreferredCamera from (null) to <AVCaptureFigVideoDevice: 0x10b264200 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>
standard	04:07:12.506026+0100	snip	Looking up Frame Processor Plugin "detectFaces"...
standard	04:07:12.506045+0100	snip	Frame Processor Plugin "detectFaces" found! Initializing...
standard	04:07:12.507659+0100	snip	[0x28158e300] activating connection: mach=true listener=false peer=false name=com.apple.lsd.mapdb
standard	04:07:12.512382+0100	snip	Received configuration update from daemon (initial)
standard	04:07:12.635189+0100	runningboardd	Invalidating assertion 32-1279-19470 (target:[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]) from originator [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]
standard	04:07:12.649827+0100	SpringBoard	[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] Now acquiring workspace assertion with state: ForegroundFocal.
standard	04:07:12.651742+0100	runningboardd	Acquiring assertion targeting [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] from originator [osservice<com.apple.SpringBoard>:33] with description <RBSAssertionDescriptor| "FBWorkspace (ForegroundFocal)" ID:32-33-19478 target:1279 attributes:[
	<RBSDomainAttribute| domain:"com.apple.frontboard" name:"Workspace-ForegroundFocal" sourceEnvironment:"(null)">,
	<RBSAcquisitionCompletionAttribute| policy:AfterApplication>,
	<RBSDomainAttribute| domain:"com.apple.frontboard" name:"Visibility" sourceEnvironment:"(null)">
	]>
standard	04:07:12.651803+0100	runningboardd	Assertion 32-33-19478 (target:[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]) will be created as active
standard	04:07:12.652909+0100	runningboardd	Calculated state for app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>: running-active (role: UserInteractiveFocal)
standard	04:07:12.653125+0100	runningboardd	Process: [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] has changes in inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>,
    <RBSInheritance| environment:UIScene:com.apple.frontboard.systemappservices::FBSceneManager:sceneID%3Acom.snip.snip-default name:com.apple.frontboard.visibility origID:32-33-19471 payload 5656303167222798068>,
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)}
standard	04:07:12.653306+0100	runningboardd	Current inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>,
    <RBSInheritance| environment:UIScene:com.apple.frontboard.systemappservices::FBSceneManager:sceneID%3Acom.snip.snip-default name:com.apple.frontboard.visibility origID:32-33-19471 payload 5656303167222798068>
)}
standard	04:07:12.653487+0100	runningboardd	Process: [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]: Sending inheritance changeset: <RBSInheritanceChangeSet| gained:{(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)} lost:{(
)}>
standard	04:07:12.653693+0100	snip	Gained inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)}
standard	04:07:12.653702+0100	snip	Received inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)}
standard	04:07:12.654105+0100	SpringBoard	[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] Dropping launch assertion.
standard	04:07:12.654652+0100	runningboardd	Invalidating assertion 32-33-19466 (target:app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>) from originator [osservice<com.apple.SpringBoard>:33]
standard	04:07:12.655942+0100	SpringBoard	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.656517+0100	backboardd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.656564+0100	CommCenter	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.656929+0100	IDSCredentialsAgent	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.657027+0100	audiomxd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.657776+0100	gamepolicyd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-NotVisible
standard	04:07:12.658153+0100	symptomsd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.658637+0100	nsurlsessiond	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.658911+0100	itunesstored	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.659281+0100	WirelessRadioManagerd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.659785+0100	dasd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.660048+0100	useractivityd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.660475+0100	locationd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.660571+0100	snip	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, unknown-NotVisible
standard	04:07:12.660594+0100	wifid	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.660964+0100	PerfPowerServices	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.661092+0100	watchdogd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.661217+0100	UserEventAgent	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.672769+0100	snip	[0x2810833a0] activating connection: mach=true listener=false peer=false name=com.apple.tccd
standard	04:07:12.673095+0100	tccd	AUTHREQ_ATTRIBUTION: msgID=1279.1, attribution={requesting={TCCDProcess: identifier=com.snip.snip, pid=1279, auid=501, euid=501, binary_path=/private/var/containers/Bundle/Application/83941ACA-E71D-4034-8382-74CE7F9A5933/snip.app/snip}, },
standard	04:07:12.673597+0100	tccd	AUTHREQ_SUBJECT: msgID=1279.1, subject=com.snip.snip,
standard	04:07:12.673837+0100	snip	[0x2810833a0] invalidated after the last release of the connection object
standard	04:07:12.680851+0100	snip	[0x2810833a0] activating connection: mach=true listener=false peer=false name=com.apple.coremedia.capturesession
standard	04:07:12.681284+0100	mediaserverd	<<<< FigCaptureSession >>>> FigCaptureSessionCreate: <0x932fec000[1279][com.snip.snip]> New session created.
standard	04:07:12.681531+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _initWithClient:]: Creating for pid: 1279, ID: com.snip.snip, clientType: Application
standard	04:07:12.681937+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x282bffe80)
standard	04:07:12.682137+0100	mediaserverd	<<<< FigCaptureSession >>>> FigCaptureSessionCreate: <0x932fec900[1279][com.snip.snip]> New session created.
standard	04:07:12.682202+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x282bbc110)
standard	04:07:12.682456+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x282bffe80)
standard	04:07:12.682478+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _initWithClient:]: Creating for pid: 1279, ID: com.snip.snip, clientType: Application
standard	04:07:12.682502+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.682590+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x282bffe80)
standard	04:07:12.682616+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 0
standard	04:07:12.682638+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 0
standard	04:07:12.682853+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) New fcs config(1)
standard	04:07:12.682878+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) Setting fcs config(1) FigCaptureSessionConfiguration 0x283c87740: ID 1, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
standard	04:07:12.683073+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_SetConfiguration: <0x932fec000[1279][com.snip.snip]> New configuration: FigCaptureSessionConfiguration 0x9345382c0: ID 1, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
standard	04:07:12.683100+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec000[1279][com.snip.snip]> ClientStartedSession:0 Cam/Audio:0/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:0 start:0 stop:0
standard	04:07:12.695127+0100	audiomxd	-CMSessionMgr- CMSessionMgrHandleApplicationStateChange:15837 Client com.snip.snip with session (null) [0x0] with pid '1279' is now Foreground Running. Background entitlement: NO ActiveLongFormVideoSession: NO IsLongFormVideoApp NO
standard	04:07:12.695148+0100	audiomxd	-CMSessionMgr- CMSessionMgrHandleApplicationStateChange: Client com.snip.snip with pid '1279' moved to ForegroundRunning and is not allowed to play in the background
standard	04:07:12.696588+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[kUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.696649+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[k3rdPartyUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.697185+0100	audiomxd	SpatializationManager.cpp:183   Spatial info for session ID = 0x6d2ed: {
	App bundle ID = com.snip.snip
	Route = built-in speakers
	contentType = 'soun'
	overrideSpatialMode = 0
	preferencesVersion = 1

	Spatial preferences: {
		prefersHeadTrackedSpatialization = 0
		prefersLossyAudioSources = 0
		maxSpatializableChannels = 16
		alwaysSpatialize = 0
		spatialAudioSourceCount = 1
		spatialAudioSources = [ 'mlti' ]
	}
}
standard	04:07:12.697304+0100	audiomxd	  ServerSessionManager.mm:236   { "action":"create_session", "session":{"ID":"0x6d2ed","name":"snip(1279)"}, "details":{"PID":1279,"session_type":"Primary"} }
standard	04:07:12.697882+0100	audiomxd	  ServerSessionManager.mm:887   Start process monitoring, pid = 1279, name = snip
standard	04:07:12.699256+0100	audiomxd	-MXSession- -[MXSession(InterfaceImpl) initWithSession:]: Creating MXSession = <ID: 6d4, CoreSessionID = 464 Name = sid:0x6d2ed, snip(1279), 'prim', Muted = NO, ClientIsPlaying = STOPPED, AudioToolboxIsPlaying = STOPPED, MutePriority = MutePriority_Two, PiP = NO, DoesntActuallyPlayAudio = NO, clientType = 1, IsPlayingOutput = NO
standard	04:07:12.699295+0100	audiomxd	-MXSession- -[MXSession(InternalUse) setClientType:]: MXSession with ID 6d4 for CoreSession sid:0x6d2ed, snip(1279), 'prim' setting ClientType = None
standard	04:07:12.699799+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[kUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.699857+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[k3rdPartyUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.700165+0100	audiomxd	SpatializationManager.cpp:183   Spatial info for session ID = 0x6d2ee: {
	App bundle ID = com.snip.snip
	Route = built-in speakers
	contentType = 'soun'
	overrideSpatialMode = 0
	preferencesVersion = 1

	Spatial preferences: {
		prefersHeadTrackedSpatialization = 0
		prefersLossyAudioSources = 0
		maxSpatializableChannels = 16
		alwaysSpatialize = 0
		spatialAudioSourceCount = 1
		spatialAudioSources = [ 'mlti' ]
	}
}
standard	04:07:12.700258+0100	audiomxd	  ServerSessionManager.mm:236   { "action":"create_session", "session":{"ID":"0x6d2ee","name":"mediaserverd(1276)","sibling_of":"0x6d2ed snip(1279)"}, "details":{"PID":1276,"name":"FigCaptureClient-1279","session_type":"Sibling","source_session_ID":"0x6d2ed","source_session_PID":1279} }
standard	04:07:12.701324+0100	audiomxd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.703171+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ad720[1279][com.snip.snip]> Updating client state condition "_bksApplicationState" with new value "ForegroundRunning"
standard	04:07:12.703408+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ad720[1279][com.snip.snip]> Updating client state condition "_layoutState" with new value "Fullscreen"
standard	04:07:12.703433+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ad720[1279][com.snip.snip]> Updating client with application state "Foregrounded" and layout state "Fullscreen"
standard	04:07:12.703460+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec000[1279][com.snip.snip]> ClientStartedSession:0 Cam/Audio:0/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:0 start:0 stop:0
standard	04:07:12.709561+0100	audiomxd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.710664+0100	audiomxd	-MXSession- -[MXSession(InterfaceImpl) initWithSession:]: Creating MXSession = <ID: 6d6, CoreSessionID = 464 Name = sid:0x6d2ed, snip(1279), 'prim', Muted = NO, ClientIsPlaying = STOPPED, AudioToolboxIsPlaying = STOPPED, MutePriority = MutePriority_Two, PiP = NO, DoesntActuallyPlayAudio = NO, clientType = 1, IsPlayingOutput = NO
standard	04:07:12.710724+0100	audiomxd	-MXSession- -[MXSession(InternalUse) setClientType:]: MXSession with ID 6d6 for CoreSession sid:0x6d2ed, snip(1279), 'prim' setting ClientType = None
standard	04:07:12.710930+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[kUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.710949+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[k3rdPartyUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.711129+0100	audiomxd	SpatializationManager.cpp:183   Spatial info for session ID = 0x6d2f0: {
	App bundle ID = com.snip.snip
	Route = built-in speakers
	contentType = 'soun'
	overrideSpatialMode = 0
	preferencesVersion = 1

	Spatial preferences: {
		prefersHeadTrackedSpatialization = 0
		prefersLossyAudioSources = 0
		maxSpatializableChannels = 16
		alwaysSpatialize = 0
		spatialAudioSourceCount = 1
		spatialAudioSources = [ 'mlti' ]
	}
}
standard	04:07:12.711193+0100	audiomxd	  ServerSessionManager.mm:236   { "action":"create_session", "session":{"ID":"0x6d2f0","name":"mediaserverd(1276)","sibling_of":"0x6d2ed snip(1279)"}, "details":{"PID":1276,"name":"FigCaptureClient-1279","session_type":"Sibling","source_session_ID":"0x6d2ed","source_session_PID":1279} }
standard	04:07:12.712002+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ae800[1279][com.snip.snip]> Updating client state condition "_bksApplicationState" with new value "ForegroundRunning"
standard	04:07:12.712063+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ae800[1279][com.snip.snip]> Updating client state condition "_layoutState" with new value "Fullscreen"
standard	04:07:12.712084+0100	mediaserverd	<<<< FigCaptureClientApplicationStateMonitor >>>> -[FigCaptureClientApplicationStateMonitor _updateClientStateCondition:newValue:]: <0x9349ae800[1279][com.snip.snip]> Updating client with application state "Foregrounded" and layout state "Fullscreen"
standard	04:07:12.712106+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec900[1279][com.snip.snip]> ClientStartedSession:0 Cam/Audio:0/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:0 start:0 stop:0
standard	04:07:12.734091+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x282bffe80)
standard	04:07:12.734199+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.734632+0100	snip	TCP Conn [7:0x2818c1b80] using empty proxy configuration
standard	04:07:12.734652+0100	snip	Stream client bypassing proxies on TCP Conn [7:0x2818c1b80]
standard	04:07:12.734672+0100	snip	TCP Conn 0x2818c1b80 started
standard	04:07:12.734781+0100	snip	[0x2810b4540] activating connection: mach=true listener=false peer=false name=com.apple.coremedia.systemcontroller.xpc
standard	04:07:12.734802+0100	snip	[C7 FDEE1760-B1EC-40E1-985D-5F362C42CDCA IPv4#d9b62234:8081 tcp, definite, attribution: developer, context: Default Network Context (private), proc: 9C7208C0-D0A7-3349-9124-F5D6F322FD64, no proxy, prohibit fallback, allow socket access] start
standard	04:07:12.734848+0100	snip	[C7 IPv4#d9b62234:8081 initial parent-flow ((null))] event: path:start @0.000s
standard	04:07:12.734925+0100	snip	[C7 IPv4#d9b62234:8081 waiting parent-flow (satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, dns, uses wifi)] event: path:satisfied @0.000s, uuid: 0016A002-837C-4393-865A-8ED66E50410E
standard	04:07:12.735054+0100	snip	nw_socket_initialize_socket [C7:1] Not guarding fd 26
standard	04:07:12.735117+0100	snip	[C7 IPv4#d9b62234:8081 in_progress socket-flow (satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, dns, uses wifi)] event: flow:start_connect @0.000s
standard	04:07:12.735199+0100	snip	nw_connection_report_state_with_handler_on_nw_queue [C7] reporting state preparing
standard	04:07:12.735547+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession addInput:]: (0x282bffe80) <AVCaptureDeviceInput: 0x2829c3460 [Front Camera]>
standard	04:07:12.735568+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 2
standard	04:07:12.735862+0100	snip	[0x2815b8500] activating connection: mach=true listener=false peer=false name=com.apple.audio.AudioSession
standard	04:07:12.736521+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.736571+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 1
standard	04:07:12.736612+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.736632+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.736650+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.736670+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737024+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 2
standard	04:07:12.737168+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.737188+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 1
standard	04:07:12.737226+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.737246+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737329+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 2
standard	04:07:12.737349+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.737369+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 1
standard	04:07:12.737407+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.737426+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737447+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 2
standard	04:07:12.737466+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.737505+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 1
standard	04:07:12.737545+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.737564+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737582+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bffe80) updated beginConfigRefCount 2
standard	04:07:12.737602+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 1
standard	04:07:12.737622+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 1
standard	04:07:12.737732+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x282b8d410 'vide'/'420f' 1920x1080, { 1- 30 fps}, photo dims:{1920x1080,4032x2268}, fov:73.699, supports vis (max strength:Low), max zoom:128.88 (upscales @1.91), AF System:2, ISO:20.0-1920.0, SS:0.000039-1.000000, supports HDR, supports wide color, supports multicam, supports high photo quality, supports Portrait Effect, supports Studio Lighting, supports Reactions> preset:AVCaptureSessionPresetHigh
standard	04:07:12.737772+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.737818+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737852+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.737883+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.737950+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x282bffe80)
standard	04:07:12.737996+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bffe80) updated beginConfigRefCount 0
standard	04:07:12.738038+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 0
standard	04:07:12.738100+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.738118+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.744894+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[kUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.744916+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[k3rdPartyUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.745066+0100	audiomxd	SpatializationManager.cpp:183   Spatial info for session ID = 0x6d2f1: {
	App bundle ID = com.snip.snip
	Route = built-in speakers
	contentType = 'soun'
	overrideSpatialMode = 0
	preferencesVersion = 1

	Spatial preferences: {
		prefersHeadTrackedSpatialization = 0
		prefersLossyAudioSources = 0
		maxSpatializableChannels = 16
		alwaysSpatialize = 0
		spatialAudioSourceCount = 1
		spatialAudioSources = [ 'mlti' ]
	}
}
standard	04:07:12.745110+0100	audiomxd	  ServerSessionManager.mm:236   { "action":"create_session", "session":{"ID":"0x6d2f1","name":"snip(1279)","type":"Auxiliary"}, "details":{"PID":1279,"session_type":"Auxiliary"} }
standard	04:07:12.745312+0100	audiomxd	  ServerSessionManager.mm:733   Success - added newly-created session (sid:0x6d2f1, snip(1279), 'auxi') to app instance ({"name":"[implicit] snip","pid":1279})
standard	04:07:12.748480+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) New fcs config(2)
standard	04:07:12.748522+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) Setting fcs config(2) FigCaptureSessionConfiguration 0x283cb7880: ID 2, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x280db4f00: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x2802beca0:VideoPreview depth:0 filters:0 [] PrimaryCaptureRectModification:0, Aspect:0.000:1, Center:0.500 0.500, UniqueID:0 ZoomPIP:0 PortraitAutoSuggest:0>, /0x0, E:1, VIS:0, M:1, O:Unspecified, DOC:0, RBC:0, CIM:0
	VC 0x280db4ba0: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x2827f8c60:VideoData discards:1, preview:0, stability:0, requestedBufferAttachments.count:0>, 420f/1080x1920, E:1, VIS:0, M:1, O:Portrait, DOC
standard	04:07:12.748604+0100	snip	    AVAudioSession_iOS.mm:1579  Created session 0x282bb0350 with ID: 0x6d2f1
standard	04:07:12.748686+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession startRunning]: (0x282bffe80) (pthread:0x16f0cb000)
standard	04:07:12.748709+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) called. skipConfig: 0
standard	04:07:12.748903+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
standard	04:07:12.748960+0100	snip	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
standard	04:07:12.749927+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_SetConfiguration: <0x932fec000[1279][com.snip.snip]> New configuration: FigCaptureSessionConfiguration 0x934538880: ID 2, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x934933cc0: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x935ed8cb0:VideoPreview depth:0 filters:0 [] Portrait Lighting effect strength: 0.0 PrimaryCaptureRectModification:0, Aspect:0.000:1, Center:0.500 0.500, UniqueID:0 ZoomPIP:0 PortraitAutoSuggest:0>, /0x0, E:1, VIS:0, M:1, O:Unspecified, DOC:0, RBC:0, CIM:0
	VC 0x934933de0: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x932ded5f0:VideoData discards:1, preview:0, stability:0, requestedBufferAttachments.cou
standard	04:07:12.749974+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec000[1279][com.snip.snip]> ClientStartedSession:0 Cam/Audio:1/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:0 start:0 stop:0
standard	04:07:12.750586+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bffe80) New fcs config(3)
standard	04:07:12.750884+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_StartRunning: <0x932fec000[1279][com.snip.snip]> Called
standard	04:07:12.750909+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec000[1279][com.snip.snip]> ClientStartedSession:1 Cam/Audio:1/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:1 start:1 stop:0
standard	04:07:12.751244+0100	audiomxd	 AudioSessionServerImp.mm:694   { "action":"set_property", "session":{"ID":"0x6d2f1","name":"snip(1279)","type":"Auxiliary"}, "details":{"key":"AudioCategory","value":["PlayAndRecord"]} }
standard	04:07:12.751477+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec000[1279][com.snip.snip]> Will start session (client requested: 1)
standard	04:07:12.751502+0100	audiomxd	-MXSession- -[MXSession(InterfaceImpl) setOrderedPropertiesInternal:usingErrorHandlingStrategy:outPropertiesErrors:]: Session 'sid:0x6d2f1, snip(1279), 'auxi'' is setting ordered properties batch
standard	04:07:12.751796+0100	audiomxd	-CMSessionMgr- cmsSetAudioCategory: Client 'sid:0x6d2f1, snip(1279), 'auxi'' [0x534ec5500] set audioCategory to 'PlayAndRecord'
standard	04:07:12.751820+0100	audiomxd	-CMSessionMgr- cmsSetControlFlags: Session 'sid:0x6d2f1, snip(1279), 'auxi'' setting control flags: required = Volume_Routing, desired = 0
standard	04:07:12.751863+0100	audiomxd	-CMSMNotificationUtilities- CMSMNotificationUtility_PostSessionAudioCategoryDidChange_block_invoke: Posting AudioCategoryDidChange to session 'sid:0x6d2f1, snip(1279), 'auxi'', AudioCategory changed to 'PlayAndRecord'
standard	04:07:12.752912+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[kUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.752933+0100	audiomxd	   AudioToolboxServers.mm:855   ================= -> RoutingBehaviorChanged process 'sid:0x6d2f1, snip(1279), 'auxi'' =================
standard	04:07:12.753241+0100	audiomxd	   AudioToolboxServers.mm:864   ================= <- RoutingBehaviorChanged process 'sid:0x6d2f1, snip(1279), 'auxi'' =================
standard	04:07:12.753325+0100	audiomxd	SpatializationManager.cpp:627   Returning cached value mEntitlementsCache[k3rdPartyUntrackedHeadphoneEntitlement][com.snip.snip] = 0
standard	04:07:12.753621+0100	runningboardd	Calculated state for app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>: running-active (role: UserInteractiveFocal)
standard	04:07:12.753892+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_transitionToSessionStatus: <0x932fec000[1279][com.snip.snip]> Idle -> Starting Running
standard	04:07:12.754082+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_commitInflightConfiguration: <0x932fec000[1279][com.snip.snip]> committing configuration FigCaptureSessionConfiguration 0x934538880: ID 2, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x934933cc0: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x935ed8cb0:VideoPreview depth:0 filters:0 [] Portrait Lighting effect strength: 0.0 PrimaryCaptureRectModification:0, Aspect:0.000:1, Center:0.500 0.500, UniqueID:0 ZoomPIP:0 PortraitAutoSuggest:0>, /1080x1920, E:1, VIS:0, M:1, O:Portrait, DOC:0, RBC:0, CIM:0
	VC 0x934933de0: <SRC:Wide front 420f/1920x1080, 30-30(max:30), Z:1.00, ICM:0, (FD E:0 B:0 S:0), HR:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x932ded5f0:VideoData discards:1, preview:0, stability:0, requestedBufferA
standard	04:07:12.754105+0100	audiomxd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.754507+0100	runningboardd	Process: [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] has changes in inheritances: {(
    <RBSInheritance| environment:UIScene:com.apple.frontboard.systemappservices::FBSceneManager:sceneID%3Acom.snip.snip-default name:com.apple.frontboard.visibility origID:32-33-19471 payload 5656303167222798068>,
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)}
standard	04:07:12.754621+0100	runningboardd	Current inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>,
    <RBSInheritance| environment:UIScene:com.apple.frontboard.systemappservices::FBSceneManager:sceneID%3Acom.snip.snip-default name:com.apple.frontboard.visibility origID:32-33-19471 payload 5656303167222798068>,
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19478 0>
)}
standard	04:07:12.754707+0100	SpringBoard	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.754847+0100	audiomxd	SpatializationManager.cpp:183   Spatial info for session ID = 0x6d2f1: {
	App bundle ID = com.snip.snip
	Route = built-in speakers
	contentType = 'soun'
	overrideSpatialMode = 0
	preferencesVersion = 1

	Spatial preferences: {
		prefersHeadTrackedSpatialization = 0
		prefersLossyAudioSources = 0
		maxSpatializableChannels = 16
		alwaysSpatialize = 0
		spatialAudioSourceCount = 1
		spatialAudioSources = [ 'mlti' ]
	}
}
standard	04:07:12.754960+0100	snip	nw_socket_handle_socket_event [C7:1] Socket received CONNECTED event
standard	04:07:12.755162+0100	snip	nw_flow_connected [C7 IPv4#d9b62234:8081 in_progress socket-flow (satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, dns, uses wifi)] Output protocol connected (socket)
standard	04:07:12.755328+0100	snip	Lost inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>
)}
standard	04:07:12.755348+0100	snip	Lost inheritances: {(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>
)}
standard	04:07:12.757400+0100	audiomxd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.758897+0100	powerd	Process runningboardd.32 Released SystemIsActive "app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>32-33-19466:FBApplicationProcess" age:00:00:01  id:51539646165 [System: PrevIdle SysAct]
standard	04:07:12.760188+0100	runningboardd	Process: [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]: Sending inheritance changeset: <RBSInheritanceChangeSet| gained:{(
)} lost:{(
    <RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:32-33-19466 0>
)}>
standard	04:07:12.760327+0100	CommCenter	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.761303+0100	backboardd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.761347+0100	snip	[C7 IPv4#d9b62234:8081 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, dns, uses wifi)] event: flow:finish_connect @0.013s
standard	04:07:12.761522+0100	snip	nw_connection_report_state_with_handler_on_nw_queue [C7] reporting state ready
standard	04:07:12.761586+0100	snip	[C7 IPv4#d9b62234:8081 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, dns, uses wifi)] event: flow:changed_viability @0.018s
standard	04:07:12.761707+0100	snip	TCP Conn 0x2818c1b80 event 1. err: 0
standard	04:07:12.761748+0100	snip	TCP Conn 0x2818c1b80 complete. fd: 27, err: 0
standard	04:07:12.762850+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_startMonitoringForFigAssetWriterWritingVideoNotificationIfNecessary: <0x932fec000[1279][com.snip.snip]> Monitoring for <private>
standard	04:07:12.763005+0100	IDSCredentialsAgent	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763048+0100	gamepolicyd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-NotVisible
standard	04:07:12.763215+0100	symptomsd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763354+0100	nsurlsessiond	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763452+0100	itunesstored	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763552+0100	WirelessRadioManagerd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763649+0100	dasd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763829+0100	useractivityd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.763849+0100	wifid	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.764292+0100	locationd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.764353+0100	UserEventAgent	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.764378+0100	snip	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, unknown-NotVisible
standard	04:07:12.764583+0100	watchdogd	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.764647+0100	PerfPowerServices	Received state update for 1279 (app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>, running-active-Visible
standard	04:07:12.878375+0100	SpringBoard	Adding sensor usage data for CAMERA [bundle:com.snip.snip display:snip executableDisplayName:snip attributionGroup:com.snip.snip domain:(null) recently:NO]
standard	04:07:12.878398+0100	SpringBoard	<<<< AVControlCenterModules >>>> AVControlCenterModulesShouldBeShownForBundleID: called for bundleID: com.snip.snip
standard	04:07:12.878504+0100	SpringBoard	<<<< AVControlCenterModules >>>> AVControlCenterModulesShouldBeShownForBundleID: com.snip.snip active:0
standard	04:07:12.878556+0100	SpringBoard	Setting visibility of AV modules to NO for bundle identifer com.snip.snip
standard	04:07:12.878823+0100	SpringBoard	[Recording Indicator] Active camera/microphone activity changed:
{(
    <SBSensorActivityAttribution: 0x280fc0330; displayName: snip; bundleIdentifier: com.snip.snip; website-non-nil: NO; isSystemService: NO; sensor: camera>
)}
standard	04:07:12.879826+0100	SpringBoard	[SensorActivity][PIPWindowHidden] Interrupting PIP for camera activity: attribution[<SBSensorActivityAttribution: 0x280fc0330; displayName: snip; bundleIdentifier: com.snip.snip; website-non-nil: NO; isSystemService: NO; sensor: camera>] bundleIdentifier[com.snip.snip]
standard	04:07:12.879846+0100	SpringBoard	[Assertions] Interrupting for assertion: <SBPIPInterruptionAssertion: 0x2801f8e00; identifier: SBPIPController-com.snip.snip; reason: SBPIPBehaviorOverrideReasonCameraSensorActivity; valid: YES; camera sensor bundle identifier: com.snip.snip>
standard	04:07:12.880712+0100	SpringBoard	-[PGPictureInPictureController pictureInPictureInterruptionBeganWithReason:attribution:] camera com.snip.snip
standard	04:07:12.918050+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_transitionToSessionStatus: <0x932fec000[1279][com.snip.snip]> Starting Running -> Running
standard	04:07:12.918092+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_transitionToSessionStatus: <0x932fec000[1279][com.snip.snip]> Starting took 173.7ms
standard	04:07:12.918207+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _setRunning:]: (0x282bffe80) posting AVCaptureSessionDidStartRunningNotification
standard	04:07:12.918302+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x282bbc110)
standard	04:07:12.918323+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bbc110) updated beginConfigRefCount 1
standard	04:07:12.918492+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x282bbc110) updated beginConfigRefCount 2
standard	04:07:12.918517+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bbc110) updated beginConfigRefCount 1
standard	04:07:12.918538+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bbc110) called. skipConfig: 1
standard	04:07:12.918771+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x282bbc110)
standard	04:07:12.918797+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x282bbc110) updated beginConfigRefCount 0
standard	04:07:12.919128+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_SetConfiguration: <0x932fec900[1279][com.snip.snip]> New configuration: FigCaptureSessionConfiguration 0x932110b00: ID 4, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 0, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
standard	04:07:12.919186+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateRunningCondition: <0x932fec900[1279][com.snip.snip]> ClientStartedSession:0 Cam/Audio:0/0 bg:0 prewarming:0 int:0 multitasking:0 pip:0 devStolen:0 pressured:0 active:0 shouldRun:0 start:0 stop:0
standard	04:07:12.919411+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bbc110) called. skipConfig: 0
standard	04:07:12.919507+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bbc110) New fcs config(4)
standard	04:07:12.919528+0100	snip	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x282bbc110) Setting fcs config(4) FigCaptureSessionConfiguration 0x283cfaf80: ID 4, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 0, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
standard	04:07:12.929064+0100	snip	<private>: Will add backgroundTask with taskName: <private>, expirationHandler: <__NSMallocBlock__: 0x2827e6430>
standard	04:07:12.929088+0100	snip	<private>: Creating new assertion because there is no existing background assertion.
standard	04:07:12.929109+0100	snip	<private>: Creating new background assertion
standard	04:07:12.929130+0100	snip	<private>: Created new background assertion <BKSProcessAssertion: 0x280ae3ac0>
standard	04:07:12.929364+0100	runningboardd	Acquiring assertion targeting [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] from originator [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279] with description <RBSAssertionDescriptor| "Shared Background Assertion 3 for com.snip.snip" ID:32-1279-19479 target:1279 attributes:[
	<RBSLegacyAttribute| requestedReason:FinishTask reason:FinishTask flags:( PreventTaskSuspend )>,
	<RBSAcquisitionCompletionAttribute| policy:AfterValidation>
	]>
standard	04:07:12.929411+0100	runningboardd	Assertion 32-1279-19479 (target:[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]) will be created as inactive as start-time-defining assertions exist
standard	04:07:12.929579+0100	snip	<private>: Incrementing reference count for background assertion <private>
standard	04:07:12.930048+0100	snip	<private>: Created background task <private>.
standard	04:07:12.950320+0100	snip	<private>: Ending background task with UIBackgroundTaskIdentifier: 7
standard	04:07:12.950364+0100	snip	<private>: Ending task with identifier 7 and description: <private>, _expireHandler: <__NSMallocBlock__: 0x2827d9410>
standard	04:07:12.950416+0100	snip	<private>: Decrementing reference count for assertion <private> (used by background task with identifier 7: <private>)
standard	04:07:12.950438+0100	snip	<private>: Will invalidate assertion: <BKSProcessAssertion: 0x280ae3ac0> for task identifier: 7
standard	04:07:12.950735+0100	runningboardd	Invalidating assertion 32-1279-19479 (target:[app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]) from originator [app<com.snip.snip(50C96EA4-AEF1-41DE-B9C4-3FBAB6D393D9)>:1279]
standard	04:07:13.038259+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_updateDeferredGraphSetupStartCondition: <0x932fec000[1279][com.snip.snip]> Did display first preview frame
standard	04:07:13.144746+0100	mediaserverd	<<<< FigCaptureSession >>>> captureSession_startDeferredGraphSetupWork: <0x932fec000[1279][com.snip.snip]> Called

Camera Device

{
  "isMultiCam": false,
  "hasTorch": false,
  "sensorOrientation": "landscape-right",
  "position": "front",
  "supportsRawCapture": false,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "neutralZoom": 1,
  "supportsFocus": true,
  "formats": [],
  "minZoom": 1,
  "supportsLowLightBoost": false,
  "maxExposure": 8,
  "maxZoom": 128.875,
  "minFocusDistance": 20,
  "hasFlash": true,
  "name": "Front Camera",
  "minExposure": -8,
  "id": "com.apple.avfoundation.avcapturedevice.built-in_video:1",
  "hardwareLevel": "full"
}

Device

iPhone 15 Pro (iOS 17.2)

VisionCamera Version

3.9.0

Can you reproduce this issue in the VisionCamera Example app?

I didn't try (⚠️ your issue might get ignored & closed if you don't try this)

Additional information

mfkrause avatar Feb 17 '24 03:02 mfkrause

This only seems to happen when using runAsync. If I use runAtTargetFps (tested with 15 FPS for now), it works seamlessly.

mfkrause avatar Feb 17 '24 11:02 mfkrause

@mfkrause Hey, you're using my face detection package, glad it's helping you 😁

I had the same problem and as a workaround I added frame data inside detection result data, so instead of using frame.height try using result.frame.height.

For me this works.

The most strange thing is that on androi it works, you can use frame data directly without any issue but on IOS it freezes after some frames

luicfrr avatar Feb 19 '24 19:02 luicfrr

I made a minimal reproducer.

const frameProcessor = useFrameProcessor((frame) => {
  'worklet'

  runAsync(frame, () => {
    'worklet'
    foo(frame)

    console.info('run frame processor')
  })
}, [])

And the definition of foo should be

const foo = (frame: Frame) => {
  'worklet'
  frame.height
}

When foo doesn't include any access to frame's property(height here), the frame processor doesn't stop.

bglgwyng avatar Feb 23 '24 06:02 bglgwyng

Check this, get the result and operate on the current processor and not on the callback

https://github.com/nonam4/react-native-vision-camera-face-detector/issues/28

frodriguez-hu avatar Apr 09 '24 13:04 frodriguez-hu

Hey - I think this issue has been fixed in VisionCamera 4.0.0. 🥳

Please try V4 and let me know if you still experience this issue;

  • if not, please consider 💖 sponsoring me on GitHub 💖 to support the development of VisionCamera and thank me for my time spent on fixing bugs and building new features.
  • if you still see this issue, please comment and we can re-open this. But please update your native logs with the native (Xcode/Android Studio) logs from running VisionCamera V4 so I can investigate this.

mrousavy avatar Apr 22 '24 11:04 mrousavy

more accurately; react-native-worklets-core 1.x.x fixed this issue I think.

mrousavy avatar Apr 22 '24 11:04 mrousavy

I think we need to reopen this issue. I still observe the same behavior with [email protected] and [email protected].

bglgwyng avatar Apr 27 '24 04:04 bglgwyng

Ah shit. Well can we create a new issue with logs from latest react-native-vision-camera and rnwc then?

mrousavy avatar Apr 29 '24 09:04 mrousavy

@mrousavy I created a new issue on worklets-core repo with all logs from latest versions

luicfrr avatar Apr 29 '24 10:04 luicfrr

Great, thanks

mrousavy avatar Apr 29 '24 10:04 mrousavy

@mrousavy I messed up with issues I'm subscribed 😅 this don't have anything to do with worklets-core. Sorry.

But anyway, what solved this "freeze" issue for me was incrementing frame ref count before doing anything else with frame. Ex:

const faces = detectFaces( frame )
const internal = frame as FrameInternal
// incremend frame ref before doing any task with frame
internal.incrementRefCount()
runOnJs(
  faces,
  frame
).finally( () => {
  'worklet'
  // decrement frame ref after all tasks
  internal.decrementRefCount()
} )

@bglgwyng Hope this helps

luicfrr avatar Apr 29 '24 14:04 luicfrr

Thanks! But isn't it a workaround? runAsync internally increases/decreases the ref count. Should we perform this redundant operation?

bglgwyng avatar May 02 '24 03:05 bglgwyng

I fixed this issue in my latest PR to main. Ref counting now works properly on iOS as well

mrousavy avatar May 02 '24 08:05 mrousavy