Unified · Split
| @@ -368,9 +368,11 @@ static void wavgsmstopwrite(sox_format_t * ft) · 367 unmodified lines | ||
| 368 | 368 | /* General Sox WAV file code */ |
| 369 | 369 | /****************************************************************************/ |
| 370 | 370 | |
| 371 | −static int wavfail(sox_format_t * ft, const char *format) | |
| 371 | +static int wavfail(sox_format_t *ft, int tag) | |
| 372 | 372 | { |
| 373 | − lsx_fail_errno(ft, SOX_EHDR, "WAV file encoding `%s' is not supported", format); | |
| 373 | + lsx_fail_errno(ft, SOX_EHDR, | |
| 374 | + "WAV file encoding '%s' (%04x) is not supported", | |
| 375 | + wav_format_str(tag), tag); | |
| 374 | 376 | return SOX_EOF; |
| 375 | 377 | } |
| 376 | 378 | |
| @@ -434,10 +436,6 @@ static int wav_read_fmt(sox_format_t *ft, uint32_t len) · 57 unmodified lines | ||
| 434 | 436 | } |
| 435 | 437 | |
| 436 | 438 | switch (wav->formatTag) { |
| 437 | − case WAVE_FORMAT_UNKNOWN: | |
| 438 | − lsx_fail_errno(ft, SOX_EHDR, "WAVE file is in unsupported Microsoft Official Unknown format."); | |
| 439 | − return SOX_EOF; | |
| 440 | − | |
| 441 | 439 | case WAVE_FORMAT_PCM: |
| 442 | 440 | /* Default depends on sample size. Set that later on. */ |
| 443 | 441 | enc = SOX_ENCODING_UNKNOWN; |
| @@ -463,39 +461,12 @@ static int wav_read_fmt(sox_format_t *ft, uint32_t len) · 19 unmodified lines | ||
| 463 | 461 | enc = SOX_ENCODING_ULAW; |
| 464 | 462 | break; |
| 465 | 463 | |
| 466 | − case WAVE_FORMAT_OKI_ADPCM: | |
| 467 | − return wavfail(ft, "OKI ADPCM"); | |
| 468 | − case WAVE_FORMAT_DIGISTD: | |
| 469 | − return wavfail(ft, "Digistd"); | |
| 470 | − case WAVE_FORMAT_DIGIFIX: | |
| 471 | − return wavfail(ft, "Digifix"); | |
| 472 | − case WAVE_FORMAT_DOLBY_AC2: | |
| 473 | − return wavfail(ft, "Dolby AC2"); | |
| 474 | − | |
| 475 | 464 | case WAVE_FORMAT_GSM610: |
| 476 | 465 | enc = SOX_ENCODING_GSM; |
| 477 | 466 | break; |
| 478 | 467 | |
| 479 | − case WAVE_FORMAT_ROCKWELL_ADPCM: | |
| 480 | − return wavfail(ft, "Rockwell ADPCM"); | |
| 481 | − case WAVE_FORMAT_ROCKWELL_DIGITALK: | |
| 482 | − return wavfail(ft, "Rockwell DIGITALK"); | |
| 483 | − case WAVE_FORMAT_G721_ADPCM: | |
| 484 | − return wavfail(ft, "G.721 ADPCM"); | |
| 485 | − case WAVE_FORMAT_G728_CELP: | |
| 486 | − return wavfail(ft, "G.728 CELP"); | |
| 487 | − case WAVE_FORMAT_MPEG: | |
| 488 | − return wavfail(ft, "MPEG"); | |
| 489 | − case WAVE_FORMAT_MPEGLAYER3: | |
| 490 | − return wavfail(ft, "MP3"); | |
| 491 | − case WAVE_FORMAT_G726_ADPCM: | |
| 492 | − return wavfail(ft, "G.726 ADPCM"); | |
| 493 | − case WAVE_FORMAT_G722_ADPCM: | |
| 494 | − return wavfail(ft, "G.722 ADPCM"); | |
| 495 | 468 | default: |
| 496 | − lsx_fail_errno(ft, SOX_EHDR, "Unknown WAV file encoding (type %x)", | |
| 497 | − wav->formatTag); | |
| 498 | − return SOX_EOF; | |
| 469 | + return wavfail(ft, wav->formatTag); | |
| 499 | 470 | } |
| 500 | 471 | |
| 501 | 472 | /* User options take precedence */ |