As it stands, AudioStreamer can return yes from isDone because of 3 separate reasons:
1) AS_DONE set with no error (Same as EOF?)
2) AS_STOPPED set via [streamer stop]
3) AS_DONE set by error
For my needs, I needed to disambiguate (at least to avoid needless branching). So I stopped using isDone and added these methods:
As it stands, AudioStreamer can return yes from isDone because of 3 separate reasons: 1) AS_DONE set with no error (Same as EOF?) 2) AS_STOPPED set via [streamer stop] 3) AS_DONE set by error
For my needs, I needed to disambiguate (at least to avoid needless branching). So I stopped using isDone and added these methods: