code: function write (buffer, cb) {
  		if (isStopped) return false
  
  		//test if we have to end
  		//FIXME it should wait till all the data fed
  		if (buffer == null) {
  			callbackQueue.push(function () {
  				end()
  				cb && cb()
  			})
  			callbackMarks.push(count)
  			return null
  		}
  
  		//push buffer
  		if (!isAudioBuffer(buffer)) {
  			buffer = createBuffer(buffer, {
  				channels,
  				context
  			})
  		}
  
  		count += buffer.length
  		data.append(buffer)
  
  		//save callback
  		if (cb) {
  			callbackQueue.push(cb)
  			callbackMarks.push(count)
  		}
  
  		return buffer
  	}
docs: return writer function