Fix the onCompleted() handler. The EOF state can now occur before the PLAYING state. This is due to prebuffering.

Reset the observer state when opening the stream.

Do not set the state.