+
+ if (header.compression_code != 1)
+ {
+ Error(ERR_WARN, "sound file '%s': compression code %d not supported",
+ filename, header.compression_code);
+ fclose(file);
+ free(snd_info);
+ return NULL;
+ }
+
+ if (header.num_channels != 1)
+ {
+ Error(ERR_WARN, "sound file '%s': number of %d channels not supported",
+ filename, header.num_channels);
+ fclose(file);
+ free(snd_info);
+ return NULL;
+ }
+
+ if (header.bits_per_sample != 8 && header.bits_per_sample != 16)
+ {
+ Error(ERR_WARN, "sound file '%s': %d bits per sample not supported",
+ filename, header.bits_per_sample);
+ fclose(file);
+ free(snd_info);
+ return NULL;
+ }
+
+ /* warn, but accept wrong sample rate (may be only slightly different) */
+ if (header.sample_rate != DEFAULT_AUDIO_SAMPLE_RATE)
+ Error(ERR_WARN, "sound file '%s': wrong sample rate %d instead of %d",
+ filename, header.sample_rate, DEFAULT_AUDIO_SAMPLE_RATE);
+
+#if 0
+ printf("WAV file: '%s'\n", filename);
+ printf(" Compression code: %d'\n", header.compression_code);
+ printf(" Number of channels: %d'\n", header.num_channels);
+ printf(" Sample rate: %ld'\n", header.sample_rate);
+ printf(" Average bytes per second: %ld'\n", header.bytes_per_second);
+ printf(" Block align: %d'\n", header.block_align);
+ printf(" Significant bits per sample: %d'\n", header.bits_per_sample);
+#endif