History

wav: simplify reporting of unknown encodings

Mans Rullgard committed 6 years ago

Commit 093de981 parent 32c7eb51 file · +5 −34Browse files

Unified · Split

src/wav.c+5−34
@@ -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
371static int wavfail(sox_format_t * ft, const char *format)371static 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 */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t