mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-07 18:48:04 +02:00
--- Merging r47447 into '.':
A packages/fcl-sound/tests A packages/fcl-sound/tests/data A packages/fcl-sound/tests/data/wav A packages/fcl-sound/tests/data/wav/reader A packages/fcl-sound/tests/data/wav/reader/valid A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.info.txt A packages/fcl-sound/tests/tcwavreader.pas A packages/fcl-sound/tests/testfclsound.lpi A packages/fcl-sound/tests/testfclsound.lpr --- Recording mergeinfo for merge of r47447 into '.': U . --- Merging r47452 into '.': A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.raw U packages/fcl-sound/tests/tcwavreader.pas --- Recording mergeinfo for merge of r47452 into '.': G . --- Merging r47454 into '.': A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.raw G packages/fcl-sound/tests/tcwavreader.pas --- Recording mergeinfo for merge of r47454 into '.': G . --- Merging r47457 into '.': U packages/fcl-sound/src/fpwavformat.pas --- Recording mergeinfo for merge of r47457 into '.': G . --- Merging r47461 into '.': U packages/fcl-sound/src/fpwavreader.pas A packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav A packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.raw G packages/fcl-sound/tests/tcwavreader.pas U packages/fcl-sound/tests/testfclsound.lpi --- Recording mergeinfo for merge of r47461 into '.': G . --- Merging r47464 into '.': G packages/fcl-sound/src/fpwavreader.pas --- Recording mergeinfo for merge of r47464 into '.': G . --- Merging r47465 into '.': G packages/fcl-sound/src/fpwavreader.pas --- Recording mergeinfo for merge of r47465 into '.': G . --- Merging r47466 into '.': A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.raw A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.raw G packages/fcl-sound/tests/tcwavreader.pas --- Recording mergeinfo for merge of r47466 into '.': G . --- Merging r47467 into '.': U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.info.txt U packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.info.txt G packages/fcl-sound/tests/tcwavreader.pas --- Recording mergeinfo for merge of r47467 into '.': G . --- Merging r47545 into '.': G packages/fcl-sound/src/fpwavreader.pas A packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav A packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.info.txt A packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.raw G packages/fcl-sound/tests/tcwavreader.pas --- Recording mergeinfo for merge of r47545 into '.': G . # revisions: 47447,47452,47454,47457,47461,47464,47465,47466,47467,47545 r47447 | nickysn | 2020-11-19 02:10:36 +0100 (Thu, 19 Nov 2020) | 3 lines Changed paths: A /trunk/packages/fcl-sound/tests A /trunk/packages/fcl-sound/tests/data A /trunk/packages/fcl-sound/tests/data/wav A /trunk/packages/fcl-sound/tests/data/wav/reader A /trunk/packages/fcl-sound/tests/data/wav/reader/valid A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.info.txt A /trunk/packages/fcl-sound/tests/tcwavreader.pas A /trunk/packages/fcl-sound/tests/testfclsound.lpi A /trunk/packages/fcl-sound/tests/testfclsound.lpr + created some tests for fcl-sound r47452 | nickysn | 2020-11-19 03:56:49 +0100 (Thu, 19 Nov 2020) | 3 lines Changed paths: A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.raw M /trunk/packages/fcl-sound/tests/tcwavreader.pas + also check the actual PCM wave data in the fcl-sound wavreader test r47454 | nickysn | 2020-11-19 04:26:37 +0100 (Thu, 19 Nov 2020) | 3 lines Changed paths: A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.raw M /trunk/packages/fcl-sound/tests/tcwavreader.pas + fcl_sound wav reader tests: added stereo .wav file tests r47457 | nickysn | 2020-11-19 17:22:06 +0100 (Thu, 19 Nov 2020) | 1 line Changed paths: M /trunk/packages/fcl-sound/src/fpwavformat.pas + added constants for all the other wave formats (codecs), supported in a .wav file, besides PCM r47461 | nickysn | 2020-11-20 00:05:25 +0100 (Fri, 20 Nov 2020) | 4 lines Changed paths: M /trunk/packages/fcl-sound/src/fpwavreader.pas A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.raw M /trunk/packages/fcl-sound/tests/tcwavreader.pas M /trunk/packages/fcl-sound/tests/testfclsound.lpi + support reading .wav files that have extra data in the end of the 'fmt ' chunk. Added test case, which is a file, generated by the Euphoric emulator. r47464 | nickysn | 2020-11-20 04:21:19 +0100 (Fri, 20 Nov 2020) | 3 lines Changed paths: M /trunk/packages/fcl-sound/src/fpwavreader.pas - don't check for the PCM format in the .wav reader, to allow reading other audio formats r47465 | nickysn | 2020-11-20 04:24:16 +0100 (Fri, 20 Nov 2020) | 4 lines Changed paths: M /trunk/packages/fcl-sound/src/fpwavreader.pas * fixed bug in wav reader, that fails to skip non-data chunks, because it forgets to seek ahead in the stream r47466 | nickysn | 2020-11-20 04:31:15 +0100 (Fri, 20 Nov 2020) | 3 lines Changed paths: A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.raw A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.raw M /trunk/packages/fcl-sound/tests/tcwavreader.pas + added tests with 32-bit and 64-bit IEEE floating point .wav files r47467 | nickysn | 2020-11-20 04:36:39 +0100 (Fri, 20 Nov 2020) | 3 lines Changed paths: M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.info.txt M /trunk/packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.info.txt M /trunk/packages/fcl-sound/tests/tcwavreader.pas + check the audio format id field in the tests as well r47545 | nickysn | 2020-11-24 01:31:16 +0100 (Tue, 24 Nov 2020) | 3 lines Changed paths: M /trunk/packages/fcl-sound/src/fpwavreader.pas A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.info.txt A /trunk/packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.raw M /trunk/packages/fcl-sound/tests/tcwavreader.pas + support reading .wav with an odd (uneven) fmt chunk size git-svn-id: branches/fixes_3_2@47645 -
This commit is contained in:
parent
07601d23a9
commit
d243c09300
48
.gitattributes
vendored
48
.gitattributes
vendored
@ -4113,6 +4113,54 @@ packages/fcl-sound/fpmake.pp svneol=native#text/plain
|
||||
packages/fcl-sound/src/fpwavformat.pas svneol=native#text/plain
|
||||
packages/fcl-sound/src/fpwavreader.pas svneol=native#text/plain
|
||||
packages/fcl-sound/src/fpwavwriter.pas svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16_tag.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32float.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_64float.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav.raw -text svneol=unset#application/octet-stream
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32float.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_64float.wav.raw -text
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav.raw -text svneol=unset#application/octet-stream
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav.raw -text svneol=unset#application/octet-stream
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav -text svneol=unset#audio/x-wav
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.info.txt svneol=native#text/plain
|
||||
packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav.raw -text svneol=unset#application/octet-stream
|
||||
packages/fcl-sound/tests/tcwavreader.pas svneol=native#text/plain
|
||||
packages/fcl-sound/tests/testfclsound.lpi svneol=native#text/plain
|
||||
packages/fcl-sound/tests/testfclsound.lpr svneol=native#text/plain
|
||||
packages/fcl-stl/Makefile svneol=native#text/plain
|
||||
packages/fcl-stl/Makefile.fpc svneol=native#text/plain
|
||||
packages/fcl-stl/Makefile.fpc.fpcmake svneol=native#text/plain
|
||||
|
@ -26,6 +26,275 @@ const
|
||||
AUDIO_CHUNK_ID_data = 'data';
|
||||
AUDIO_FORMAT_PCM = 1;
|
||||
|
||||
{ WAVE form wFormatTag IDs }
|
||||
WAVE_FORMAT_UNKNOWN = $0000; { Microsoft Corporation }
|
||||
WAVE_FORMAT_PCM = $0001; { Microsoft Corporation }
|
||||
WAVE_FORMAT_ADPCM = $0002; { Microsoft Corporation }
|
||||
WAVE_FORMAT_IEEE_FLOAT = $0003; { Microsoft Corporation }
|
||||
WAVE_FORMAT_VSELP = $0004; { Compaq Computer Corp. }
|
||||
WAVE_FORMAT_IBM_CVSD = $0005; { IBM Corporation }
|
||||
WAVE_FORMAT_ALAW = $0006; { Microsoft Corporation }
|
||||
WAVE_FORMAT_MULAW = $0007; { Microsoft Corporation }
|
||||
WAVE_FORMAT_DTS = $0008; { Microsoft Corporation }
|
||||
WAVE_FORMAT_DRM = $0009; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMAVOICE9 = $000A; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMAVOICE10 = $000B; { Microsoft Corporation }
|
||||
WAVE_FORMAT_OKI_ADPCM = $0010; { OKI }
|
||||
WAVE_FORMAT_DVI_ADPCM = $0011; { Intel Corporation }
|
||||
WAVE_FORMAT_IMA_ADPCM = (WAVE_FORMAT_DVI_ADPCM); { Intel Corporation }
|
||||
WAVE_FORMAT_MEDIASPACE_ADPCM = $0012; { Videologic }
|
||||
WAVE_FORMAT_SIERRA_ADPCM = $0013; { Sierra Semiconductor Corp }
|
||||
WAVE_FORMAT_G723_ADPCM = $0014; { Antex Electronics Corporation }
|
||||
WAVE_FORMAT_DIGISTD = $0015; { DSP Solutions, Inc. }
|
||||
WAVE_FORMAT_DIGIFIX = $0016; { DSP Solutions, Inc. }
|
||||
WAVE_FORMAT_DIALOGIC_OKI_ADPCM = $0017; { Dialogic Corporation }
|
||||
WAVE_FORMAT_MEDIAVISION_ADPCM = $0018; { Media Vision, Inc. }
|
||||
WAVE_FORMAT_CU_CODEC = $0019; { Hewlett-Packard Company }
|
||||
WAVE_FORMAT_HP_DYN_VOICE = $001A; { Hewlett-Packard Company }
|
||||
WAVE_FORMAT_YAMAHA_ADPCM = $0020; { Yamaha Corporation of America }
|
||||
WAVE_FORMAT_SONARC = $0021; { Speech Compression }
|
||||
WAVE_FORMAT_DSPGROUP_TRUESPEECH = $0022; { DSP Group, Inc }
|
||||
WAVE_FORMAT_ECHOSC1 = $0023; { Echo Speech Corporation }
|
||||
WAVE_FORMAT_AUDIOFILE_AF36 = $0024; { Virtual Music, Inc. }
|
||||
WAVE_FORMAT_APTX = $0025; { Audio Processing Technology }
|
||||
WAVE_FORMAT_AUDIOFILE_AF10 = $0026; { Virtual Music, Inc. }
|
||||
WAVE_FORMAT_PROSODY_1612 = $0027; { Aculab plc }
|
||||
WAVE_FORMAT_LRC = $0028; { Merging Technologies S.A. }
|
||||
WAVE_FORMAT_DOLBY_AC2 = $0030; { Dolby Laboratories }
|
||||
WAVE_FORMAT_GSM610 = $0031; { Microsoft Corporation }
|
||||
WAVE_FORMAT_MSNAUDIO = $0032; { Microsoft Corporation }
|
||||
WAVE_FORMAT_ANTEX_ADPCME = $0033; { Antex Electronics Corporation }
|
||||
WAVE_FORMAT_CONTROL_RES_VQLPC = $0034; { Control Resources Limited }
|
||||
WAVE_FORMAT_DIGIREAL = $0035; { DSP Solutions, Inc. }
|
||||
WAVE_FORMAT_DIGIADPCM = $0036; { DSP Solutions, Inc. }
|
||||
WAVE_FORMAT_CONTROL_RES_CR10 = $0037; { Control Resources Limited }
|
||||
WAVE_FORMAT_NMS_VBXADPCM = $0038; { Natural MicroSystems }
|
||||
WAVE_FORMAT_CS_IMAADPCM = $0039; { Crystal Semiconductor IMA ADPCM }
|
||||
WAVE_FORMAT_ECHOSC3 = $003A; { Echo Speech Corporation }
|
||||
WAVE_FORMAT_ROCKWELL_ADPCM = $003B; { Rockwell International }
|
||||
WAVE_FORMAT_ROCKWELL_DIGITALK = $003C; { Rockwell International }
|
||||
WAVE_FORMAT_XEBEC = $003D; { Xebec Multimedia Solutions Limited }
|
||||
WAVE_FORMAT_G721_ADPCM = $0040; { Antex Electronics Corporation }
|
||||
WAVE_FORMAT_G728_CELP = $0041; { Antex Electronics Corporation }
|
||||
WAVE_FORMAT_MSG723 = $0042; { Microsoft Corporation }
|
||||
WAVE_FORMAT_INTEL_G723_1 = $0043; { Intel Corp. }
|
||||
WAVE_FORMAT_INTEL_G729 = $0044; { Intel Corp. }
|
||||
WAVE_FORMAT_SHARP_G726 = $0045; { Sharp }
|
||||
WAVE_FORMAT_MPEG = $0050; { Microsoft Corporation }
|
||||
WAVE_FORMAT_RT24 = $0052; { InSoft, Inc. }
|
||||
WAVE_FORMAT_PAC = $0053; { InSoft, Inc. }
|
||||
WAVE_FORMAT_MPEGLAYER3 = $0055; { ISO/MPEG Layer3 Format Tag }
|
||||
WAVE_FORMAT_LUCENT_G723 = $0059; { Lucent Technologies }
|
||||
WAVE_FORMAT_CIRRUS = $0060; { Cirrus Logic }
|
||||
WAVE_FORMAT_ESPCM = $0061; { ESS Technology }
|
||||
WAVE_FORMAT_VOXWARE = $0062; { Voxware Inc }
|
||||
WAVE_FORMAT_CANOPUS_ATRAC = $0063; { Canopus, co., Ltd. }
|
||||
WAVE_FORMAT_G726_ADPCM = $0064; { APICOM }
|
||||
WAVE_FORMAT_G722_ADPCM = $0065; { APICOM }
|
||||
WAVE_FORMAT_DSAT = $0066; { Microsoft Corporation }
|
||||
WAVE_FORMAT_DSAT_DISPLAY = $0067; { Microsoft Corporation }
|
||||
WAVE_FORMAT_VOXWARE_BYTE_ALIGNED = $0069; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_AC8 = $0070; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_AC10 = $0071; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_AC16 = $0072; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_AC20 = $0073; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_RT24 = $0074; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_RT29 = $0075; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_RT29HW = $0076; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_VR12 = $0077; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_VR18 = $0078; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_TQ40 = $0079; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_SC3 = $007A; { Voxware Inc }
|
||||
WAVE_FORMAT_VOXWARE_SC3_1 = $007B; { Voxware Inc }
|
||||
WAVE_FORMAT_SOFTSOUND = $0080; { Softsound, Ltd. }
|
||||
WAVE_FORMAT_VOXWARE_TQ60 = $0081; { Voxware Inc }
|
||||
WAVE_FORMAT_MSRT24 = $0082; { Microsoft Corporation }
|
||||
WAVE_FORMAT_G729A = $0083; { AT&T Labs, Inc. }
|
||||
WAVE_FORMAT_MVI_MVI2 = $0084; { Motion Pixels }
|
||||
WAVE_FORMAT_DF_G726 = $0085; { DataFusion Systems (Pty) (Ltd) }
|
||||
WAVE_FORMAT_DF_GSM610 = $0086; { DataFusion Systems (Pty) (Ltd) }
|
||||
WAVE_FORMAT_ISIAUDIO = $0088; { Iterated Systems, Inc. }
|
||||
WAVE_FORMAT_ONLIVE = $0089; { OnLive! Technologies, Inc. }
|
||||
WAVE_FORMAT_MULTITUDE_FT_SX20 = $008A; { Multitude Inc. }
|
||||
WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM = $008B; { Infocom }
|
||||
WAVE_FORMAT_CONVEDIA_G729 = $008C; { Convedia Corp. }
|
||||
WAVE_FORMAT_CONGRUENCY = $008D; { Congruency Inc. }
|
||||
WAVE_FORMAT_SBC24 = $0091; { Siemens Business Communications Sys }
|
||||
WAVE_FORMAT_DOLBY_AC3_SPDIF = $0092; { Sonic Foundry }
|
||||
WAVE_FORMAT_MEDIASONIC_G723 = $0093; { MediaSonic }
|
||||
WAVE_FORMAT_PROSODY_8KBPS = $0094; { Aculab plc }
|
||||
WAVE_FORMAT_ZYXEL_ADPCM = $0097; { ZyXEL Communications, Inc. }
|
||||
WAVE_FORMAT_PHILIPS_LPCBB = $0098; { Philips Speech Processing }
|
||||
WAVE_FORMAT_PACKED = $0099; { Studer Professional Audio AG }
|
||||
WAVE_FORMAT_MALDEN_PHONYTALK = $00A0; { Malden Electronics Ltd. }
|
||||
WAVE_FORMAT_RACAL_RECORDER_GSM = $00A1; { Racal recorders }
|
||||
WAVE_FORMAT_RACAL_RECORDER_G720_A = $00A2; { Racal recorders }
|
||||
WAVE_FORMAT_RACAL_RECORDER_G723_1 = $00A3; { Racal recorders }
|
||||
WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP = $00A4; { Racal recorders }
|
||||
WAVE_FORMAT_NEC_AAC = $00B0; { NEC Corp. }
|
||||
WAVE_FORMAT_RAW_AAC1 = $00FF; { For Raw AAC, with format block AudioSpecificConfig() (as defined by MPEG-4), that follows WAVEFORMATEX }
|
||||
WAVE_FORMAT_RHETOREX_ADPCM = $0100; { Rhetorex Inc. }
|
||||
WAVE_FORMAT_IRAT = $0101; { BeCubed Software Inc. }
|
||||
WAVE_FORMAT_VIVO_G723 = $0111; { Vivo Software }
|
||||
WAVE_FORMAT_VIVO_SIREN = $0112; { Vivo Software }
|
||||
WAVE_FORMAT_PHILIPS_CELP = $0120; { Philips Speech Processing }
|
||||
WAVE_FORMAT_PHILIPS_GRUNDIG = $0121; { Philips Speech Processing }
|
||||
WAVE_FORMAT_DIGITAL_G723 = $0123; { Digital Equipment Corporation }
|
||||
WAVE_FORMAT_SANYO_LD_ADPCM = $0125; { Sanyo Electric Co., Ltd. }
|
||||
WAVE_FORMAT_SIPROLAB_ACEPLNET = $0130; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_SIPROLAB_ACELP4800 = $0131; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_SIPROLAB_ACELP8V3 = $0132; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_SIPROLAB_G729 = $0133; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_SIPROLAB_G729A = $0134; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_SIPROLAB_KELVIN = $0135; { Sipro Lab Telecom Inc. }
|
||||
WAVE_FORMAT_VOICEAGE_AMR = $0136; { VoiceAge Corp. }
|
||||
WAVE_FORMAT_G726ADPCM = $0140; { Dictaphone Corporation }
|
||||
WAVE_FORMAT_DICTAPHONE_CELP68 = $0141; { Dictaphone Corporation }
|
||||
WAVE_FORMAT_DICTAPHONE_CELP54 = $0142; { Dictaphone Corporation }
|
||||
WAVE_FORMAT_QUALCOMM_PUREVOICE = $0150; { Qualcomm, Inc. }
|
||||
WAVE_FORMAT_QUALCOMM_HALFRATE = $0151; { Qualcomm, Inc. }
|
||||
WAVE_FORMAT_TUBGSM = $0155; { Ring Zero Systems, Inc. }
|
||||
WAVE_FORMAT_MSAUDIO1 = $0160; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMAUDIO2 = $0161; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMAUDIO3 = $0162; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMAUDIO_LOSSLESS = $0163; { Microsoft Corporation }
|
||||
WAVE_FORMAT_WMASPDIF = $0164; { Microsoft Corporation }
|
||||
WAVE_FORMAT_UNISYS_NAP_ADPCM = $0170; { Unisys Corp. }
|
||||
WAVE_FORMAT_UNISYS_NAP_ULAW = $0171; { Unisys Corp. }
|
||||
WAVE_FORMAT_UNISYS_NAP_ALAW = $0172; { Unisys Corp. }
|
||||
WAVE_FORMAT_UNISYS_NAP_16K = $0173; { Unisys Corp. }
|
||||
WAVE_FORMAT_SYCOM_ACM_SYC008 = $0174; { SyCom Technologies }
|
||||
WAVE_FORMAT_SYCOM_ACM_SYC701_G726L = $0175; { SyCom Technologies }
|
||||
WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 = $0176; { SyCom Technologies }
|
||||
WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 = $0177; { SyCom Technologies }
|
||||
WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM = $0178; { Knowledge Adventure, Inc. }
|
||||
WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC = $0180; { Fraunhofer IIS }
|
||||
WAVE_FORMAT_DTS_DS = $0190; { Digital Theatre Systems, Inc. }
|
||||
WAVE_FORMAT_CREATIVE_ADPCM = $0200; { Creative Labs, Inc }
|
||||
WAVE_FORMAT_CREATIVE_FASTSPEECH8 = $0202; { Creative Labs, Inc }
|
||||
WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $0203; { Creative Labs, Inc }
|
||||
WAVE_FORMAT_UHER_ADPCM = $0210; { UHER informatic GmbH }
|
||||
WAVE_FORMAT_ULEAD_DV_AUDIO = $0215; { Ulead Systems, Inc. }
|
||||
WAVE_FORMAT_ULEAD_DV_AUDIO_1 = $0216; { Ulead Systems, Inc. }
|
||||
WAVE_FORMAT_QUARTERDECK = $0220; { Quarterdeck Corporation }
|
||||
WAVE_FORMAT_ILINK_VC = $0230; { I-link Worldwide }
|
||||
WAVE_FORMAT_RAW_SPORT = $0240; { Aureal Semiconductor }
|
||||
WAVE_FORMAT_ESST_AC3 = $0241; { ESS Technology, Inc. }
|
||||
WAVE_FORMAT_GENERIC_PASSTHRU = $0249;
|
||||
WAVE_FORMAT_IPI_HSX = $0250; { Interactive Products, Inc. }
|
||||
WAVE_FORMAT_IPI_RPELP = $0251; { Interactive Products, Inc. }
|
||||
WAVE_FORMAT_CS2 = $0260; { Consistent Software }
|
||||
WAVE_FORMAT_SONY_SCX = $0270; { Sony Corp. }
|
||||
WAVE_FORMAT_SONY_SCY = $0271; { Sony Corp. }
|
||||
WAVE_FORMAT_SONY_ATRAC3 = $0272; { Sony Corp. }
|
||||
WAVE_FORMAT_SONY_SPC = $0273; { Sony Corp. }
|
||||
WAVE_FORMAT_TELUM_AUDIO = $0280; { Telum Inc. }
|
||||
WAVE_FORMAT_TELUM_IA_AUDIO = $0281; { Telum Inc. }
|
||||
WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM = $0285; { Norcom Electronics Corp. }
|
||||
WAVE_FORMAT_FM_TOWNS_SND = $0300; { Fujitsu Corp. }
|
||||
WAVE_FORMAT_MICRONAS = $0350; { Micronas Semiconductors, Inc. }
|
||||
WAVE_FORMAT_MICRONAS_CELP833 = $0351; { Micronas Semiconductors, Inc. }
|
||||
WAVE_FORMAT_BTV_DIGITAL = $0400; { Brooktree Corporation }
|
||||
WAVE_FORMAT_INTEL_MUSIC_CODER = $0401; { Intel Corp. }
|
||||
WAVE_FORMAT_INDEO_AUDIO = $0402; { Ligos }
|
||||
WAVE_FORMAT_QDESIGN_MUSIC = $0450; { QDesign Corporation }
|
||||
WAVE_FORMAT_ON2_VP7_AUDIO = $0500; { On2 Technologies }
|
||||
WAVE_FORMAT_ON2_VP6_AUDIO = $0501; { On2 Technologies }
|
||||
WAVE_FORMAT_VME_VMPCM = $0680; { AT&T Labs, Inc. }
|
||||
WAVE_FORMAT_TPC = $0681; { AT&T Labs, Inc. }
|
||||
WAVE_FORMAT_LIGHTWAVE_LOSSLESS = $08AE; { Clearjump }
|
||||
WAVE_FORMAT_OLIGSM = $1000; { Ing C. Olivetti & C., S.p.A. }
|
||||
WAVE_FORMAT_OLIADPCM = $1001; { Ing C. Olivetti & C., S.p.A. }
|
||||
WAVE_FORMAT_OLICELP = $1002; { Ing C. Olivetti & C., S.p.A. }
|
||||
WAVE_FORMAT_OLISBC = $1003; { Ing C. Olivetti & C., S.p.A. }
|
||||
WAVE_FORMAT_OLIOPR = $1004; { Ing C. Olivetti & C., S.p.A. }
|
||||
WAVE_FORMAT_LH_CODEC = $1100; { Lernout & Hauspie }
|
||||
WAVE_FORMAT_LH_CODEC_CELP = $1101; { Lernout & Hauspie }
|
||||
WAVE_FORMAT_LH_CODEC_SBC8 = $1102; { Lernout & Hauspie }
|
||||
WAVE_FORMAT_LH_CODEC_SBC12 = $1103; { Lernout & Hauspie }
|
||||
WAVE_FORMAT_LH_CODEC_SBC16 = $1104; { Lernout & Hauspie }
|
||||
WAVE_FORMAT_NORRIS = $1400; { Norris Communications, Inc. }
|
||||
WAVE_FORMAT_ISIAUDIO_2 = $1401; { ISIAudio }
|
||||
WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = $1500; { AT&T Labs, Inc. }
|
||||
WAVE_FORMAT_MPEG_ADTS_AAC = $1600; { Microsoft Corporation }
|
||||
WAVE_FORMAT_MPEG_RAW_AAC = $1601; { Microsoft Corporation }
|
||||
WAVE_FORMAT_MPEG_LOAS = $1602; { Microsoft Corporation (MPEG-4 Audio Transport Streams (LOAS/LATM) }
|
||||
WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC = $1608; { Microsoft Corporation }
|
||||
WAVE_FORMAT_NOKIA_MPEG_RAW_AAC = $1609; { Microsoft Corporation }
|
||||
WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC = $160A; { Microsoft Corporation }
|
||||
WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC = $160B; { Microsoft Corporation }
|
||||
WAVE_FORMAT_MPEG_HEAAC = $1610; { Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any payload (ADTS, ADIF, LOAS/LATM, RAW). Format block includes MP4 AudioSpecificConfig() -- see HEAACWAVEFORMAT below }
|
||||
WAVE_FORMAT_VOXWARE_RT24_SPEECH = $181C; { Voxware Inc. }
|
||||
WAVE_FORMAT_SONICFOUNDRY_LOSSLESS = $1971; { Sonic Foundry }
|
||||
WAVE_FORMAT_INNINGS_TELECOM_ADPCM = $1979; { Innings Telecom Inc. }
|
||||
WAVE_FORMAT_LUCENT_SX8300P = $1C07; { Lucent Technologies }
|
||||
WAVE_FORMAT_LUCENT_SX5363S = $1C0C; { Lucent Technologies }
|
||||
WAVE_FORMAT_CUSEEME = $1F03; { CUSeeMe }
|
||||
WAVE_FORMAT_NTCSOFT_ALF2CM_ACM = $1FC4; { NTCSoft }
|
||||
WAVE_FORMAT_DVM = $2000; { FAST Multimedia AG }
|
||||
WAVE_FORMAT_DTS2 = $2001;
|
||||
WAVE_FORMAT_MAKEAVIS = $3313;
|
||||
WAVE_FORMAT_DIVIO_MPEG4_AAC = $4143; { Divio, Inc. }
|
||||
WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE = $4201; { Nokia }
|
||||
WAVE_FORMAT_DIVIO_G726 = $4243; { Divio, Inc. }
|
||||
WAVE_FORMAT_LEAD_SPEECH = $434C; { LEAD Technologies }
|
||||
WAVE_FORMAT_LEAD_VORBIS = $564C; { LEAD Technologies }
|
||||
WAVE_FORMAT_WAVPACK_AUDIO = $5756; { xiph.org }
|
||||
WAVE_FORMAT_ALAC = $6C61; { Apple Lossless }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_1 = $674F; { Ogg Vorbis }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_2 = $6750; { Ogg Vorbis }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_3 = $6751; { Ogg Vorbis }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS = $676F; { Ogg Vorbis }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS = $6770; { Ogg Vorbis }
|
||||
WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS = $6771; { Ogg Vorbis }
|
||||
WAVE_FORMAT_3COM_NBX = $7000; { 3COM Corp. }
|
||||
WAVE_FORMAT_OPUS = $704F; { Opus }
|
||||
WAVE_FORMAT_FAAD_AAC = $706D;
|
||||
WAVE_FORMAT_AMR_NB = $7361; { AMR Narrowband }
|
||||
WAVE_FORMAT_AMR_WB = $7362; { AMR Wideband }
|
||||
WAVE_FORMAT_AMR_WP = $7363; { AMR Wideband Plus }
|
||||
WAVE_FORMAT_GSM_AMR_CBR = $7A21; { GSMA/3GPP }
|
||||
WAVE_FORMAT_GSM_AMR_VBR_SID = $7A22; { GSMA/3GPP }
|
||||
WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 = $A100; { Comverse Infosys }
|
||||
WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC = $A101; { Comverse Infosys }
|
||||
WAVE_FORMAT_COMVERSE_INFOSYS_SBC = $A102; { Comverse Infosys }
|
||||
WAVE_FORMAT_SYMBOL_G729_A = $A103; { Symbol Technologies }
|
||||
WAVE_FORMAT_VOICEAGE_AMR_WB = $A104; { VoiceAge Corp. }
|
||||
WAVE_FORMAT_INGENIENT_G726 = $A105; { Ingenient Technologies, Inc. }
|
||||
WAVE_FORMAT_MPEG4_AAC = $A106; { ISO/MPEG-4 }
|
||||
WAVE_FORMAT_ENCORE_G726 = $A107; { Encore Software }
|
||||
WAVE_FORMAT_ZOLL_ASAO = $A108; { ZOLL Medical Corp. }
|
||||
WAVE_FORMAT_SPEEX_VOICE = $A109; { xiph.org }
|
||||
WAVE_FORMAT_VIANIX_MASC = $A10A; { Vianix LLC }
|
||||
WAVE_FORMAT_WM9_SPECTRUM_ANALYZER = $A10B; { Microsoft }
|
||||
WAVE_FORMAT_WMF_SPECTRUM_ANAYZER = $A10C; { Microsoft }
|
||||
WAVE_FORMAT_GSM_610 = $A10D;
|
||||
WAVE_FORMAT_GSM_620 = $A10E;
|
||||
WAVE_FORMAT_GSM_660 = $A10F;
|
||||
WAVE_FORMAT_GSM_690 = $A110;
|
||||
WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB = $A111;
|
||||
WAVE_FORMAT_POLYCOM_G722 = $A112; { Polycom }
|
||||
WAVE_FORMAT_POLYCOM_G728 = $A113; { Polycom }
|
||||
WAVE_FORMAT_POLYCOM_G729_A = $A114; { Polycom }
|
||||
WAVE_FORMAT_POLYCOM_SIREN = $A115; { Polycom }
|
||||
WAVE_FORMAT_GLOBAL_IP_ILBC = $A116; { Global IP }
|
||||
WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO = $A117; { RadioTime }
|
||||
WAVE_FORMAT_NICE_ACA = $A118; { Nice Systems }
|
||||
WAVE_FORMAT_NICE_ADPCM = $A119; { Nice Systems }
|
||||
WAVE_FORMAT_VOCORD_G721 = $A11A; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G726 = $A11B; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G722_1 = $A11C; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G728 = $A11D; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G729 = $A11E; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G729_A = $A11F; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_G723_1 = $A120; { Vocord Telecom }
|
||||
WAVE_FORMAT_VOCORD_LBC = $A121; { Vocord Telecom }
|
||||
WAVE_FORMAT_NICE_G728 = $A122; { Nice Systems }
|
||||
WAVE_FORMAT_FRACE_TELECOM_G729 = $A123; { France Telecom }
|
||||
WAVE_FORMAT_CODIAN = $A124; { CODIAN }
|
||||
WAVE_FORMAT_FLAC = $F1AC; { flac.sourceforge.net }
|
||||
WAVE_FORMAT_EXTENSIBLE = $FFFE; { Microsoft }
|
||||
|
||||
type
|
||||
TChunkID = array [0..3] of char;
|
||||
TChunkHeader = packed record
|
||||
|
@ -94,9 +94,9 @@ begin
|
||||
Result := Result and (riff.ChunkHeader.ID = AUDIO_CHUNK_ID_RIFF) and (riff.Format = AUDIO_CHUNK_ID_WAVE);
|
||||
Result := Result and (fStream.Read(fmt, sizeof(fmt)) = sizeof(fmt));
|
||||
LEtoN(fmt);
|
||||
Result := Result and (fmt.ChunkHeader.ID = AUDIO_CHUNK_ID_fmt);
|
||||
if Result and (fmt.Format <> 1) then
|
||||
Exit(False);
|
||||
Result := Result and (fmt.ChunkHeader.ID = AUDIO_CHUNK_ID_fmt) and ((fmt.ChunkHeader.Size + 8) >= sizeof(fmt));
|
||||
if Result and ((fmt.ChunkHeader.Size + 8) > sizeof(fmt)) then
|
||||
fStream.Seek(Align((fmt.ChunkHeader.Size + 8) - sizeof(fmt), 2), soCurrent);
|
||||
end;
|
||||
|
||||
function Min(a, b: Integer): Integer;
|
||||
@ -121,8 +121,10 @@ begin
|
||||
EoF := sz < sizeof(DataChunk);
|
||||
if not EoF then begin
|
||||
DataChunk.Size := LEtoN(DataChunk.Size);
|
||||
if DataChunk.Id <> AUDIO_CHUNK_ID_data then
|
||||
ChunkPos := DataChunk.Size
|
||||
if DataChunk.Id <> AUDIO_CHUNK_ID_data then begin
|
||||
ChunkPos := DataChunk.Size;
|
||||
fstream.Seek(DataChunk.Size, soCurrent);
|
||||
end
|
||||
else
|
||||
ChunkPos := 0;
|
||||
end;
|
||||
|
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_16.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 16 1
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 16 1
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_24.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 24 1
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_32.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 32 1
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 32 3
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 64 3
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_mono_8.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 1 8 1
|
@ -0,0 +1 @@
|
||||
唽摍煡<EFBFBD>祷棵撬涡矣栽右型势陆繁<EFBFBD>潟巻wpic\WRNKHGFFGILOTY^djqx~厠憱殲。ゥぃ<E382A5>殩拲垉~zvromlkklmoqsvy|
|
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_16.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 16 1
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_24.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 24 1
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_32.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 32 1
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 32 3
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 64 3
|
Binary file not shown.
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/44k_stereo_8.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
44100 2 8 1
|
@ -0,0 +1 @@
|
||||
<EFBFBD>n蒒𦧺法綏驥胵跩跣跧跫輆輀輇輋<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>輋庬膺郡俽箒}ema]]MZ>X1V%TSRRSTUWZ]aei(m4rBwP{_<>n<EFBFBD><6E><EFBFBD>𣑐俈尐𠳔␋羽來肴皇倔晉紕紡挈悄<E68C88><E68284><EFBFBD>址山】萜𢬎㛇𤉶𩤅䕭𨅝䱗<F0A8859D><E4B197><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wy
|
BIN
packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/euphoric_tape.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
4800 1 8 1
|
File diff suppressed because one or more lines are too long
BIN
packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav
Normal file
BIN
packages/fcl-sound/tests/data/wav/reader/valid/odd_fmt_size.wav
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
4800 1 8 1
|
File diff suppressed because one or more lines are too long
103
packages/fcl-sound/tests/tcwavreader.pas
Normal file
103
packages/fcl-sound/tests/tcwavreader.pas
Normal file
@ -0,0 +1,103 @@
|
||||
unit tcwavreader;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, fpcunit, testutils, testregistry,
|
||||
fpwavreader;
|
||||
|
||||
type
|
||||
|
||||
{ TTestWavReader }
|
||||
|
||||
TTestWavReader= class(TTestCase)
|
||||
private
|
||||
procedure TestValidFile(const FileName: string);
|
||||
published
|
||||
procedure TestValidFiles;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
procedure TTestWavReader.TestValidFile(const FileName: string);
|
||||
const
|
||||
CorrectFileDir = 'data/wav/reader/valid/';
|
||||
var
|
||||
WavReader: TWavReader;
|
||||
InfoFile: TextFile;
|
||||
RawDataFile: File;
|
||||
ExpectedSampleRate, ExpectedChannels, ExpectedBitsPerSample,
|
||||
ExpectedFormat: Integer;
|
||||
ExpectedData: array of Byte;
|
||||
ActualData: array of Byte;
|
||||
ActualDataLen: Integer;
|
||||
SaveFileMode: Byte;
|
||||
begin
|
||||
AssignFile(InfoFile, CorrectFileDir + FileName + '.info.txt');
|
||||
Reset(InfoFile);
|
||||
try
|
||||
Readln(InfoFile, ExpectedSampleRate, ExpectedChannels, ExpectedBitsPerSample, ExpectedFormat);
|
||||
finally
|
||||
CloseFile(InfoFile);
|
||||
end;
|
||||
|
||||
SaveFileMode := FileMode;
|
||||
try
|
||||
FileMode := 0;
|
||||
AssignFile(RawDataFile, CorrectFileDir + FileName + '.raw');
|
||||
Reset(RawDataFile, 1);
|
||||
try
|
||||
SetLength(ExpectedData, FileSize(RawDataFile));
|
||||
BlockRead(RawDataFile, ExpectedData[0], Length(ExpectedData));
|
||||
finally
|
||||
CloseFile(RawDataFile);
|
||||
end;
|
||||
finally
|
||||
FileMode := SaveFileMode;
|
||||
end;
|
||||
|
||||
WavReader := TWavReader.Create;
|
||||
try
|
||||
if not WavReader.LoadFromFile(CorrectFileDir + FileName) then
|
||||
Fail('Error loading wave file');
|
||||
AssertEquals('Incorrect format', ExpectedFormat, WavReader.fmt.Format);
|
||||
AssertEquals('Incorrect sample rate', ExpectedSampleRate, WavReader.fmt.SampleRate);
|
||||
AssertEquals('Incorrect number of channels', ExpectedChannels, WavReader.fmt.Channels);
|
||||
AssertEquals('Incorrect number of bits per sample', ExpectedBitsPerSample, WavReader.fmt.BitsPerSample);
|
||||
SetLength(ActualData, Length(ExpectedData));
|
||||
ActualDataLen := WavReader.ReadBuf(ActualData[0], Length(ActualData));
|
||||
AssertEquals('Data length', Length(ExpectedData), ActualDataLen);
|
||||
AssertTrue('Data differs', CompareMem(@ExpectedData[0], @ActualData[0], ActualDataLen));
|
||||
finally
|
||||
FreeAndNil(WavReader);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestWavReader.TestValidFiles;
|
||||
begin
|
||||
TestValidFile('44k_mono_8.wav');
|
||||
TestValidFile('44k_mono_16.wav');
|
||||
TestValidFile('44k_mono_24.wav');
|
||||
TestValidFile('44k_mono_32.wav');
|
||||
TestValidFile('44k_mono_32float.wav');
|
||||
TestValidFile('44k_mono_64float.wav');
|
||||
TestValidFile('44k_stereo_8.wav');
|
||||
TestValidFile('44k_stereo_16.wav');
|
||||
TestValidFile('44k_stereo_24.wav');
|
||||
TestValidFile('44k_stereo_32.wav');
|
||||
TestValidFile('44k_stereo_32float.wav');
|
||||
TestValidFile('44k_stereo_64float.wav');
|
||||
TestValidFile('44k_mono_16_tag.wav');
|
||||
TestValidFile('euphoric_tape.wav');
|
||||
TestValidFile('odd_fmt_size.wav');
|
||||
end;
|
||||
|
||||
|
||||
|
||||
initialization
|
||||
|
||||
RegisterTest(TTestWavReader);
|
||||
end.
|
||||
|
76
packages/fcl-sound/tests/testfclsound.lpi
Normal file
76
packages/fcl-sound/tests/testfclsound.lpi
Normal file
@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="11"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<MainUnit Value="0"/>
|
||||
<Title Value="testfclsound"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
</General>
|
||||
<BuildModes Count="1">
|
||||
<Item1 Name="Default" Default="True"/>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<UseFileFilters Value="True"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
<Modes Count="0"/>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="3">
|
||||
<Item1>
|
||||
<PackageName Value="fpcunittestrunner"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="FCL"/>
|
||||
</Item3>
|
||||
</RequiredPackages>
|
||||
<Units Count="2">
|
||||
<Unit0>
|
||||
<Filename Value="testfclsound.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="tcwavreader.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit1>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<Target>
|
||||
<Filename Value="testfclsound"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<OtherUnitFiles Value="../src"/>
|
||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
15
packages/fcl-sound/tests/testfclsound.lpr
Normal file
15
packages/fcl-sound/tests/testfclsound.lpr
Normal file
@ -0,0 +1,15 @@
|
||||
program testfclsound;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
Interfaces, Forms, GuiTestRunner, tcwavreader;
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TGuiTestRunner, TestRunner);
|
||||
Application.Run;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user