import { ffmpegBuffer } from './conversions.js';
import { decode as decodeWav } from './decode.js';

const decode = async (buffer: Buffer, opts: { sampleRate?: number }) => {
  const flags = ['-vn', '-c:a', 'pcm_f32le', '-f', 'wav'];
  if (opts?.sampleRate) {
    flags.push('-ar', opts.sampleRate.toString());
  }
  const wavBuffer = await ffmpegBuffer(buffer, flags);
  return decodeWav(wavBuffer);
};

export default decode;
