Play state, warnings, and errors

To detect changes in the play state, read the state object in delta mode.

The state object is updated based on input attachment and playback events, as follows:

A warning is a problem that doesn't stop playback. If there's a warning, the state remains as playing, and the warning and warning_pos attributes are set.

An error is a problem that stops playback. If there's an error: