akvirtualcamera icon indicating copy to clipboard operation
akvirtualcamera copied to clipboard

Zoom and other meeting apps crash when switching cams

Open old9 opened this issue 1 year ago • 2 comments

Summary

Zoom and other meeting apps crash when switching between akvcam(s) and other cams under windows.

Current Behavior

Describe the problem the best as you can, don't omit information.

Expected Behavior

should not crash client app when switching cams

Steps to Reproduce

  1. with settings
[Cameras]
cameras/size = 1

cameras/1/description = testcam
cameras/1/formats = 1
cameras/1/id = akvcamid1
 
[Formats]
formats/size = 1

formats/1/format = YUY2
formats/1/width = 1920
formats/1/height = 1080
formats/1/fps = 30

and akvcammanager load settings.ini, it's adding the vcam correctly

  1. using gstreamer or ffmpeg to push stream to akvcam: ffmpeg -hide_banner -loglevel panic -rtsp_transport tcp -i "rtsp://10.10.0.1/1" -pix_fmt yuyv422 -f rawvideo - | AkVCamManager stream akvcamid1 YUY2 1920 1080 or gst-launch-1.0 --quiet rtspsrc location="rtsp://10.10.0.1/1" protocols=tcp ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=YUY2 ! fdsink | AkVCamManager stream akvcamid1 YUY2 1920 1080
  2. launch Zoom and go to settings - video, choose testcam and the video shows normally
  3. switch to other cams and switch back to testcam several times
  4. Zoom crashes
  5. tested in other meetings apps like ms teams, obs, tencent wemeet, classin and on different machines, crash happens sooner or later when stop/start reading from the vcam

Your Environment

  • akvirtualcamera information: 9.1.3 x64
  • Operating System information: Window 10 22H2 19045.5247

extra info

sometimes it reports the crash part is ntdll.dll, sometimes it's AkVirtualCamera.dll

old9 avatar Dec 21 '24 05:12 old9

Because when the camera was to be turned off, the filter had already been released and was still streaming, and the frameReady method was called, it crashed In IEJPins * AkVCam: BaseFilterPrivate::pinsForDevice(const std::string &deviceId) And AkVCam: Add a resource lock to BaseFilter Private::~BaseFilter Private ()

caoailin avatar Apr 12 '25 08:04 caoailin

@caoailin Will check thank you very much!

hipersayanX avatar Apr 12 '25 22:04 hipersayanX