Unified · Split
| @@ -368,9 +368,11 @@ static void wavgsmstopwrite(sox_format_t * ft) · 367 unmodified lines | |||
| 368 | /* General Sox WAV file code */ | 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 | return SOX_EOF; | 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 | switch (wav->formatTag) { | 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 | case WAVE_FORMAT_PCM: | 439 | case WAVE_FORMAT_PCM: |
| 442 | /* Default depends on sample size. Set that later on. */ | 440 | /* Default depends on sample size. Set that later on. */ |
| 443 | enc = SOX_ENCODING_UNKNOWN; | 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 | enc = SOX_ENCODING_ULAW; | 461 | enc = SOX_ENCODING_ULAW; |
| 464 | break; | 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 | case WAVE_FORMAT_GSM610: | 464 | case WAVE_FORMAT_GSM610: |
| 476 | enc = SOX_ENCODING_GSM; | 465 | enc = SOX_ENCODING_GSM; |
| 477 | break; | 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 | default: | 468 | default: |
| 496 | lsx_fail_errno(ft, SOX_EHDR, "Unknown WAV file encoding (type %x)", | 469 | return wavfail(ft, wav->formatTag); |
| 497 | wav->formatTag); | ||
| 498 | return SOX_EOF; | ||
| 499 | } | 470 | } |
| 500 | 471 | ||
| 501 | /* User options take precedence */ | 472 | /* User options take precedence */ |