OBS crashing with Sony Virtual Webcam Driver

John Shriver

New Member
MacBook Air M1
macOS 14.3
OBS 30.0.2
Sony Virtual Webcam Driver 1.2: https://pro.sony/en_HR/support-resources/SRG-X120/software/00262831

I had to do "system-override legacy-camera-plugins-without-sw-camera-indication=on" in Recovery Mode to even enable the Sony driver without "record lights."

I create a Source of type Video Capture Device, and assign it to one of the virtual USB cameras created by Sony Virtual Webcam Driver 1.2, such as "Sony Camera 4 (Virtual Webcam), after clicking OK, I get a brief flash of the VWD splash screen, and then OBS crashes. It doesn't matter if the driver has an RTMP connection to the camera or not.

The macOS crash report, public on Dropbox: https://www.dropbox.com/scl/fi/s2zpuv77ml92kp29mrl4a/obs.txt?rlkey=63dstug0nufrul4j9d3v5dlvc&dl=0

The OBS log:

15:03:59.496: [macOS] Permission for audio device access granted.
15:03:59.499: [macOS] Permission for video device access granted.
15:03:59.502: [macOS] Permission for accessibility granted.
15:03:59.506: [macOS] Permission for screen capture granted.
15:03:59.506: CPU Name: Apple M1
15:03:59.506: Physical Cores: 8, Logical Cores: 8
15:03:59.506: Physical Memory: 8192MB Total
15:03:59.506: OS Name: macOS
15:03:59.506: OS Version: Version 14.3 (Build 23D56)
15:03:59.506: Rosetta translation used: false
15:03:59.506: Kernel Version: 23.3.0
15:03:59.510: hotkeys-cocoa: Using layout 'com.apple.keylayout.US'
15:03:59.510: Current Date/Time: 2024-01-31, 15:03:59
15:03:59.510: Browser Hardware Acceleration: true
15:03:59.510: Qt Version: 6.5.3 (runtime), 6.5.3 (compiled)
15:03:59.510: Portable mode: false
15:03:59.619: OBS 30.0.2 (mac)
15:03:59.619: ---------------------------------
15:03:59.620: ---------------------------------
15:03:59.620: audio settings reset:
15:03:59.620: samples per sec: 48000
15:03:59.620: speakers: 2
15:03:59.620: max buffering: 960 milliseconds
15:03:59.620: buffering type: dynamically increasing
15:03:59.621: ---------------------------------
15:03:59.621: Initializing OpenGL...
15:03:59.660: Loading up OpenGL on adapter Apple Apple M1
15:03:59.660: OpenGL loaded successfully, version 4.1 Metal - 88, shading language 4.10
15:03:59.837: ---------------------------------
15:03:59.837: video settings reset:
15:03:59.837: base resolution: 1920x1080
15:03:59.837: output resolution: 1280x720
15:03:59.837: downscale filter: Bicubic
15:03:59.837: fps: 30/1
15:03:59.837: format: NV12
15:03:59.837: YUV mode: Rec. 709/Partial
15:03:59.837: NV12 texture support not available
15:03:59.837: P010 texture support not available
15:03:59.840: Audio monitoring device:
15:03:59.840: name: Default
15:03:59.840: id: default
15:03:59.840: ---------------------------------
15:03:59.846: No AJA devices found, skipping loading AJA UI plugin
15:03:59.846: Failed to initialize module 'aja-output-ui'
15:03:59.852: No AJA devices found, skipping loading AJA plugin
15:03:59.852: Failed to initialize module 'aja'
15:03:59.854: Failed to load 'en-US' text for module: 'decklink-captions'
15:03:59.855: Failed to load 'en-US' text for module: 'decklink-output-ui'
15:03:59.856: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
15:03:59.856: Failed to initialize module 'decklink'
15:04:00.032: [obs-browser]: Version 2.22.2
15:04:00.032: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.61.26+g3630089+chromium-103.0.5060.134 (compiled)
15:04:00.052: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.3.4 | RPC Version: 1)
15:04:00.052: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.5.3 | Qt version (run-time): 6.5.3
15:04:00.052: [obs-websocket] [obs_module_load] Linked ASIO Version: 102800
15:04:00.055: [obs-websocket] [obs_module_load] Module loaded.
15:04:00.061: os_dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib->/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib): dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib, 0x0105): tried: '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file)
15:04:00.061:
15:04:00.061: [vlc-video]: Couldn't find VLC installation, VLC video source disabled
15:04:00.061: ---------------------------------
15:04:00.061: Loaded Modules:
15:04:00.061: vlc-video
15:04:00.061: text-freetype2
15:04:00.061: rtmp-services
15:04:00.061: obs-x264
15:04:00.061: obs-websocket
15:04:00.061: obs-webrtc
15:04:00.061: obs-vst
15:04:00.061: obs-transitions
15:04:00.061: obs-outputs
15:04:00.061: obs-filters
15:04:00.061: obs-ffmpeg
15:04:00.061: obs-browser
15:04:00.061: mac-virtualcam
15:04:00.061: mac-videotoolbox
15:04:00.061: mac-syphon
15:04:00.061: mac-capture
15:04:00.061: mac-avcapture
15:04:00.061: image-source
15:04:00.061: frontend-tools
15:04:00.061: decklink-output-ui
15:04:00.061: decklink-captions
15:04:00.061: coreaudio-encoder
15:04:00.061: ---------------------------------
15:04:00.061: [VideoToolbox encoder]: Added VideoToolbox encoders
15:04:00.062: QWidget::setTabOrder: 'first' and 'second' must be in the same window
15:04:00.062: ==== Startup complete ===============================================
15:04:00.115: All scene data cleared
15:04:00.115: ------------------------------------------------
15:04:00.214: coreaudio: Device 'MacBook Air Microphone' [48000 Hz] initialized
15:04:00.214: [Loaded global audio device]: 'Mic/Aux'
15:04:00.243: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic/Aux)
15:04:00.243:
15:04:00.250: FaceTime Camera: Selected device 'FaceTime HD Camera'
15:04:00.252: FaceTime Camera: Using preset High
15:04:01.322: Video Capture Device: No device selected
15:04:01.322: Video Capture Device 2: No device selected
15:04:01.323: Switched to scene 'Camera 1'
15:04:01.324: ------------------------------------------------
15:04:01.324: Loaded scenes:
15:04:01.324: - scene 'Camera':
15:04:01.324: - source: 'FaceTime Camera' (av_capture_input_v2)
15:04:01.324: - scene 'Still Picture':
15:04:01.324: - source: 'Irene Holloway' (image_source)
15:04:01.324: - scene 'Camera 1':
15:04:01.324: - source: 'Video Capture Device' (av_capture_input_v2)
15:04:01.324: - source: 'Video Capture Device 2' (av_capture_input_v2)
15:04:01.324: ------------------------------------------------
15:04:01.480: [mac-virtualcam] macOS Camera Extension activated successfully.
15:04:09.228: Video Capture Device 3: No device selected
15:04:09.232: User added source 'Video Capture Device 3' (av_capture_input_v2) to scene 'Camera 1'
15:04:12.738: Video Capture Device 3: Selected device 'Sony Camera 4 (Virtual Webcam)'
15:04:12.738: Video Capture Device 3: Using preset High
 

