When using .replaceTrack on the RtcRtpSender, to update the local video I also used .removeTrack and .addTrack on the local stream. In Firefox I found it was sometimes necessary to do `video.srcObject = video.srcObject;` to make it display the new video properly. When I ran the same code on WebKit, it crashed. (Note: It does work fine for me without resetting the srcObject in WebKit though.) I created this jsbin based on the basic RTCPeerConnection webrtc sample to demonstrate the issue: https://output.jsbin.com/qewizecate (Click 'Start', 'Call', check 'Refresh srcObject', click 'Change Video'.)
Ah the jsbin expired, here's one that should last: https://output.jsbin.com/doweto
<rdar://problem/32496861>
I cannot reproduce this on STP 32.