Safari can dispatch a playback error event with target.error set to null
Created by: davemevans
Seems like it shouldn't be allowed, but Safari is dispatching error events on HTMLMediaElement with target.error set to null.
streamController.onError subsequently tries to get at error.code and throws an exception.
We should probably check that e.data.error is not null.