/**
     * Stops the transfer of media data from this <tt>AbstractBufferStream</tt>.
     *
     * @throws IOException if anything goes wrong while stopping the transfer of media data from
     *     this <tt>AbstractBufferStream</tt>
     * @see AbstractBufferStream#stop()
     */
    @Override
    public void stop() throws IOException {
      synchronized (this) {
        if (audioRecord != null) {
          audioRecord.stop();
          setThreadPriority = true;
        }
      }

      super.stop();
    }