Sorry if I'm stating the obvious but mVideoState::AudioTrack is uninitialised which results in a null pointer when trying to get its audio clock value:
The problem is that since corristo's change, SoundManager::playTrack will actually decode samples, which means the virtual Sound_Decoder::read method will be called. And for the video, that is a MovieAudioDecoder::read which calls get_audio_clock(), and that depends on the AudioTrack pointer already being set up. However, since we haven't even returned from the playTrack method yet, the pointer is not set.
It may be enough to just revert commit 51fb9f65ea5086433fa0d1db12197b133a9b27fd so that it decodes the initial batch in the decode thread, rather than on play. I rather dislike first-time-only special cases, but that seems to be the way to go here for now.
Thanks. Applying fix now. Should have checked this part first. But then, this should also cause reloading content files saved with OpenCS to break on Windows. I guess no one ever tried that.
The version handling fix is kinda annoying. Now I can't update the version number (which I normally do shortly after creating the release branch) without adding a tag.