John Shriver

New Member
I built from git source, master branch, same failure.

Backtrace in crashing thread:
libsystem_kernel.dylib`:


0x183c8e0d4 <+0>: mov x16, #0x148
0x183c8e0d8 <+4>: svc #0x80
-> 0x183c8e0dc <+8>: b.lo 0x183c8e0fc ; <+40>
0x183c8e0e0 <+12>: pacibsp
0x183c8e0e4 <+16>: stp x29, x30, [sp, #-0x10]!
0x183c8e0e8 <+20>: mov x29, sp
0x183c8e0ec <+24>: bl 0x183c86230 ; cerror_nocancel
0x183c8e0f0 <+28>: mov sp, x29
0x183c8e0f4 <+32>: ldp x29, x30, [sp], #0x10
0x183c8e0f8 <+36>: retab
0x183c8e0fc <+40>: ret

The "lldb" output:
Lvdl: HardwarePlugIn_ObjectGetPropertyDataSize Device(33) kCMIODevicePropertyStreams self=0x1281795c0 size=4

Lvdl: HardwarePlugIn_ObjectHasProperty Device(33) kCMIODevicePropertyStreams self=0x1281795c0 hasProperty=1

Lvdl: HardwarePlugIn_ObjectGetPropertyData Device(33) kCMIODevicePropertyStreams self=0x1281795c0 data(int)=34


-[MTLDebugDevice newTextureWithDescriptor:iosurface:plane:]:2641: failed assertion `Texture Descriptor Validation iosurface must not be nil.'

[tcp @ 0x6000036ac360] Connection to tcp://192.168.1.202:1024?timeout=15000000 failed: Operation timed out

This was at home, where I cannot access the cameras. But the crash is the same when I'm on that network with pre-built versions.
 

John Shriver

New Member
That thread doesn't appear to have any OBS source in the backtrace. Appears to be a worker thread for Apple Core Medio I/O.

I'm a retired programmer with C++ experience, could try and troubleshoot this if given some pointers.
 
Top