In some cases (that I cannot explain) apparently we get this crash

*** Terminating app due to uncaught exception 'NSRangeException', reason: 'Cannot remove an observer <DVIABPlayer 0x1ecb7ee0> for the key path "rate" from <DVIABPlayer 0x1ecb7ee0> because it is not registered as an observer.'

Wrapping the removeObserver in a @try@catch will fix it — but it's weird.