simple-audio-card,format = "left_j";
static int ns4168_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
{
fmt &= (SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_INV_MASK |
SND_SOC_DAIFMT_MASTER_MASK);
/* Разрешаем работу в I2S и в честном однослотовом DSP_A (PCM) режиме */
if (fmt != (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS) &&
fmt != (SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS) &&
fmt != (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS)) {
dev_err(codec_dai->dev, "Invalid DAI format\n");
return -EINVAL;
}
return 0;
}
частота 7,5 kHz вместо 8kHz - звук громкий и хрипит
если использовать предыдущий вариант с dsp_a:
gst-launch-1.0 filesrc location=/output.raw ! audio/x-raw, format=S16LE, rate=48000, channels=2, layout=interleaved ! au
dioconvert ! audioresample ! audio/x-raw, rate=8000, format=S16LE, channels=1, caudioamplify volume=0.1 ! alsasink device=hw:ns4168monoaudio
WARNING: erroneous pipeline: could not parse caps "audio/x-raw, rate=8000, format=S16LE, channels=1, caudioamplify volume=0.1"