{"_id":"codec-parser","_rev":"4213749","name":"codec-parser","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","dist-tags":{"latest":"2.5.0"},"maintainers":[{"name":"eshaz","email":""}],"time":{"modified":"2026-03-04T17:08:15.000Z","created":"2021-03-06T23:15:16.456Z","2.5.0":"2024-10-20T04:10:38.429Z","2.4.3":"2023-08-07T01:58:20.211Z","2.4.2":"2023-06-09T22:32:13.517Z","2.4.1":"2023-06-08T04:11:52.620Z","2.4.0":"2023-04-22T18:43:10.038Z","2.3.0":"2023-04-01T22:15:09.161Z","2.2.1":"2023-03-23T23:11:54.659Z","2.2.0":"2022-07-23T22:56:08.060Z","2.1.0":"2022-06-25T23:54:38.885Z","2.0.2":"2022-05-29T01:33:21.320Z","2.0.1":"2022-03-14T02:25:17.848Z","2.0.0":"2021-11-22T01:31:51.021Z","1.5.0":"2021-11-10T03:02:38.724Z","1.4.1":"2021-11-07T03:25:55.158Z","1.4.0":"2021-10-19T04:01:10.600Z","1.3.0":"2021-10-17T03:15:48.181Z","1.2.0":"2021-10-16T18:57:07.783Z","1.1.2":"2021-10-09T18:00:57.068Z","1.1.1":"2021-10-05T02:41:26.955Z","1.1.0":"2021-10-04T03:40:15.085Z","1.0.1":"2021-07-15T02:16:00.075Z","1.0.0":"2021-07-13T03:52:44.954Z","0.2.0":"2021-05-11T01:56:21.225Z","0.1.1":"2021-05-07T03:41:31.868Z","0.1.0":"2021-05-07T03:00:09.438Z","0.0.4":"2021-03-10T17:38:13.559Z","0.0.3":"2021-03-07T17:35:18.489Z","0.0.2":"2021-03-07T05:38:49.687Z","0.0.1":"2021-03-06T23:15:16.456Z"},"users":{},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"versions":{"2.5.0":{"name":"codec-parser","version":"2.5.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.13","jest":"^29.7.0","prettier":"^3.3.3"},"gitHead":"7834ca161922cd58f5e627d75b7dcc45dcce7e58","_id":"codec-parser@2.5.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"213f224dcf029854682a532a41d2d433ddda4d3e","size":34315,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.5.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.5.0_1729397438249_0.830460325269142"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-20T04:10:38.429Z","publish_time":1729397438429,"_source_registry_name":"default","_cnpm_publish_time":1729397438429},"2.4.3":{"name":"codec-parser","version":"2.4.3","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.3","jest":"^29.6.2","prettier":"^3.0.1"},"gitHead":"f78bbb704f705f18324d985331727797b11525f2","_id":"codec-parser@2.4.3","_nodeVersion":"18.17.0","_npmVersion":"9.6.7","dist":{"shasum":"759b16b0db60125efcb394e7d5dc3617cc32bf27","size":33832,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.4.3.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.4.3_1691373500010_0.7385483849674472"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-07T01:58:20.211Z","publish_time":1691373500211,"_source_registry_name":"default","_cnpm_publish_time":1691373500211},"2.4.2":{"name":"codec-parser","version":"2.4.2","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.2","jest":"^29.5.0","prettier":"^2.8.8"},"gitHead":"17a5324b16b5a6ad09bef30d3b64e63f7f799e17","_id":"codec-parser@2.4.2","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"32a3271c9a79711cd61effeeea4b5b4d8b52efb8","size":33861,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.4.2.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.4.2_1686349933333_0.8748979787848623"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-09T22:32:13.517Z","publish_time":1686349933517,"_source_registry_name":"default","_cnpm_publish_time":1686349933517},"2.4.1":{"name":"codec-parser","version":"2.4.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.2","jest":"^29.5.0","prettier":"^2.8.8"},"gitHead":"c65ac5eb6a9be6e0fe1d45e3fe9c4f10cd8addca","_id":"codec-parser@2.4.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"93d93c16350a8c51a0dbee88e767776a833dfe67","size":33648,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.4.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.4.1_1686197512461_0.013538670964680533"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-08T04:11:52.620Z","publish_time":1686197512620,"_source_registry_name":"default","_cnpm_publish_time":1686197512620},"2.4.0":{"name":"codec-parser","version":"2.4.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.1","jest":"^29.5.0","prettier":"^2.8.7"},"gitHead":"5234dd8984ac2faa28b2bf24adb9c9842ae41349","_id":"codec-parser@2.4.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"048f4839a19738d60cf52db917b44fff962679ec","size":33628,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.4.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.4.0_1682188989866_0.7044767554196385"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-22T18:43:10.038Z","publish_time":1682188990038,"_cnpm_publish_time":1682188990038},"2.3.0":{"name":"codec-parser","version":"2.3.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.0","jest":"^29.5.0","prettier":"^2.8.7"},"gitHead":"3b273cbe46302cbf2b2960984ff79093cfbf31d5","_id":"codec-parser@2.3.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"f985c74f45426b4e7a26f5feda7038dac3cfe150","size":32187,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.3.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.3.0_1680387308961_0.8646443037617226"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-01T22:15:09.161Z","publish_time":1680387309161,"_cnpm_publish_time":1680387309161},"2.2.1":{"name":"codec-parser","version":"2.2.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && cat test-results.txt","format":"prettier --cache --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","sideEffects":false,"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^29.5.0","jest":"^29.5.0","prettier":"^2.8.6"},"gitHead":"8fcb73c89898ac2ff5b50b95cb13ce2721bc50aa","_id":"codec-parser@2.2.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"191fda04755654477277f96cda9dde5e5017e832","size":29524,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.2.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.2.1_1679613114512_0.4576095438898322"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-23T23:11:54.659Z","publish_time":1679613114659,"_cnpm_publish_time":1679613114659},"2.2.0":{"name":"codec-parser","version":"2.2.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^28.1.6","jest":"^28.1.3","prettier":"^2.7.1"},"gitHead":"d5c50e5ec3b3a7a0129a7d137ec1dcad710c5e43","_id":"codec-parser@2.2.0","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"shasum":"9f466c2b43102307e945741275a0a54097692607","size":29527,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.2.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.2.0_1658616967869_0.11252542426675238"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-23T22:56:11.091Z","publish_time":1658616968060,"_cnpm_publish_time":1658616968060},"2.1.0":{"name":"codec-parser","version":"2.1.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","types":"index.d.ts","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write \"**/*.js\" --write \"package.json\" --write \"**/*.d.ts\""},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^28.1.3","jest":"^28.1.1","prettier":"^2.7.1"},"gitHead":"d5c50e5ec3b3a7a0129a7d137ec1dcad710c5e43","_id":"codec-parser@2.1.0","_nodeVersion":"18.4.0","_npmVersion":"8.12.1","dist":{"shasum":"a1c06c91b5ef34bcdfdd7b46b15cf06a22686548","size":29417,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.1.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.1.0_1656201278683_0.7708487673372346"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-25T23:54:42.564Z","publish_time":1656201278885,"_cnpm_publish_time":1656201278885},"2.0.2":{"name":"codec-parser","version":"2.0.2","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.5.1","jest":"^28.1.0","prettier":"^2.6.2"},"gitHead":"473cd94ab2b67ec492f27f3c3b2cad5f7646ff36","_id":"codec-parser@2.0.2","_nodeVersion":"18.2.0","_npmVersion":"8.9.0","dist":{"shasum":"d3eb72586978723971097a53ac21792ccf9577de","size":28689,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.0.2.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.0.2_1653788001172_0.8769046394780324"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-29T01:37:03.710Z","publish_time":1653788001320,"_cnpm_publish_time":1653788001320},"2.0.1":{"name":"codec-parser","version":"2.0.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.4.1","jest":"^27.5.1","prettier":"^2.5.1"},"gitHead":"a2fd9f0aec4d826e1c3dba82f8ad2b1512e3764e","_id":"codec-parser@2.0.1","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"cd4b0de226b49d076a37fa379af17c0232f0d9b0","size":28651,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.0.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.0.1_1647224717706_0.6842058739772243"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-14T02:25:23.039Z","publish_time":1647224717848,"_cnpm_publish_time":1647224717848},"2.0.0":{"name":"codec-parser","version":"2.0.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.3","jest":"^27.3.1","prettier":"^2.4.1"},"gitHead":"3f9c7eb785c03926585c37e29d8c8b2e2be11156","_id":"codec-parser@2.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"a45a0fd2fd55d642ea93f9f33b9c7e0d35b8d58b","size":28591,"noattachment":false,"key":"/codec-parser/-/codec-parser-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-2.0.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_2.0.0_1637544710881_0.8514924810800613"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:31.280Z","publish_time":1637544711021,"_cnpm_publish_time":1637544711021},"1.5.0":{"name":"codec-parser","version":"1.5.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.3.1","prettier":"^2.4.1"},"gitHead":"09021461d45c4e863c8a7273ba091aa3cd35eba1","_id":"codec-parser@1.5.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"a5c371d2b1f834d4a5f5ef7c7f030ecd817c56d4","size":26595,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.5.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.5.0_1636513358572_0.4638218064979762"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:28.817Z","publish_time":1636513358724,"_cnpm_publish_time":1636513358724},"1.4.1":{"name":"codec-parser","version":"1.4.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.3.1","prettier":"^2.4.1"},"gitHead":"0fdd96bbd4fa8276f420df647313e3cc358cd00f","_id":"codec-parser@1.4.1","_nodeVersion":"16.11.0","_npmVersion":"8.0.0","dist":{"shasum":"d126d838dcaf8284a034fed51daa511e68487f39","size":25798,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.4.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.4.1_1636255555016_0.42818117788013543"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:27.427Z","publish_time":1636255555158,"_cnpm_publish_time":1636255555158},"1.4.0":{"name":"codec-parser","version":"1.4.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.5","prettier":"^2.4.1"},"gitHead":"14d3a7c824def74fe8fd2f9ff802a8aad2a2839c","_id":"codec-parser@1.4.0","_nodeVersion":"16.11.0","_npmVersion":"8.0.0","dist":{"shasum":"771d6ae967f31796a9d7d9fa6dd8ff91afd8d6a3","size":25691,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.4.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.4.0_1634616070407_0.2379180999952335"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:26.037Z","publish_time":1634616070600,"_cnpm_publish_time":1634616070600},"1.3.0":{"name":"codec-parser","version":"1.3.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.5","prettier":"^2.4.1"},"gitHead":"c44e51f41cccf4f84aa9492482e89fff5a2485da","_id":"codec-parser@1.3.0","_nodeVersion":"16.11.0","_npmVersion":"8.0.0","dist":{"shasum":"a9bb99b0bf6bf817c0e5d4cac6a03979192f7481","size":25443,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.3.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.3.0_1634440548046_0.2609580524217505"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:24.662Z","publish_time":1634440548181,"_cnpm_publish_time":1634440548181},"1.2.0":{"name":"codec-parser","version":"1.2.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.5","prettier":"^2.4.1"},"gitHead":"fb0c20a385d60230d3787cd01911b3c16707251a","_id":"codec-parser@1.2.0","_nodeVersion":"16.11.0","_npmVersion":"8.0.0","dist":{"shasum":"7a2ad63314d06b02a3291b2676de992173ae5618","size":23997,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.2.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.2.0_1634410627583_0.1550744447986736"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:23.288Z","publish_time":1634410627783,"_cnpm_publish_time":1634410627783},"1.1.2":{"name":"codec-parser","version":"1.1.2","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.5","prettier":"^2.4.1"},"gitHead":"541334a0c4ea83a7e3a6d42a254df4ab9e9e5174","_id":"codec-parser@1.1.2","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"shasum":"6142a446d3ea2b9d59ed79e2cc2bf3c86f70d5b7","size":23234,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.1.2.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.1.2_1633802456942_0.11051707255209875"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:21.235Z","publish_time":1633802457068,"_cnpm_publish_time":1633802457068},"1.1.1":{"name":"codec-parser","version":"1.1.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.4","prettier":"^2.4.1"},"gitHead":"d416bf652a4ba73522b85d516e031b0db2a99ec4","_id":"codec-parser@1.1.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"shasum":"5038d822f44807cc2d33356941af60a79712bf8d","size":23280,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.1.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.1.1_1633401686816_0.7174270083647447"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:19.888Z","publish_time":1633401686955,"_cnpm_publish_time":1633401686955},"1.1.0":{"name":"codec-parser","version":"1.1.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --maxWorkers=100% --coverage --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^27.0.2","jest":"^27.2.4","prettier":"^2.4.1"},"gitHead":"73a82c9ae20e1327834d996da6a94e4fd8f1994b","_id":"codec-parser@1.1.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"shasum":"87a3d6a6f745d42d8f2f4066924a44a16012d220","size":23273,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.1.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.1.0_1633318814935_0.2960485364571639"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:18.541Z","publish_time":1633318815085,"_cnpm_publish_time":1633318815085},"1.0.1":{"name":"codec-parser","version":"1.0.1","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^26.0.24","jest":"^27.0.6","prettier":"^2.3.2"},"gitHead":"3bbe008f1019246d2e83e3a212dd3c6cd8b3d61d","_id":"codec-parser@1.0.1","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"c459ccb31dd88a6bdc93e340a8a6c554d446d854","size":23495,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.0.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.0.1_1626315359946_0.9839254391480499"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:17.162Z","publish_time":1626315360075,"_cnpm_publish_time":1626315360075},"1.0.0":{"name":"codec-parser","version":"1.0.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest --no-color 2> test-results.txt && echo \"Open test-results.txt to view the test results\"","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^26.0.24","jest":"^27.0.6","prettier":"^2.3.2"},"gitHead":"0182315d3fcdfa1834a0a34c1d673b6cfdebab73","_id":"codec-parser@1.0.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"929d7ebf6d71244b44ca59e6f4c3ef4b073d6ac4","size":23454,"noattachment":false,"key":"/codec-parser/-/codec-parser-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-1.0.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_1.0.0_1626148364645_0.08630787220226632"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:15.817Z","publish_time":1626148364954,"_cnpm_publish_time":1626148364954},"0.2.0":{"name":"codec-parser","version":"0.2.0","description":"Library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^26.0.23","jest":"^26.6.3","prettier":"^2.3.0"},"gitHead":"eca3320242aa76c740035ad1ca5e853f536723dc","_id":"codec-parser@0.2.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"6a8ac8a71dbb28959d348f9cb0515be3a4571839","size":22308,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.2.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.2.0_1620698180971_0.4313646034026135"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:14.428Z","publish_time":1620698181225,"_cnpm_publish_time":1620698181225},"0.1.1":{"name":"codec-parser","version":"0.1.1","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^26.0.23","bson":"^4.3.0","jest":"^26.6.3","prettier":"^2.2.1"},"gitHead":"c5934054f28b0cf838bdb3c0e5591092b418c661","_id":"codec-parser@0.1.1","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"7b5e0a38db4f91598629198fd0acc4fd057785ad","size":22685,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.1.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.1.1_1620358891691_0.47634398050245075"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:13.074Z","publish_time":1620358891868,"_cnpm_publish_time":1620358891868},"0.1.0":{"name":"codec-parser","version":"0.1.0","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"test":"node --experimental-vm-modules node_modules/.bin/jest","format":"prettier --write '**/*.js' --write 'package.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"type":"module","homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"@types/jest":"^26.0.23","bson":"^4.3.0","jest":"^26.6.3","prettier":"^2.2.1"},"gitHead":"62030d4e837fb52e281630d11ab887f195845b6c","_id":"codec-parser@0.1.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"18bcd23db8c68504e23d1a1d0f67de94d45af658","size":22684,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.1.0.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.1.0_1620356409179_0.822356734197774"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:11.722Z","publish_time":1620356409438,"_cnpm_publish_time":1620356409438},"0.0.4":{"name":"codec-parser","version":"0.0.4","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"format":"prettier --write '**/*.js' --write '**/*.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"prettier":"^2.2.1"},"gitHead":"93ece47340a9cc2709069a992858dbba69dc97ce","_id":"codec-parser@0.0.4","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"shasum":"c918686f76aa5ab07fbbc42ba95d8edbe78d3a18","size":22572,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.0.4.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.0.4_1615397893332_0.9262471176921949"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:10.363Z","publish_time":1615397893559,"_cnpm_publish_time":1615397893559},"0.0.3":{"name":"codec-parser","version":"0.0.3","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"format":"prettier --write '**/*.js' --write '**/*.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"prettier":"^2.2.1"},"gitHead":"cf861a5a4d61ac80a5659c00cdf3976f52eeb7f4","_id":"codec-parser@0.0.3","_nodeVersion":"15.8.0","_npmVersion":"7.5.1","dist":{"shasum":"c6576b0b92ec683a664daec0a70a9ebac65754bb","size":22530,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.0.3.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.0.3_1615138518348_0.4391746479291321"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:09.003Z","publish_time":1615138518489,"_cnpm_publish_time":1615138518489},"0.0.2":{"name":"codec-parser","version":"0.0.2","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"format":"prettier --write '**/*.js' --write '**/*.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"prettier":"^2.2.1"},"gitHead":"a39f66cd159cb671ad4a788bf8c139a422824053","_id":"codec-parser@0.0.2","_nodeVersion":"15.8.0","_npmVersion":"7.5.1","dist":{"shasum":"3f1bd9882cc48eb52496e3aceead43d0ac5d3115","size":22527,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.0.2.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.0.2_1615095529509_0.07130144028153973"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:07.660Z","publish_time":1615095529687,"_cnpm_publish_time":1615095529687},"0.0.1":{"name":"codec-parser","version":"0.0.1","description":"Library that splits audio data into an array of frames","main":"index.js","keywords":["mp3","mpeg","aac","aacp","flac","opus","vorbis","ogg","ogg-flac","ogg-opus","ogg-vorbis"],"scripts":{"format":"prettier --write '**/*.js' --write '**/*.json'"},"repository":{"type":"git","url":"git+https://github.com/eshaz/codec-parser.git"},"author":{"name":"Ethan Halsall","email":"ethanhalsall@pm.me"},"license":"LGPL-3.0-or-later","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"homepage":"https://github.com/eshaz/codec-parser#readme","devDependencies":{"prettier":"^2.2.1"},"gitHead":"8f0753124abd9940aa90707a815610c0a57b7d4a","_id":"codec-parser@0.0.1","_nodeVersion":"15.8.0","_npmVersion":"7.5.1","dist":{"shasum":"9b1f184c4878a5f586a8458fdb081155288bc07c","size":22506,"noattachment":false,"key":"/codec-parser/-/codec-parser-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/codec-parser/download/codec-parser-0.0.1.tgz"},"_npmUser":{"name":"eshaz","email":"ethanshalsall@gmail.com"},"directories":{},"maintainers":[{"name":"eshaz","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec-parser_0.0.1_1615072516287_0.09528792436580646"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-27T04:55:06.311Z","publish_time":1615072516456,"_cnpm_publish_time":1615072516456}},"readme":"# Codec Parser\n\n`codec-parser` is a JavaScript library that parses raw data from audio codecs into frames containing data, header values, duration, and other information.\n\n### Supports:\n  * **MPEG Layer I/II/III (MP3)** - `audio/mpeg`\n  * **AAC** - `audio/aac`, `audio/aacp`\n  * **FLAC** - `audio/flac`\n  * **Ogg FLAC** - `application/ogg`, `audio/ogg`\n  * **Ogg Opus** - `application/ogg`, `audio/ogg`\n  * **Ogg Vorbis** - `application/ogg`, `audio/ogg`\n\n## Demo\nThe demo for [`icecast-metadata-js`](https://github.com/eshaz/icecast-metadata-js) uses this library to allow for playback of streaming audio. `codec-parser` is used by [`mse-audio-wrapper`](https://github.com/eshaz/mse-audio-wrapper) to wrap streaming audio in ISOBMFF or WEBM so it can be played back using the MediaSource API.\n\n## View the live demo [here](https://eshaz.github.io/icecast-metadata-js/)!\n\n---\n\n* [Installing](#installing)\n* [Usage](#usage)\n  * [Instantiation](#instantiation)\n  * [Methods](#methods)\n  * [Properties](#properties)\n* [Data Types](#data-types)\n  * [OggPage](#oggpage)\n  * [CodecFrame](#codecframe)\n  * [CodecHeader](#codecheader)\n    * [MPEGHeader](#mpegheader)\n    * [AACHeader](#aacheader)\n    * [FLACHeader](#flacheader)\n    * [OpusHeader](#opusheader)\n    * [VorbisHeader](#vorbisheader)\n\n## Installing\n\n### Install via [NPM](https://www.npmjs.com/package/codec-parser)\n* `npm i codec-parser`\n\n## Usage\n\n1. Create a new instance of `CodecParser` by passing in the mimetype of your audio data along with the options object.\n\n    *Note: For directly reading from a HTTP response, use the mimetype contained in the `Content-Type` header*\n    \n    ```javascript\n    import CodecParser from \"codec-parser\";\n\n    const mimeType = \"audio/mpeg\";\n    const options = {\n        onCodec: () => {},\n        onCodecUpdate: () => {},\n        enableLogging: true\n    };\n\n    const parser = new CodecParser(mimeType, options);\n    ```\n\n### Parsing an entire file\n\n1. To parse an entire audio file, pass in a Uint8Array of the entire audio file into the instance's `.parseAll()`. This method will read the all of the data and return an array of [`CodecFrame`](#codecframe)s or [`OggPage`](#oggpage)s.\n\n    ```javascript\n    const frames = parser.parseAll(audioData);\n\n    // Do something with the frames\n    ```\n\n### Parsing chunks of audio\n\n1. To begin processing chunks of audio data, pass in a Uint8Array of audio data into the instance's `.parseChunk()`. This method returns an iterator that can be consumed using a `for ...of` or `for await...of` loop.\n\n    ```javascript\n    for (const frame of parser.parseChunk(audioData)) {\n      // Do something with each frame\n    }\n    ```\n    ***or***\n    ```javascript\n    const frames = [...parser.parseChunk(audioData)]\n    ```\n\n    `CodecParser` will read the passed in data and attempt to parse audio frames according to the passed in `mimeType`. Any partial data will be stored until enough data is passed in for a complete frame can be formed. Iterations will begin to return frames once at least two consecutive frames have been detected in the passed in data.\n\n    *Note: Any data that does not conform to the instance's mimetype will be discarded.*\n\n    ### Example:\n\n    * 1st `.parseChunk()` call\n      * Input\n          ```\n          [MPEG frame 0 (partial)],\n          [MPEG frame 1 (partial)], \n          ```\n      * Output (no iterations)\n        ```\n        (none)\n        ```\n      * `Frame 0` is dropped since it doesn't start with a valid header.\n      * `Frame 1` is parsed and stored internally until enough data is passed in to properly sync.\n    * 2nd `.parseChunk()` call\n      * Input\n          ```\n          [MPEG frame 1 (partial)], \n          [MPEG frame 2 (partial)]\n          ```\n      * Output (1 iteration)\n        ```\n        MPEG Frame 1 {\n            data,\n            header\n            ...\n        }\n        ```\n      * `Frame 1` is joined with the partial data and returned since it was immediately followed by `Frame 2`.\n      * `Frame 2` is stored internally as partial data.\n    * 3rd `.parseChunk()` call\n      * Input\n        ```\n        [MPEG frame 2 (partial)],\n        [MPEG frame 3 (full)], \n        [MPEG frame 4 (partial)]\n        ```\n      * Output (2 iterations)\n        ```\n        MPEG Frame 2 {\n            data,\n            header\n            ...\n        }\n        ```\n        ```\n        MPEG Frame 3 {\n            data,\n            header\n            ...\n        }\n        ```\n      * `Frame 2` is joined with the partial data and returned since it was immediately followed by `Frame 3`.\n      * `Frame 3` is returned since it was immediately followed by `Frame 4`.\n      * `Frame 4` is stored internally as partial data.\n\n1. When you have come to the end of the stream or file, you may call the instance's `flush()` method to return another iterator that will yield any remaining frames that are buffered. Calling `flush()` will reset the internal state of the `CodecParser` instance and may re-use the instance to parse additional streams.\n\n    ```javascript\n    for (const frame of parser.flush()) {\n      // Do something the buffered frames\n    }\n    ```\n    ***or***\n    ```javascript\n    const frames = [...parser.flush()]\n    ```\n\n\n### Instantiation\n\n`const parser = new CodecParser(\"audio/mpeg\", options);`\n* `constructor` Creates a new instance of CodecParser that can be used to parse audio for a given mimetype.\n  * `mimetype` *required* Incoming audio codec or container\n    * MP3 - `audio/mpeg`\n    * AAC - `audio/aac`, `audio/aacp`\n    * FLAC - `audio/flac`\n    * Ogg FLAC - `application/ogg`, `audio/ogg`\n    * Ogg Opus - `application/ogg`, `audio/ogg`\n    * Ogg Vorbis - `application/ogg`, `audio/ogg`\n  * `options` *optional*\n    * `options.onCodec()` *optional* Called when the output codec is determined.\n      * See `parser.codec` for a list of the possible output codecs\n    * `options.onCodecHeader(codecHeaderData)` *optional* Called once when the codec header is first parsed.\n      * `codecHeaderData` Object containing codec header information.\n    * `options.onCodecUpdate(codecHeaderData, updateTimestamp)` *optional* Called when there is a change in the codec header.\n      * `codecHeaderData` Object containing codec header information that was updated.\n      * `updateTimestamp` Timestamp in milliseconds when the codec information was updated.\n    * `options.enableLogging` *optional* Set to true to enable warning and error messages.\n    * `options.enableFrameCRC32` *optional* Set to false to disable the crc32 calculation for each frame. This will save a marginal amount of execution time if you don't need this information.\n\n### Methods\n\n* `parser.parseAll(data)` Function that takes a audio data for an entire file.\n  * `data` `Uint8Array` of audio data for a complete audio stream / file\n  * Returns an Array of [`CodecFrame`](#codecframe)s or [`OggPage`](#oggpage)s for the entire file\n* `parser.parseChunk(chunk)` Generator function that yields frames for a partial chunk of audio data from an audio stream or file\n  * `chunk` `Uint8Array` of audio data\n  * Returns `Iterator` that yields a parsed [`CodecFrame`](#codecframe) or [`OggPage`](#oggpage) for each iteration.\n* `parser.flush()` Generator function that yields any buffered frames that are stored after `parseChunk()` completes\n  * Returns `Iterator` that yields a parsed [`CodecFrame`](#codecframe) or [`OggPage`](#oggpage) for each iteration.\n  * This function can be used after `parseChunk` has been called with all of the audio data you intend to parse. The final iterator returned by `parseChunk()` must be consumed before calling `flush()`.\n  * Calling `flush()` will reset the internal state of the `CodecParser` instance. You may re-use the instance to parse additional streams.\n\n### Properties\n\n* `parser.codec` The detected codec of the audio data\n    * **Note: For Ogg streams, the codec will only be available after Ogg identification header has been parsed.**\n  * Values:\n    * MPEG (MP3) - `\"mpeg\"`\n    * AAC - `\"aac\"`\n    * FLAC - `\"flac\"`\n    * Opus - `\"opus\"`\n    * Vorbis - `\"vorbis\"`\n\n## Data Types\n\nDepending on the mimetype each iteration of `CodecParser.parseChunk()` will return a single `CodecFrame` or a single `OggPage`.\n\n### `OggPage`\n\n`OggPage` describes a single ogg page. An `OggPage` may contain zero to many `CodecFrame` objects. `OggPage` will be returned when the mimetype is `audio/ogg` or `application/ogg`.\n\n* `absoluteGranulePosition`: Total audio samples in the ogg stream up to the end of this `OggPage`.\n* `codecFrames`: Array of `CodecFrame`(s) contained within this `OggPage`.\n* `crc32`: CRC-32 hash of the frame data using the Ogg formula / polynomial.\n* `data`: `Uint8Array` containing the page segments within the ogg page.\n* `duration`: Audio duration in milliseconds contained within this `OggPage`.\n* `isContinuedPacket`: Boolean indicating if this `OggPage` is part of a continued packet.\n* `isFirstPage`: Boolean indicating if this `OggPage` is the first page in the Ogg stream.\n* `isLastPage`: Boolean indicating if this this `OggPage` is the final page in the Ogg stream.\n* `pageSequenceNumber`: Page sequence number within the Ogg stream.\n* `rawData`: `Uint8Array` Total data of the `OggPage`.\n* `samples`: Total number of audio samples contained within the `OggPage`.\n* `streamSerialNumber`: Serial number of the Ogg stream.\n* `totalBytesOut`: Total bytes of codec data output by `CodecParer` at the end of this ogg page.\n* `totalDuration`: Total audio samples output by `CodecParer` at the end of this ogg page.\n* `totalSamples`: Total audio duration in milliseconds output by `CodecParer` at the end of this ogg page.\n\n### `CodecFrame`\n\n`CodecFrame` describes a single frame for an audio codec. `CodecFrame` will be returned when the mimetype describes audio that is not encapsulated within a container i.e. `audio/mpeg`, `audio/aac`, or `audio/flac`.\n\n* `data`: `Uint8Array` containing the audio data within this frame.\n* `header`: [`Header`](#header) object describing the codec information.\n* `crc32`: CRC-32 hash of the frame data.\n* `samples`: Audio samples contained within this frame.\n* `duration`: Audio duration in milliseconds contained within this frame.\n* `frameNumber`: Total count of frames output by `CodecParser` starting at 0.\n* `totalBytesOut`: Total bytes output by `CodecParer` not including this frame.\n* `totalSamples`: Total audio samples output by `CodecParer` not including this frame.\n* `totalDuration`: Total audio duration in milliseconds output by `CodecParer` not including this frame.\n\n#### Example\n```javascript\n// First CodecFrame\nMPEGFrame {\n  data: Uint8Array(417),\n  header: MPEGHeader {\n    bitDepth: 16,\n    channels: 2,\n    sampleRate: 44100,\n    bitrate: 128,\n    channelMode: \"joint stereo\",\n    emphasis: \"none\",\n    framePadding: 1,\n    isCopyrighted: false,\n    isOriginal: true,\n    isPrivate: false,\n    layer: \"Layer III\",\n    modeExtension: \"Intensity stereo off, MS stereo on\",\n    mpegVersion: \"MPEG Version 1 (ISO/IEC 11172-3)\",\n    protection: \"none\"\n  },\n  crc32: 275944052,\n  samples: 1152,\n  duration: 26.122448979591837,\n  frameNumber: 0,\n  totalBytesOut: 0,\n  totalSamples: 0,\n  totalDuration: 0\n}\n\n// Second CodecFrame\nMPEGFrame {\n  data: Uint8Array(416),\n  header: MPEGHeader {\n    bitDepth: 16,\n    channels: 2,\n    sampleRate: 44100,\n    bitrate: 128,\n    channelMode: \"joint stereo\",\n    emphasis: \"none\",\n    framePadding: 0,\n    isCopyrighted: false,\n    isOriginal: true,\n    isPrivate: false,\n    layer: \"Layer III\",\n    modeExtension: \"Intensity stereo off, MS stereo on\",\n    mpegVersion: \"MPEG Version 1 (ISO/IEC 11172-3)\",\n    protection: \"none\"\n  },\n  crc32: 1336875295,\n  samples: 1152,\n  duration: 26.122448979591837,\n  frameNumber: 1,\n  totalBytesOut: 418,\n  totalSamples: 1152,\n  totalDuration: 26.122448979591837\n}\n```\n\n### CodecHeader\n\nEach codec has it's own `CodecHeader` data type. See each class below for documentation on each codec specific header.\n\n### `MPEGHeader`\n[***Documentation***](https://github.com/eshaz/codec-parser/blob/master/src/codecs/mpeg/MPEGHeader.js)\n```javascript\n{\n  bitDepth: 16,\n  bitrate: 192,\n  channels: 2,\n  sampleRate: 44100,\n  channelMode: \"joint stereo\",\n  emphasis: \"none\",\n  framePadding: 1,\n  isCopyrighted: false,\n  isOriginal: false,\n  isPrivate: false,\n  layer: \"Layer III\",\n  modeExtension: \"Intensity stereo off, MS stereo on\",\n  mpegVersion: \"MPEG Version 1 (ISO/IEC 11172-3)\",\n  protection: \"16bit CRC\"\n}\n```\n### `AACHeader`\n[***Documentation***](https://github.com/eshaz/codec-parser/blob/master/src/codecs/aac/AACHeader.js)\n```javascript\n{\n  bitDepth: 16,\n  bitrate: 312,\n  channels: 2,\n  sampleRate: 44100,\n  copyrightId: false,\n  copyrightIdStart: false,\n  channelMode: \"stereo (left, right)\",\n  bufferFullness: \"VBR\",\n  isHome: false,\n  isOriginal: false,\n  isPrivate: false,\n  layer: \"valid\",\n  length: 7,\n  mpegVersion: \"MPEG-4\",\n  numberAACFrames: 0,\n  profile: \"AAC LC (Low Complexity)\",\n  protection: \"none\"\n}\n```\n\n### `FLACHeader`\n[***Documentation***](https://github.com/eshaz/codec-parser/blob/master/src/codecs/flac/FLACHeader.js)\n```javascript\n{\n  bitDepth: 16,\n  bitrate: 400,\n  channels: 2,\n  sampleRate: 44100,\n  channelMode: \"stereo (left, right)\",\n  blockingStrategy: \"Fixed\",\n  blockSize: 4096,\n  frameNumber: 15183508,\n  crc16: 56624,\n  streamInfo: Uint8Array\n}\n```\n\n### `OpusHeader`\n[***Documentation***](https://github.com/eshaz/codec-parser/blob/master/src/codecs/opus/OpusHeader.js)\n```javascript\n{\n  bitDepth: 16,\n  bitrate: 192,\n  channels: 2,\n  data: Uint8Array,\n  sampleRate: 48000,\n  bandwidth: \"fullband\",\n  channelMappingFamily: 1,\n  channelMappingTable: [0, 1],\n  coupledStreamCount: 1,\n  streamCount: 1,\n  channelMode: \"stereo (left, right)\",\n  frameCount: 1,\n  frameSize: 20,\n  inputSampleRate: 48000,\n  mode: \"CELT-only\",\n  outputGain: 0,\n  preSkip: 312\n}\n```\n### `VorbisHeader`\n[***Documentation***](https://github.com/eshaz/codec-parser/blob/master/src/codecs/vorbis/VorbisHeader.js)\n```javascript\n{\n  bitDepth: 32,\n  bitrate: 272,\n  channels: 2,\n  channelMode: \"stereo (left, right)\",\n  sampleRate: 44100,\n  bitrateMaximum: 0,\n  bitrateMinimum: 0,\n  bitrateNominal: 320000,\n  blocksize0: 256,\n  blocksize1: 2048\n  data: Uint8Array,\n  vorbisComments: Uint8Array,\n  vorbisSetup: Uint8Array\n}\n```","_attachments":{},"homepage":"https://github.com/eshaz/codec-parser#readme","bugs":{"url":"https://github.com/eshaz/codec-parser/issues"},"license":"LGPL-3.0-or-later"}