Per MSE spec, a source buffer has a parsing state attribute that can be of any 3 values: WAITING_FOR_SEGMENT, PARSING_INIT_SEGMENT, PARSING_MEDIA_SEGMENT https://w3c.github.io/media-source/#sourcebuffer-segment-parser-loop This internal state is used to safeguard incorrectly calling SourceBuffer.setAppendMode [1] or modifying SourceBuffer.timeStampOffset [2] while we're in the middle of processing a media segment and to throw an exception if we are. https://w3c.github.io/media-source/#dom-sourcebuffer-mode https://w3c.github.io/media-source/#dom-sourcebuffer-timestampoffset However, in the current code, SourceBuffer::m_appendState is only ever set to AppendStateType::WaitingForSegment The state value should be updated in the Segment Parser Loop that is handled by SourceBufferPrivate but isn't.
<rdar://problem/80445668>