Lines Matching refs:ft

34 static int textChunk(char **text, char *chunkDescription, sox_format_t * ft);
35 static int commentChunk(char **text, char *chunkDescription, sox_format_t * ft);
36 static void reportInstrument(sox_format_t * ft);
38 int lsx_aiffstartread(sox_format_t * ft) in lsx_aiffstartread() argument
76 if (lsx_reads(ft, buf, (size_t)4) == SOX_EOF || strncmp(buf, "FORM", (size_t)4) != 0) { in lsx_aiffstartread()
77 lsx_fail_errno(ft,SOX_EHDR,"AIFF header does not begin with magic word `FORM'"); in lsx_aiffstartread()
80 lsx_readdw(ft, &totalsize); in lsx_aiffstartread()
81 if (lsx_reads(ft, buf, (size_t)4) == SOX_EOF || (strncmp(buf, "AIFF", (size_t)4) != 0 && in lsx_aiffstartread()
83 lsx_fail_errno(ft,SOX_EHDR,"AIFF `FORM' chunk does not specify `AIFF' or `AIFC' as type"); in lsx_aiffstartread()
91 if (lsx_reads(ft, buf, (size_t)4) == SOX_EOF) { in lsx_aiffstartread()
95 lsx_fail_errno(ft,SOX_EHDR,"Missing SSND chunk in AIFF file"); in lsx_aiffstartread()
101 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
102 lsx_readw(ft, &channels); in lsx_aiffstartread()
103 lsx_readdw(ft, &frames); in lsx_aiffstartread()
104 lsx_readw(ft, &bits); in lsx_aiffstartread()
105 rate = read_ieee_extended(ft); in lsx_aiffstartread()
108 lsx_reads(ft, buf, (size_t)4); in lsx_aiffstartread()
119 lsx_fail_errno(ft, SOX_EHDR, in lsx_aiffstartread()
128 lsx_fail_errno(ft, SOX_EHDR, in lsx_aiffstartread()
136 lsx_fail_errno(ft, SOX_EHDR, "Unsupported AIFC compression type `%s'", buf); in lsx_aiffstartread()
141 lsx_readb(ft, &trash8); in lsx_aiffstartread()
146 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
147 lsx_readdw(ft, &offset); in lsx_aiffstartread()
148 lsx_readdw(ft, &blocksize); in lsx_aiffstartread()
156 if (!ft->seekable) in lsx_aiffstartread()
159 seekto = lsx_tell(ft); in lsx_aiffstartread()
160 lsx_seeki(ft, (off_t)chunksize, SEEK_CUR); in lsx_aiffstartread()
164 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
166 lsx_readw(ft, &nmarks); in lsx_aiffstartread()
189 lsx_readw(ft, &(marks[i].id)); in lsx_aiffstartread()
190 lsx_readdw(ft, &(marks[i].position)); in lsx_aiffstartread()
196 if (lsx_readb(ft, &len) != SOX_SUCCESS) in lsx_aiffstartread()
205 lsx_readb(ft, &tmp_c); in lsx_aiffstartread()
213 lsx_readb(ft, &trash8); in lsx_aiffstartread()
220 lsx_readb(ft, &trash8); in lsx_aiffstartread()
224 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
225 lsx_readsb(ft, &(ft->oob.instr.MIDInote)); in lsx_aiffstartread()
226 lsx_readb(ft, &trash8); in lsx_aiffstartread()
227 lsx_readsb(ft, &(ft->oob.instr.MIDIlow)); in lsx_aiffstartread()
228 lsx_readsb(ft, &(ft->oob.instr.MIDIhi)); in lsx_aiffstartread()
230 lsx_readb(ft, &trash8); in lsx_aiffstartread()
232 lsx_readb(ft, &trash8); in lsx_aiffstartread()
233 lsx_readw(ft, &trash16);/* gain */ in lsx_aiffstartread()
234 lsx_readw(ft, &looptype); /* sustain loop */ in lsx_aiffstartread()
235 ft->oob.loops[0].type = looptype; in lsx_aiffstartread()
236 lsx_readw(ft, &sustainLoopBegin); /* begin marker */ in lsx_aiffstartread()
237 lsx_readw(ft, &sustainLoopEnd); /* end marker */ in lsx_aiffstartread()
238 lsx_readw(ft, &looptype); /* release loop */ in lsx_aiffstartread()
239 ft->oob.loops[1].type = looptype; in lsx_aiffstartread()
240 lsx_readw(ft, &releaseLoopBegin); /* begin marker */ in lsx_aiffstartread()
241 lsx_readw(ft, &releaseLoopEnd); /* end marker */ in lsx_aiffstartread()
246 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
252 lsx_readb(ft, &trash8); in lsx_aiffstartread()
257 lsx_readdw(ft, &trash32); /* ENVS - jeez! */ in lsx_aiffstartread()
258 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
260 lsx_readb(ft, &trash8); in lsx_aiffstartread()
263 rc = textChunk(&annotation, "Annotation:", ft); in lsx_aiffstartread()
269 sox_append_comments(&ft->oob.comments, annotation); in lsx_aiffstartread()
273 rc = commentChunk(&comment, "Comment:", ft); in lsx_aiffstartread()
279 sox_append_comments(&ft->oob.comments, comment); in lsx_aiffstartread()
284 rc = textChunk(&author, "Author:", ft); in lsx_aiffstartread()
293 rc = textChunk(&nametext, "Name:", ft); in lsx_aiffstartread()
302 rc = textChunk(&copyright, "Copyright:", ft); in lsx_aiffstartread()
310 if (lsx_eof(ft)) in lsx_aiffstartread()
314 lsx_readdw(ft, &chunksize); in lsx_aiffstartread()
315 if (lsx_eof(ft)) in lsx_aiffstartread()
320 if (lsx_readb(ft, &trash8) == SOX_EOF) in lsx_aiffstartread()
324 if (lsx_eof(ft)) in lsx_aiffstartread()
332 if (ft->seekable) { in lsx_aiffstartread()
334 lsx_seeki(ft, seekto, SEEK_SET); in lsx_aiffstartread()
336 lsx_fail_errno(ft,SOX_EOF,"AIFF: no sound data on input file"); in lsx_aiffstartread()
346 if (lsx_readb(ft, &trash8) == SOX_EOF) { in lsx_aiffstartread()
347 lsx_fail_errno(ft,errno,"unexpected EOF while skipping AIFF offset"); in lsx_aiffstartread()
359 lsx_fail_errno(ft,SOX_EFMT,"unsupported sample size in AIFF header: %d", bits); in lsx_aiffstartread()
363 if ((ft->signal.channels == SOX_UNSPEC) in lsx_aiffstartread()
364 || (ft->signal.rate == SOX_UNSPEC) in lsx_aiffstartread()
365 || (ft->encoding.encoding == SOX_ENCODING_UNKNOWN) in lsx_aiffstartread()
366 || (ft->encoding.bits_per_sample == 0)) { in lsx_aiffstartread()
369 lsx_fail_errno(ft,SOX_EFMT,"Bogus AIFF file: no COMM section."); in lsx_aiffstartread()
378 ft->encoding.reverse_bytes = !ft->encoding.reverse_bytes; in lsx_aiffstartread()
405 ft->oob.instr.nloops = 0; in lsx_aiffstartread()
406 if (ft->oob.loops[0].type != 0) { in lsx_aiffstartread()
407 ft->oob.loops[0].start = marks[slbIndex].position; in lsx_aiffstartread()
408 ft->oob.loops[0].length = in lsx_aiffstartread()
411 ft->oob.loops[0].count = 1; in lsx_aiffstartread()
412 ft->oob.instr.loopmode = SOX_LOOP_SUSTAIN_DECAY | ft->oob.loops[0].type; in lsx_aiffstartread()
413 ft->oob.instr.nloops++; in lsx_aiffstartread()
415 if (ft->oob.loops[1].type != 0) { in lsx_aiffstartread()
416 ft->oob.loops[1].start = marks[rlbIndex].position; in lsx_aiffstartread()
417 ft->oob.loops[1].length = in lsx_aiffstartread()
420 ft->oob.loops[1].count = 1; in lsx_aiffstartread()
421 ft->oob.instr.loopmode = SOX_LOOP_SUSTAIN_DECAY | ft->oob.loops[1].type; in lsx_aiffstartread()
422 ft->oob.instr.nloops++; in lsx_aiffstartread()
425 reportInstrument(ft); in lsx_aiffstartread()
428 ft, channels, rate, enc, bits, (uint64_t)ssndsize, sox_false); in lsx_aiffstartread()
432 static void reportInstrument(sox_format_t * ft) in reportInstrument() argument
436 if(ft->oob.instr.nloops > 0) in reportInstrument()
438 for(loopNum = 0; loopNum < ft->oob.instr.nloops; loopNum++) { in reportInstrument()
439 if (ft->oob.loops[loopNum].count) { in reportInstrument()
440 lsx_report("Loop %d: start: %6lu", loopNum, (unsigned long)ft->oob.loops[loopNum].start); in reportInstrument()
442 (unsigned long)(ft->oob.loops[loopNum].start + ft->oob.loops[loopNum].length)); in reportInstrument()
443 lsx_report(" count: %6d", ft->oob.loops[loopNum].count); in reportInstrument()
445 switch(ft->oob.loops[loopNum].type & ~SOX_LOOP_SUSTAIN_DECAY) { in reportInstrument()
452 lsx_report("Unity MIDI Note: %d", ft->oob.instr.MIDInote); in reportInstrument()
453 lsx_report("Low MIDI Note: %d", ft->oob.instr.MIDIlow); in reportInstrument()
454 lsx_report("High MIDI Note: %d", ft->oob.instr.MIDIhi); in reportInstrument()
458 static int textChunk(char **text, char *chunkDescription, sox_format_t * ft) in textChunk() argument
462 lsx_readdw(ft, &chunksize0); in textChunk()
471 if (lsx_readbuf(ft, *text, (size_t) chunksize) != chunksize) in textChunk()
473 lsx_fail_errno(ft,SOX_EOF,"AIFF: Unexpected EOF in %s header", chunkDescription); in textChunk()
484 if (lsx_readbuf(ft, &c, (size_t)1) != 1) in textChunk()
486 lsx_fail_errno(ft,SOX_EOF,"AIFF: Unexpected EOF in %s header", chunkDescription); in textChunk()
497 static int commentChunk(char **text, char *chunkDescription, sox_format_t * ft) in commentChunk() argument
507 lsx_readdw(ft, &chunksize); in commentChunk()
508 lsx_readw(ft, &numComments); in commentChunk()
513 lsx_readdw(ft, &timeStamp); in commentChunk()
514 lsx_readw(ft, &markerId); in commentChunk()
515 lsx_readw(ft, &commentLength); in commentChunk()
517 lsx_fail_errno(ft,SOX_EOF,"AIFF: Comment too long in %s header", chunkDescription); in commentChunk()
529 …if (lsx_readbuf(ft, *text + totalCommentLength - commentLength, (size_t) commentLength) != comment… in commentChunk()
530 lsx_fail_errno(ft,SOX_EOF,"AIFF: Unexpected EOF in %s header", chunkDescription); in commentChunk()
538 if (lsx_readbuf(ft, &c, (size_t)1) != 1) { in commentChunk()
539 lsx_fail_errno(ft,SOX_EOF,"AIFF: Unexpected EOF in %s header", chunkDescription); in commentChunk()
551 lsx_readbuf(ft, &c, (size_t)1); in commentChunk()
556 int lsx_aiffstopread(sox_format_t * ft) in lsx_aiffstopread() argument
562 if (!ft->seekable) in lsx_aiffstopread()
564 while (! lsx_eof(ft)) in lsx_aiffstopread()
566 if (lsx_readbuf(ft, buf, (size_t)4) != 4) in lsx_aiffstopread()
569 lsx_readdw(ft, &chunksize); in lsx_aiffstopread()
570 if (lsx_eof(ft)) in lsx_aiffstopread()
579 if (lsx_readb(ft, &trash) == SOX_EOF) in lsx_aiffstopread()
597 int lsx_aiffstartwrite(sox_format_t * ft) in lsx_aiffstartwrite() argument
602 rc = lsx_rawstartwrite(ft); in lsx_aiffstartwrite()
612 …return(aiffwriteheader(ft, (uint64_t) 0x7f000000 / ((ft->encoding.bits_per_sample>>3)*ft->signal.c… in lsx_aiffstartwrite()
615 int lsx_aiffstopwrite(sox_format_t * ft) in lsx_aiffstopwrite() argument
619 if (ft->olength % 2 == 1 && ft->encoding.bits_per_sample == 8 && ft->signal.channels == 1) in lsx_aiffstopwrite()
622 lsx_rawwrite(ft, &buf, (size_t) 1); in lsx_aiffstopwrite()
625 if (!ft->seekable) in lsx_aiffstopwrite()
627 lsx_fail_errno(ft,SOX_EOF,"Non-seekable file."); in lsx_aiffstopwrite()
630 if (lsx_seeki(ft, (off_t)0, SEEK_SET) != 0) in lsx_aiffstopwrite()
632 lsx_fail_errno(ft,errno,"can't rewind output file to rewrite AIFF header"); in lsx_aiffstopwrite()
635 return(aiffwriteheader(ft, ft->olength / ft->signal.channels)); in lsx_aiffstopwrite()
638 static int aiffwriteheader(sox_format_t * ft, uint64_t nframes) in aiffwriteheader() argument
648 char * comment = lsx_cat_comments(ft->oob.comments); in aiffwriteheader()
651 if (ft->oob.instr.nloops) { in aiffwriteheader()
652 hsize += 8 /* MARK hdr */ + 2 + 16*ft->oob.instr.nloops; in aiffwriteheader()
656 if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aiffwriteheader()
657 ft->encoding.bits_per_sample == 8) in aiffwriteheader()
659 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aiffwriteheader()
660 ft->encoding.bits_per_sample == 16) in aiffwriteheader()
662 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aiffwriteheader()
663 ft->encoding.bits_per_sample == 24) in aiffwriteheader()
665 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aiffwriteheader()
666 ft->encoding.bits_per_sample == 32) in aiffwriteheader()
670 lsx_fail_errno(ft,SOX_EFMT,"unsupported output encoding/size for AIFF header"); in aiffwriteheader()
676 if (ft->oob.comments) in aiffwriteheader()
689 lsx_writes(ft, "FORM"); /* IFF header */ in aiffwriteheader()
691 size = hsize + nframes * (ft->encoding.bits_per_sample >> 3) * ft->signal.channels; in aiffwriteheader()
697 lsx_writedw(ft, (unsigned)size); in aiffwriteheader()
698 lsx_writes(ft, "AIFF"); /* File type */ in aiffwriteheader()
701 if (ft->oob.comments) in aiffwriteheader()
703 lsx_writes(ft, "COMT"); in aiffwriteheader()
704 lsx_writedw(ft, (unsigned) comment_chunk_size); in aiffwriteheader()
707 lsx_writew(ft, 1); in aiffwriteheader()
711 lsx_writedw(ft, (unsigned)((sox_globals.repeatable? 0 : time(NULL)) + 2082844800)); in aiffwriteheader()
715 lsx_writew(ft, 0); in aiffwriteheader()
718 lsx_writew(ft, (unsigned) padded_comment_size); in aiffwriteheader()
719 lsx_writes(ft, comment); in aiffwriteheader()
721 lsx_writes(ft, " "); in aiffwriteheader()
726 lsx_writes(ft, "COMM"); in aiffwriteheader()
727 lsx_writedw(ft, 18); /* COMM chunk size */ in aiffwriteheader()
728 lsx_writew(ft, ft->signal.channels); /* nchannels */ in aiffwriteheader()
729 lsx_writedw(ft, (unsigned) nframes); /* number of frames */ in aiffwriteheader()
730 lsx_writew(ft, bits); /* sample width, in bits */ in aiffwriteheader()
731 write_ieee_extended(ft, (double)ft->signal.rate); in aiffwriteheader()
734 if (ft->oob.instr.nloops) { in aiffwriteheader()
735 lsx_writes(ft, "MARK"); in aiffwriteheader()
736 if (ft->oob.instr.nloops > 2) in aiffwriteheader()
737 ft->oob.instr.nloops = 2; in aiffwriteheader()
738 lsx_writedw(ft, 2 + 16u*ft->oob.instr.nloops); in aiffwriteheader()
739 lsx_writew(ft, ft->oob.instr.nloops); in aiffwriteheader()
741 for(i = 0; i < ft->oob.instr.nloops; i++) { in aiffwriteheader()
742 unsigned start = ft->oob.loops[i].start > UINT_MAX in aiffwriteheader()
744 : ft->oob.loops[i].start; in aiffwriteheader()
745 unsigned end = ft->oob.loops[i].start + ft->oob.loops[i].length > UINT_MAX in aiffwriteheader()
747 : ft->oob.loops[i].start + ft->oob.loops[i].length; in aiffwriteheader()
748 lsx_writew(ft, i + 1); in aiffwriteheader()
749 lsx_writedw(ft, start); in aiffwriteheader()
750 lsx_writeb(ft, 0); in aiffwriteheader()
751 lsx_writeb(ft, 0); in aiffwriteheader()
752 lsx_writew(ft, i*2 + 1); in aiffwriteheader()
753 lsx_writedw(ft, end); in aiffwriteheader()
754 lsx_writeb(ft, 0); in aiffwriteheader()
755 lsx_writeb(ft, 0); in aiffwriteheader()
758 lsx_writes(ft, "INST"); in aiffwriteheader()
759 lsx_writedw(ft, 20); in aiffwriteheader()
761 lsx_writeb(ft, (uint8_t)ft->oob.instr.MIDInote); in aiffwriteheader()
762 lsx_writeb(ft, 0); /* detune */ in aiffwriteheader()
763 lsx_writeb(ft, (uint8_t)ft->oob.instr.MIDIlow); in aiffwriteheader()
764 lsx_writeb(ft, (uint8_t)ft->oob.instr.MIDIhi); in aiffwriteheader()
765 lsx_writeb(ft, 1); /* low velocity */ in aiffwriteheader()
766 lsx_writeb(ft, 127); /* hi velocity */ in aiffwriteheader()
767 lsx_writew(ft, 0); /* gain */ in aiffwriteheader()
770 lsx_writew(ft, ft->oob.loops[0].type); in aiffwriteheader()
771 lsx_writew(ft, 1); /* marker 1 */ in aiffwriteheader()
772 lsx_writew(ft, 3); /* marker 3 */ in aiffwriteheader()
774 if (ft->oob.instr.nloops == 2) { in aiffwriteheader()
775 lsx_writew(ft, ft->oob.loops[1].type); in aiffwriteheader()
776 lsx_writew(ft, 2); /* marker 2 */ in aiffwriteheader()
777 lsx_writew(ft, 4); /* marker 4 */ in aiffwriteheader()
779 lsx_writew(ft, 0); /* no release loop */ in aiffwriteheader()
780 lsx_writew(ft, 0); in aiffwriteheader()
781 lsx_writew(ft, 0); in aiffwriteheader()
786 lsx_writes(ft, "SSND"); in aiffwriteheader()
788 …lsx_writedw(ft, (unsigned) (8 + nframes * ft->signal.channels * (ft->encoding.bits_per_sample >> 3… in aiffwriteheader()
789 lsx_writedw(ft, 0); /* offset */ in aiffwriteheader()
790 lsx_writedw(ft, 0); /* block size */ in aiffwriteheader()
794 int lsx_aifcstartwrite(sox_format_t * ft) in lsx_aifcstartwrite() argument
799 rc = lsx_rawstartwrite(ft); in lsx_aifcstartwrite()
809 …return(aifcwriteheader(ft, (uint64_t) 0x7f000000 / ((ft->encoding.bits_per_sample >> 3)*ft->signal… in lsx_aifcstartwrite()
812 int lsx_aifcstopwrite(sox_format_t * ft) in lsx_aifcstopwrite() argument
816 if (ft->olength % 2 == 1 && ft->encoding.bits_per_sample == 8 && ft->signal.channels == 1) in lsx_aifcstopwrite()
819 lsx_rawwrite(ft, &buf, (size_t) 1); in lsx_aifcstopwrite()
822 if (!ft->seekable) in lsx_aifcstopwrite()
824 lsx_fail_errno(ft,SOX_EOF,"Non-seekable file."); in lsx_aifcstopwrite()
827 if (lsx_seeki(ft, (off_t)0, SEEK_SET) != 0) in lsx_aifcstopwrite()
829 lsx_fail_errno(ft,errno,"can't rewind output file to rewrite AIFC header"); in lsx_aifcstopwrite()
832 return(aifcwriteheader(ft, ft->olength / ft->signal.channels)); in lsx_aifcstopwrite()
835 static int aifcwriteheader(sox_format_t * ft, uint64_t nframes) in aifcwriteheader() argument
843 if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aifcwriteheader()
844 ft->encoding.bits_per_sample == 8) in aifcwriteheader()
846 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aifcwriteheader()
847 ft->encoding.bits_per_sample == 16) in aifcwriteheader()
849 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aifcwriteheader()
850 ft->encoding.bits_per_sample == 24) in aifcwriteheader()
852 else if (ft->encoding.encoding == SOX_ENCODING_SIGN2 && in aifcwriteheader()
853 ft->encoding.bits_per_sample == 32) in aifcwriteheader()
855 else if (ft->encoding.encoding == SOX_ENCODING_FLOAT && in aifcwriteheader()
856 ft->encoding.bits_per_sample == 32) in aifcwriteheader()
858 else if (ft->encoding.encoding == SOX_ENCODING_FLOAT && in aifcwriteheader()
859 ft->encoding.bits_per_sample == 64) in aifcwriteheader()
863 lsx_fail_errno(ft,SOX_EFMT,"unsupported output encoding/size for AIFC header"); in aifcwriteheader()
868 switch (ft->encoding.encoding) { in aifcwriteheader()
892 lsx_writes(ft, "FORM"); /* IFF header */ in aifcwriteheader()
894 size = hsize + nframes * (ft->encoding.bits_per_sample >> 3) * ft->signal.channels; in aifcwriteheader()
900 lsx_writedw(ft, (unsigned)size); in aifcwriteheader()
901 lsx_writes(ft, "AIFC"); /* File type */ in aifcwriteheader()
904 lsx_writes(ft, "FVER"); in aifcwriteheader()
905 lsx_writedw(ft, 4); /* FVER chunk size */ in aifcwriteheader()
906 lsx_writedw(ft, 0xa2805140); /* version_date(May23,1990,2:40pm) */ in aifcwriteheader()
909 lsx_writes(ft, "COMM"); in aifcwriteheader()
910 lsx_writedw(ft, comm_len+comm_padding); /* COMM chunk size */ in aifcwriteheader()
911 lsx_writew(ft, ft->signal.channels); /* nchannels */ in aifcwriteheader()
912 lsx_writedw(ft, (unsigned) nframes); /* number of frames */ in aifcwriteheader()
913 lsx_writew(ft, bits); /* sample width, in bits */ in aifcwriteheader()
914 write_ieee_extended(ft, (double)ft->signal.rate); in aifcwriteheader()
916 lsx_writes(ft, ctype); /*compression_type*/ in aifcwriteheader()
917 lsx_writeb(ft, cname_len); in aifcwriteheader()
918 lsx_writes(ft, cname); in aifcwriteheader()
920 lsx_writeb(ft, 0); in aifcwriteheader()
923 lsx_writes(ft, "SSND"); in aifcwriteheader()
925 …lsx_writedw(ft, (unsigned) (8 + nframes * ft->signal.channels * (ft->encoding.bits_per_sample >> 3… in aifcwriteheader()
926 lsx_writedw(ft, 0); /* offset */ in aifcwriteheader()
927 lsx_writedw(ft, 0); /* block size */ in aifcwriteheader()
933 static double read_ieee_extended(sox_format_t * ft) in read_ieee_extended() argument
936 if (lsx_readbuf(ft, buf, (size_t)10) != 10) in read_ieee_extended()
938 lsx_fail_errno(ft,SOX_EOF,"EOF while reading IEEE extended number"); in read_ieee_extended()
944 static void write_ieee_extended(sox_format_t * ft, double x) in write_ieee_extended() argument
952 (void)lsx_writebuf(ft, buf, (size_t) 10); in write_ieee_extended()