video-quickstart-ios: Disabling local video track causes crash

I am using TwilioVideo for calls over the internet. I am trying to support disabling video.

Based on the example code, I expected this would do the trick:

localVideoTrack?.isEnabled = false

Where localVideoTrack is an instance of TVILocalVideoTrack created using:

let camera = TVICameraCapturer(source: .frontCamera, delegate: self)
localVideoTrack = TVILocalVideoTrack.init(capturer: camera!)

I used basically the same approach with the TVILocalAudioTrack to mute and unmute microphone, which works like a charm.

However, with video, when I call:

localVideoTrack?.isEnabled = false

I get a crash:

2018-09-25 17:58:47.270895+0200 App[714:101541] -[TVIRTCI420Buffer coreVideoFrameBuffer]: unrecognized selector sent to instance 0x280d8ce00
2018-09-25 17:58:47.289063+0200 App[714:101541] Encountered an uncaught exception. All Mixpanel instances were archived.
2018-09-25 17:58:47.289128+0200 App[714:101541] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TVIRTCI420Buffer coreVideoFrameBuffer]: unrecognized selector sent to instance 0x280d8ce00'
*** First throw call stack:
(0x18f53bef8 0x18e709a40 0x18f453154 0x18f541810 0x18f5434bc 0x1043b754c 0x1043b6cac 0x1043f4524 0x10460e358 0x10461ed0c 0x104431f58 0x104433d18 0x10443bf24 0x109068de4 0x109070e88 0x109071b7c 0x10907bc18 0x18f1560f0 0x18f158d00)
libc++abi.dylib: terminating with uncaught exception of type NSException

enter image description here

Any idea why this is happening?

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 21 (10 by maintainers)

Most upvoted comments

@MilanNosal @aastlind

We released Twilio Video iOS 2.5.1 today which addresses this crash.

Let us know if this has resolved your issue and then we’ll close out this issue.

Thanks for your patience while we diagnosed and fixed the issue.

Ryan

@aastlind I apologize for the issue. Yes, we have a bug in our H.264 video encoder. I am working on the fix and aiming to release it in a couple of days. Thanks.

@ceaglest: Only to confirm, I just run a test removing H.264 as preferred video codec (leaving VP9 and VP8 as remaining preferred codecs) and then it works fine to disable the track.

Good to see that you know where to start! 😃