|
@@ -432,6 +432,16 @@ static int snd_compress_check_input(struct snd_compr_params *params)
|
|
|
params->buffer.fragments > SIZE_MAX / params->buffer.fragment_size)
|
|
|
return -EINVAL;
|
|
|
|
|
|
+ /* now codec parameters */
|
|
|
+ if (params->codec.id == 0 || params->codec.id > SND_AUDIOCODEC_MAX)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ if (params->codec.ch_in == 0 || params->codec.ch_out == 0)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ if (!(params->codec.sample_rate & SNDRV_PCM_RATE_8000_192000))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|