Skip to content

iOS: [RTCI420Frame nativeHandle] #234

@alexpell00

Description

@alexpell00

I am trying to create a local media stream in my iOS webRTC app. See code below

let localStream = pcFactory.mediaStream(withLabel: "ARDAMS")!

let audio = pcFactory.audioTrack(withID: "ARDAMSa0")
localStream.addAudioTrack(audio!)

var device: AVCaptureDevice?
for captureDevice in AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo){
    if let captureDevice = captureDevice as? AVCaptureDevice{
        if captureDevice.position == AVCaptureDevicePosition.front{
            device = captureDevice
        }
    }
}

if let device = device{
    let capture = RTCVideoCapturer(deviceName: device.localizedName)
    let videoSource = pcFactory.videoSource(with: capture, constraints: nil)
    localVideoTrack = pcFactory.videoTrack(withID: "ARDAMSv0", source: videoSource)
    localStream.addVideoTrack(localVideoTrack)
}


self.peerConnection?.add(localStream)

localVideoTrack?.add(localVideoView)

Everything works, but when after I add the localVideoView to the localVideoTrack I get an error:

-[RTCI420Frame nativeHandle]: unrecognized selector sent to instance 0x170010620

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RTCI420Frame nativeHandle]: unrecognized selector sent to instance 0x170010620'

All of the code is running on the main thread and the app has the appropriate permissions and plist keys. When I walk through the code line by line using the debugger everything seems to be running correctly. This code was taken from the Obj-C AppRTC demo, it has just been converted to swift. I can't seem to find the difference between my swift project that crashes and the working AppRTC project. Any idea what I am doing wrong? I am testing on a 64 bit device. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions