code: function( connection, options ) {
  
      options = options || {};
  
      this.connection = connection;
      this.channels = options.channels || 1;
      this.whisperId = options.whisperId;
      this.sampleRate = options.sampleRate || 48000;
      this.gain = options.gain || 1;
      this.bitDepth = options.bitDepth || 16;
      this.signed = options.signed !== undefined ? options.signed : true;
      this.endianness = options.endianness || 'LE';
  
      if( options && options.decodeStrings === false ) {
          throw new TypeError( 'MumbleInputStream does not support decoded string writes' );
      }
  
      this.processInterval = setInterval(
          this._processBuffer.bind( this ),
          this.connection.FRAME_LENGTH );
  
      this.processObserver = new EventEmitter();
      this.frameQueue = [];
  
      this.lastFrame = this._createFrameBuffer();
  
      this.lastFrameWritten = 0;
      this.queuedForPlay = 0;
      this.lastWrite = null;
      this.sent = 0;
  
      // Call the Writable constructor
      WritableStream.call( this, options );
  }
docs: @summary Input stream for sending audio to Mumble.
  
  @description
  The stream implements the `WritableStream` interface.
  
  The input data format can be specified with the constructor options. The
  final audio will be converted to mono 16-bit PCM at 48 kHz.
  
  Currently the packets are sent to murmur in 10ms packets. The sample rate
  should be such that it can divide the audio to packets of that size.
  
  @constructor
  @this {MumbleInputStream}
  @param {MumbleConnection} connection Mumble connection to write to
  @param {Object} options - Stream options.
  @param {number} options.sampleRate - Input sample rate. Defaults to 48000.
  @param {number} options.channels - Input channels. Defaults to 1.
  @param {number} options.gain - Volume multiplier. Defaults to 1.