Some refinement.
Adds the feature to set initial buffer size. It can block to play until the buffer length to this value