I expect it may be significant that there's an AVMutableComposition involved in this issue.
NSConcreteNotification 0x283b85f50 {name = AVPlayerItemFailedToPlayToEndTimeNotification; object = <Muddle.CompositionPlayerItem: 0x283599040, asset = <AVMutableComposition: 0x283567c80 tracks = ( "<AVMutableCompositionTrack: 0x283567ea0 trackID = 1, mediaType = soun, editCount = 1>", "<AVMutableCompositionTrack: 0x283563a60 trackID = 2000, mediaType = vide, editCount = 1>", "<AVMutableCompositionTrack: 0x283563b00 trackID = 2001, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283598320 trackID = 1009, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283563c60 trackID = 1010, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283598440 trackID = 1011, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283598520 trackID = 1012, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283598600 trackID = 1013, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283563d20 trackID = 1014, mediaType = vide, editCount = 0>", "<AVMutableCompositionTrack: 0x283598700 trackID = 1015, mediaType = vide, editCount = 0>" )>>; userInfo = { AVPlayerItemFailedToPlayToEndTimeErrorKey = "Error Domain=AVFoundationErrorDomain Code=-11800 \"The operation could not be completed\" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-12814), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x283bb55f0 {Error Domain=NSOSStatusErrorDomain Code=-12814 \"(null)\"}}"; }}
CompositionPlayerItem is simply an AVPlayerItem that holds a reference to a composition.
class CompositionPlayerItem : AVPlayerItem { var composition: AVMutableComposition?