webcodecs-node 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +656 -0
- package/README.md +607 -0
- package/dist/AudioData.d.ts +6 -0
- package/dist/AudioData.d.ts.map +1 -0
- package/dist/AudioData.js +6 -0
- package/dist/AudioData.js.map +1 -0
- package/dist/AudioDecoder.d.ts +6 -0
- package/dist/AudioDecoder.d.ts.map +1 -0
- package/dist/AudioDecoder.js +6 -0
- package/dist/AudioDecoder.js.map +1 -0
- package/dist/AudioEncoder.d.ts +6 -0
- package/dist/AudioEncoder.d.ts.map +1 -0
- package/dist/AudioEncoder.js +6 -0
- package/dist/AudioEncoder.js.map +1 -0
- package/dist/EncodedAudioChunk.d.ts +6 -0
- package/dist/EncodedAudioChunk.d.ts.map +1 -0
- package/dist/EncodedAudioChunk.js +6 -0
- package/dist/EncodedAudioChunk.js.map +1 -0
- package/dist/EncodedVideoChunk.d.ts +6 -0
- package/dist/EncodedVideoChunk.d.ts.map +1 -0
- package/dist/EncodedVideoChunk.js +6 -0
- package/dist/EncodedVideoChunk.js.map +1 -0
- package/dist/FFmpegProcess.d.ts +6 -0
- package/dist/FFmpegProcess.d.ts.map +1 -0
- package/dist/FFmpegProcess.js +6 -0
- package/dist/FFmpegProcess.js.map +1 -0
- package/dist/HardwareAcceleration.d.ts +6 -0
- package/dist/HardwareAcceleration.d.ts.map +1 -0
- package/dist/HardwareAcceleration.js +6 -0
- package/dist/HardwareAcceleration.js.map +1 -0
- package/dist/ImageDecoder.d.ts +6 -0
- package/dist/ImageDecoder.d.ts.map +1 -0
- package/dist/ImageDecoder.js +6 -0
- package/dist/ImageDecoder.js.map +1 -0
- package/dist/Logger.d.ts +6 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +6 -0
- package/dist/Logger.js.map +1 -0
- package/dist/MediaCapabilities.d.ts +9 -0
- package/dist/MediaCapabilities.d.ts.map +1 -0
- package/dist/MediaCapabilities.js +8 -0
- package/dist/MediaCapabilities.js.map +1 -0
- package/dist/VideoDecoder.d.ts +6 -0
- package/dist/VideoDecoder.d.ts.map +1 -0
- package/dist/VideoDecoder.js +6 -0
- package/dist/VideoDecoder.js.map +1 -0
- package/dist/VideoEncoder.d.ts +6 -0
- package/dist/VideoEncoder.d.ts.map +1 -0
- package/dist/VideoEncoder.js +6 -0
- package/dist/VideoEncoder.js.map +1 -0
- package/dist/VideoFrame.d.ts +10 -0
- package/dist/VideoFrame.d.ts.map +1 -0
- package/dist/VideoFrame.js +9 -0
- package/dist/VideoFrame.js.map +1 -0
- package/dist/__tests__/AudioData.test.d.ts +5 -0
- package/dist/__tests__/AudioData.test.d.ts.map +1 -0
- package/dist/__tests__/AudioData.test.js +179 -0
- package/dist/__tests__/AudioData.test.js.map +1 -0
- package/dist/__tests__/AudioDecoder.test.d.ts +5 -0
- package/dist/__tests__/AudioDecoder.test.d.ts.map +1 -0
- package/dist/__tests__/AudioDecoder.test.js +733 -0
- package/dist/__tests__/AudioDecoder.test.js.map +1 -0
- package/dist/__tests__/AudioEncoder.test.d.ts +5 -0
- package/dist/__tests__/AudioEncoder.test.d.ts.map +1 -0
- package/dist/__tests__/AudioEncoder.test.js +247 -0
- package/dist/__tests__/AudioEncoder.test.js.map +1 -0
- package/dist/__tests__/EncodedChunks.test.d.ts +5 -0
- package/dist/__tests__/EncodedChunks.test.d.ts.map +1 -0
- package/dist/__tests__/EncodedChunks.test.js +99 -0
- package/dist/__tests__/EncodedChunks.test.js.map +1 -0
- package/dist/__tests__/HardwareAcceleration.test.d.ts +5 -0
- package/dist/__tests__/HardwareAcceleration.test.d.ts.map +1 -0
- package/dist/__tests__/HardwareAcceleration.test.js +84 -0
- package/dist/__tests__/HardwareAcceleration.test.js.map +1 -0
- package/dist/__tests__/ImageDecoder.test.d.ts +5 -0
- package/dist/__tests__/ImageDecoder.test.d.ts.map +1 -0
- package/dist/__tests__/ImageDecoder.test.js +587 -0
- package/dist/__tests__/ImageDecoder.test.js.map +1 -0
- package/dist/__tests__/MediaCapabilities.test.d.ts +5 -0
- package/dist/__tests__/MediaCapabilities.test.d.ts.map +1 -0
- package/dist/__tests__/MediaCapabilities.test.js +346 -0
- package/dist/__tests__/MediaCapabilities.test.js.map +1 -0
- package/dist/__tests__/VideoDecoder.test.d.ts +5 -0
- package/dist/__tests__/VideoDecoder.test.d.ts.map +1 -0
- package/dist/__tests__/VideoDecoder.test.js +675 -0
- package/dist/__tests__/VideoDecoder.test.js.map +1 -0
- package/dist/__tests__/VideoEncoder.test.d.ts +5 -0
- package/dist/__tests__/VideoEncoder.test.d.ts.map +1 -0
- package/dist/__tests__/VideoEncoder.test.js +468 -0
- package/dist/__tests__/VideoEncoder.test.js.map +1 -0
- package/dist/__tests__/VideoFrame.test.d.ts +5 -0
- package/dist/__tests__/VideoFrame.test.d.ts.map +1 -0
- package/dist/__tests__/VideoFrame.test.js +243 -0
- package/dist/__tests__/VideoFrame.test.js.map +1 -0
- package/dist/__tests__/aac-utils.test.d.ts +2 -0
- package/dist/__tests__/aac-utils.test.d.ts.map +1 -0
- package/dist/__tests__/aac-utils.test.js +37 -0
- package/dist/__tests__/aac-utils.test.js.map +1 -0
- package/dist/__tests__/avc-utils.test.d.ts +2 -0
- package/dist/__tests__/avc-utils.test.d.ts.map +1 -0
- package/dist/__tests__/avc-utils.test.js +63 -0
- package/dist/__tests__/avc-utils.test.js.map +1 -0
- package/dist/__tests__/hevc-utils.test.d.ts +2 -0
- package/dist/__tests__/hevc-utils.test.d.ts.map +1 -0
- package/dist/__tests__/hevc-utils.test.js +78 -0
- package/dist/__tests__/hevc-utils.test.js.map +1 -0
- package/dist/capabilities/MediaCapabilities.d.ts +78 -0
- package/dist/capabilities/MediaCapabilities.d.ts.map +1 -0
- package/dist/capabilities/MediaCapabilities.js +276 -0
- package/dist/capabilities/MediaCapabilities.js.map +1 -0
- package/dist/capabilities/codecs.d.ts +72 -0
- package/dist/capabilities/codecs.d.ts.map +1 -0
- package/dist/capabilities/codecs.js +153 -0
- package/dist/capabilities/codecs.js.map +1 -0
- package/dist/capabilities/index.d.ts +7 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +8 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/types.d.ts +77 -0
- package/dist/capabilities/types.d.ts.map +1 -0
- package/dist/capabilities/types.js +5 -0
- package/dist/capabilities/types.js.map +1 -0
- package/dist/core/AudioData.d.ts +36 -0
- package/dist/core/AudioData.d.ts.map +1 -0
- package/dist/core/AudioData.js +229 -0
- package/dist/core/AudioData.js.map +1 -0
- package/dist/core/EncodedAudioChunk.d.ts +26 -0
- package/dist/core/EncodedAudioChunk.d.ts.map +1 -0
- package/dist/core/EncodedAudioChunk.js +58 -0
- package/dist/core/EncodedAudioChunk.js.map +1 -0
- package/dist/core/EncodedVideoChunk.d.ts +23 -0
- package/dist/core/EncodedVideoChunk.d.ts.map +1 -0
- package/dist/core/EncodedVideoChunk.js +55 -0
- package/dist/core/EncodedVideoChunk.js.map +1 -0
- package/dist/core/VideoFrame.d.ts +61 -0
- package/dist/core/VideoFrame.d.ts.map +1 -0
- package/dist/core/VideoFrame.js +385 -0
- package/dist/core/VideoFrame.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/debug-h264.d.ts +5 -0
- package/dist/debug-h264.d.ts.map +1 -0
- package/dist/debug-h264.js +103 -0
- package/dist/debug-h264.js.map +1 -0
- package/dist/decoders/AudioDecoder.d.ts +57 -0
- package/dist/decoders/AudioDecoder.d.ts.map +1 -0
- package/dist/decoders/AudioDecoder.js +333 -0
- package/dist/decoders/AudioDecoder.js.map +1 -0
- package/dist/decoders/ImageDecoder.d.ts +111 -0
- package/dist/decoders/ImageDecoder.d.ts.map +1 -0
- package/dist/decoders/ImageDecoder.js +686 -0
- package/dist/decoders/ImageDecoder.js.map +1 -0
- package/dist/decoders/VideoDecoder.d.ts +70 -0
- package/dist/decoders/VideoDecoder.d.ts.map +1 -0
- package/dist/decoders/VideoDecoder.js +410 -0
- package/dist/decoders/VideoDecoder.js.map +1 -0
- package/dist/decoders/index.d.ts +8 -0
- package/dist/decoders/index.d.ts.map +1 -0
- package/dist/decoders/index.js +7 -0
- package/dist/decoders/index.js.map +1 -0
- package/dist/demos/demo-audio-opus.d.ts +5 -0
- package/dist/demos/demo-audio-opus.d.ts.map +1 -0
- package/dist/demos/demo-audio-opus.js +107 -0
- package/dist/demos/demo-audio-opus.js.map +1 -0
- package/dist/demos/demo-audio.d.ts +10 -0
- package/dist/demos/demo-audio.d.ts.map +1 -0
- package/dist/demos/demo-audio.js +135 -0
- package/dist/demos/demo-audio.js.map +1 -0
- package/dist/demos/demo-conversion.d.ts +13 -0
- package/dist/demos/demo-conversion.d.ts.map +1 -0
- package/dist/demos/demo-conversion.js +301 -0
- package/dist/demos/demo-conversion.js.map +1 -0
- package/dist/demos/demo-h264.d.ts +7 -0
- package/dist/demos/demo-h264.d.ts.map +1 -0
- package/dist/demos/demo-h264.js +134 -0
- package/dist/demos/demo-h264.js.map +1 -0
- package/dist/demos/demo-hwaccel-conversion.d.ts +8 -0
- package/dist/demos/demo-hwaccel-conversion.d.ts.map +1 -0
- package/dist/demos/demo-hwaccel-conversion.js +161 -0
- package/dist/demos/demo-hwaccel-conversion.js.map +1 -0
- package/dist/demos/demo-hwaccel.d.ts +7 -0
- package/dist/demos/demo-hwaccel.d.ts.map +1 -0
- package/dist/demos/demo-hwaccel.js +51 -0
- package/dist/demos/demo-hwaccel.js.map +1 -0
- package/dist/demos/demo-image.d.ts +12 -0
- package/dist/demos/demo-image.d.ts.map +1 -0
- package/dist/demos/demo-image.js +178 -0
- package/dist/demos/demo-image.js.map +1 -0
- package/dist/demos/demo-mediabunny.d.ts +7 -0
- package/dist/demos/demo-mediabunny.d.ts.map +1 -0
- package/dist/demos/demo-mediabunny.js +78 -0
- package/dist/demos/demo-mediabunny.js.map +1 -0
- package/dist/demos/demo-pipeline.d.ts +8 -0
- package/dist/demos/demo-pipeline.d.ts.map +1 -0
- package/dist/demos/demo-pipeline.js +83 -0
- package/dist/demos/demo-pipeline.js.map +1 -0
- package/dist/demos/demo-samples.d.ts +9 -0
- package/dist/demos/demo-samples.d.ts.map +1 -0
- package/dist/demos/demo-samples.js +413 -0
- package/dist/demos/demo-samples.js.map +1 -0
- package/dist/demos/demo-streaming.d.ts +8 -0
- package/dist/demos/demo-streaming.d.ts.map +1 -0
- package/dist/demos/demo-streaming.js +299 -0
- package/dist/demos/demo-streaming.js.map +1 -0
- package/dist/demos/demo-webcodecs.d.ts +8 -0
- package/dist/demos/demo-webcodecs.d.ts.map +1 -0
- package/dist/demos/demo-webcodecs.js +316 -0
- package/dist/demos/demo-webcodecs.js.map +1 -0
- package/dist/demos/demo.d.ts +10 -0
- package/dist/demos/demo.d.ts.map +1 -0
- package/dist/demos/demo.js +123 -0
- package/dist/demos/demo.js.map +1 -0
- package/dist/encoders/AudioEncoder.d.ts +69 -0
- package/dist/encoders/AudioEncoder.d.ts.map +1 -0
- package/dist/encoders/AudioEncoder.js +425 -0
- package/dist/encoders/AudioEncoder.js.map +1 -0
- package/dist/encoders/VideoEncoder.d.ts +80 -0
- package/dist/encoders/VideoEncoder.d.ts.map +1 -0
- package/dist/encoders/VideoEncoder.js +386 -0
- package/dist/encoders/VideoEncoder.js.map +1 -0
- package/dist/encoders/codecs/av1.d.ts +31 -0
- package/dist/encoders/codecs/av1.d.ts.map +1 -0
- package/dist/encoders/codecs/av1.js +66 -0
- package/dist/encoders/codecs/av1.js.map +1 -0
- package/dist/encoders/codecs/h264.d.ts +28 -0
- package/dist/encoders/codecs/h264.d.ts.map +1 -0
- package/dist/encoders/codecs/h264.js +95 -0
- package/dist/encoders/codecs/h264.js.map +1 -0
- package/dist/encoders/codecs/hevc.d.ts +28 -0
- package/dist/encoders/codecs/hevc.d.ts.map +1 -0
- package/dist/encoders/codecs/hevc.js +73 -0
- package/dist/encoders/codecs/hevc.js.map +1 -0
- package/dist/encoders/codecs/index.d.ts +19 -0
- package/dist/encoders/codecs/index.d.ts.map +1 -0
- package/dist/encoders/codecs/index.js +60 -0
- package/dist/encoders/codecs/index.js.map +1 -0
- package/dist/encoders/codecs/vp9.d.ts +29 -0
- package/dist/encoders/codecs/vp9.d.ts.map +1 -0
- package/dist/encoders/codecs/vp9.js +58 -0
- package/dist/encoders/codecs/vp9.js.map +1 -0
- package/dist/encoders/index.d.ts +8 -0
- package/dist/encoders/index.d.ts.map +1 -0
- package/dist/encoders/index.js +8 -0
- package/dist/encoders/index.js.map +1 -0
- package/dist/ffmpeg/FFmpegProcess.d.ts +111 -0
- package/dist/ffmpeg/FFmpegProcess.d.ts.map +1 -0
- package/dist/ffmpeg/FFmpegProcess.js +543 -0
- package/dist/ffmpeg/FFmpegProcess.js.map +1 -0
- package/dist/ffmpeg/audio-codecs.d.ts +59 -0
- package/dist/ffmpeg/audio-codecs.d.ts.map +1 -0
- package/dist/ffmpeg/audio-codecs.js +99 -0
- package/dist/ffmpeg/audio-codecs.js.map +1 -0
- package/dist/ffmpeg/formats.d.ts +42 -0
- package/dist/ffmpeg/formats.d.ts.map +1 -0
- package/dist/ffmpeg/formats.js +147 -0
- package/dist/ffmpeg/formats.js.map +1 -0
- package/dist/ffmpeg/index.d.ts +9 -0
- package/dist/ffmpeg/index.d.ts.map +1 -0
- package/dist/ffmpeg/index.js +13 -0
- package/dist/ffmpeg/index.js.map +1 -0
- package/dist/ffmpeg/parsers/annexb.d.ts +88 -0
- package/dist/ffmpeg/parsers/annexb.d.ts.map +1 -0
- package/dist/ffmpeg/parsers/annexb.js +201 -0
- package/dist/ffmpeg/parsers/annexb.js.map +1 -0
- package/dist/ffmpeg/parsers/index.d.ts +6 -0
- package/dist/ffmpeg/parsers/index.d.ts.map +1 -0
- package/dist/ffmpeg/parsers/index.js +8 -0
- package/dist/ffmpeg/parsers/index.js.map +1 -0
- package/dist/ffmpeg/parsers/ivf.d.ts +54 -0
- package/dist/ffmpeg/parsers/ivf.d.ts.map +1 -0
- package/dist/ffmpeg/parsers/ivf.js +109 -0
- package/dist/ffmpeg/parsers/ivf.js.map +1 -0
- package/dist/ffmpeg/types.d.ts +85 -0
- package/dist/ffmpeg/types.d.ts.map +1 -0
- package/dist/ffmpeg/types.js +8 -0
- package/dist/ffmpeg/types.js.map +1 -0
- package/dist/formats/audio-formats.d.ts +61 -0
- package/dist/formats/audio-formats.d.ts.map +1 -0
- package/dist/formats/audio-formats.js +113 -0
- package/dist/formats/audio-formats.js.map +1 -0
- package/dist/formats/color-space.d.ts +35 -0
- package/dist/formats/color-space.d.ts.map +1 -0
- package/dist/formats/color-space.js +62 -0
- package/dist/formats/color-space.js.map +1 -0
- package/dist/formats/conversions/frame-converter.d.ts +42 -0
- package/dist/formats/conversions/frame-converter.d.ts.map +1 -0
- package/dist/formats/conversions/frame-converter.js +244 -0
- package/dist/formats/conversions/frame-converter.js.map +1 -0
- package/dist/formats/conversions/index.d.ts +8 -0
- package/dist/formats/conversions/index.d.ts.map +1 -0
- package/dist/formats/conversions/index.js +10 -0
- package/dist/formats/conversions/index.js.map +1 -0
- package/dist/formats/index.d.ts +9 -0
- package/dist/formats/index.d.ts.map +1 -0
- package/dist/formats/index.js +14 -0
- package/dist/formats/index.js.map +1 -0
- package/dist/formats/parsers/index.d.ts +5 -0
- package/dist/formats/parsers/index.d.ts.map +1 -0
- package/dist/formats/parsers/index.js +5 -0
- package/dist/formats/parsers/index.js.map +1 -0
- package/dist/formats/parsers/webp.d.ts +16 -0
- package/dist/formats/parsers/webp.d.ts.map +1 -0
- package/dist/formats/parsers/webp.js +116 -0
- package/dist/formats/parsers/webp.js.map +1 -0
- package/dist/formats/pixel-formats.d.ts +41 -0
- package/dist/formats/pixel-formats.d.ts.map +1 -0
- package/dist/formats/pixel-formats.js +113 -0
- package/dist/formats/pixel-formats.js.map +1 -0
- package/dist/hardware/HardwareAcceleration.d.ts +6 -0
- package/dist/hardware/HardwareAcceleration.d.ts.map +1 -0
- package/dist/hardware/HardwareAcceleration.js +6 -0
- package/dist/hardware/HardwareAcceleration.js.map +1 -0
- package/dist/hardware/decoder-args.d.ts +25 -0
- package/dist/hardware/decoder-args.d.ts.map +1 -0
- package/dist/hardware/decoder-args.js +84 -0
- package/dist/hardware/decoder-args.js.map +1 -0
- package/dist/hardware/detection.d.ts +39 -0
- package/dist/hardware/detection.d.ts.map +1 -0
- package/dist/hardware/detection.js +178 -0
- package/dist/hardware/detection.js.map +1 -0
- package/dist/hardware/encoder-args.d.ts +38 -0
- package/dist/hardware/encoder-args.d.ts.map +1 -0
- package/dist/hardware/encoder-args.js +177 -0
- package/dist/hardware/encoder-args.js.map +1 -0
- package/dist/hardware/index.d.ts +12 -0
- package/dist/hardware/index.d.ts.map +1 -0
- package/dist/hardware/index.js +14 -0
- package/dist/hardware/index.js.map +1 -0
- package/dist/hardware/types.d.ts +29 -0
- package/dist/hardware/types.d.ts.map +1 -0
- package/dist/hardware/types.js +58 -0
- package/dist/hardware/types.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/mediabunny/FFmpegAudioDecoder.d.ts +37 -0
- package/dist/mediabunny/FFmpegAudioDecoder.d.ts.map +1 -0
- package/dist/mediabunny/FFmpegAudioDecoder.js +254 -0
- package/dist/mediabunny/FFmpegAudioDecoder.js.map +1 -0
- package/dist/mediabunny/FFmpegAudioEncoder.d.ts +77 -0
- package/dist/mediabunny/FFmpegAudioEncoder.d.ts.map +1 -0
- package/dist/mediabunny/FFmpegAudioEncoder.js +484 -0
- package/dist/mediabunny/FFmpegAudioEncoder.js.map +1 -0
- package/dist/mediabunny/FFmpegVideoDecoder.d.ts +58 -0
- package/dist/mediabunny/FFmpegVideoDecoder.d.ts.map +1 -0
- package/dist/mediabunny/FFmpegVideoDecoder.js +366 -0
- package/dist/mediabunny/FFmpegVideoDecoder.js.map +1 -0
- package/dist/mediabunny/FFmpegVideoEncoder.d.ts +77 -0
- package/dist/mediabunny/FFmpegVideoEncoder.d.ts.map +1 -0
- package/dist/mediabunny/FFmpegVideoEncoder.js +551 -0
- package/dist/mediabunny/FFmpegVideoEncoder.js.map +1 -0
- package/dist/mediabunny/index.d.ts +21 -0
- package/dist/mediabunny/index.d.ts.map +1 -0
- package/dist/mediabunny/index.js +33 -0
- package/dist/mediabunny/index.js.map +1 -0
- package/dist/polyfill.d.ts +27 -0
- package/dist/polyfill.d.ts.map +1 -0
- package/dist/polyfill.js +78 -0
- package/dist/polyfill.js.map +1 -0
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.d.ts +72 -0
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.d.ts.map +1 -0
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.js +293 -0
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.js.map +1 -0
- package/dist/polyfills/ImageDataPolyfill.d.ts +12 -0
- package/dist/polyfills/ImageDataPolyfill.d.ts.map +1 -0
- package/dist/polyfills/ImageDataPolyfill.js +22 -0
- package/dist/polyfills/ImageDataPolyfill.js.map +1 -0
- package/dist/polyfills/OffscreenCanvas.d.ts +15 -0
- package/dist/polyfills/OffscreenCanvas.d.ts.map +1 -0
- package/dist/polyfills/OffscreenCanvas.js +35 -0
- package/dist/polyfills/OffscreenCanvas.js.map +1 -0
- package/dist/polyfills/OffscreenCanvasPolyfill.d.ts +16 -0
- package/dist/polyfills/OffscreenCanvasPolyfill.d.ts.map +1 -0
- package/dist/polyfills/OffscreenCanvasPolyfill.js +46 -0
- package/dist/polyfills/OffscreenCanvasPolyfill.js.map +1 -0
- package/dist/polyfills/VideoFramePolyfill.d.ts +44 -0
- package/dist/polyfills/VideoFramePolyfill.d.ts.map +1 -0
- package/dist/polyfills/VideoFramePolyfill.js +98 -0
- package/dist/polyfills/VideoFramePolyfill.js.map +1 -0
- package/dist/tools/generate-capabilities-profile.d.ts +2 -0
- package/dist/tools/generate-capabilities-profile.d.ts.map +1 -0
- package/dist/tools/generate-capabilities-profile.js +63 -0
- package/dist/tools/generate-capabilities-profile.js.map +1 -0
- package/dist/types/audio.d.ts +26 -0
- package/dist/types/audio.d.ts.map +1 -0
- package/dist/types/audio.js +5 -0
- package/dist/types/audio.js.map +1 -0
- package/dist/types/common.d.ts +68 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +70 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/geometry.d.ts +35 -0
- package/dist/types/geometry.d.ts.map +1 -0
- package/dist/types/geometry.js +34 -0
- package/dist/types/geometry.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/video.d.ts +43 -0
- package/dist/types/video.d.ts.map +1 -0
- package/dist/types/video.js +5 -0
- package/dist/types/video.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/aac.d.ts +26 -0
- package/dist/utils/aac.d.ts.map +1 -0
- package/dist/utils/aac.js +129 -0
- package/dist/utils/aac.js.map +1 -0
- package/dist/utils/avc.d.ts +39 -0
- package/dist/utils/avc.d.ts.map +1 -0
- package/dist/utils/avc.js +225 -0
- package/dist/utils/avc.js.map +1 -0
- package/dist/utils/buffer.d.ts +25 -0
- package/dist/utils/buffer.d.ts.map +1 -0
- package/dist/utils/buffer.js +73 -0
- package/dist/utils/buffer.js.map +1 -0
- package/dist/utils/hevc.d.ts +27 -0
- package/dist/utils/hevc.d.ts.map +1 -0
- package/dist/utils/hevc.js +239 -0
- package/dist/utils/hevc.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +55 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +110 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/type-guards.d.ts +50 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +49 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/dist/utils/validation.d.ts +32 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +66 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/api.md +506 -0
- package/docs/codecs.md +382 -0
- package/docs/configuration.md +442 -0
- package/examples/README.md +100 -0
- package/examples/audio-encoding.ts +85 -0
- package/examples/hardware-decoding.ts +245 -0
- package/examples/hardware-encoding.ts +231 -0
- package/examples/image-decoding.ts +145 -0
- package/examples/streaming.ts +151 -0
- package/examples/transparent-video.ts +162 -0
- package/examples/video-decoding.ts +107 -0
- package/examples/video-encoding.ts +93 -0
- package/package.json +105 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for handling HEVC (H.265) configuration records (HVCC) and
|
|
3
|
+
* converting length-prefixed MP4 samples into Annex B byte streams.
|
|
4
|
+
*/
|
|
5
|
+
const START_CODE = Buffer.from([0x00, 0x00, 0x00, 0x01]);
|
|
6
|
+
/**
|
|
7
|
+
* Parse an HEVCDecoderConfigurationRecord as defined in ISO/IEC 14496-15.
|
|
8
|
+
*/
|
|
9
|
+
export function parseHvccDecoderConfig(data) {
|
|
10
|
+
if (data.length < 23) {
|
|
11
|
+
throw new Error('Invalid HEVCDecoderConfigurationRecord: too short');
|
|
12
|
+
}
|
|
13
|
+
const lengthSizeMinusOne = data[21] & 0x03;
|
|
14
|
+
const lengthSize = (lengthSizeMinusOne & 0x03) + 1;
|
|
15
|
+
let offset = 22;
|
|
16
|
+
if (offset >= data.length) {
|
|
17
|
+
throw new Error('Invalid HEVCDecoderConfigurationRecord: missing arrays');
|
|
18
|
+
}
|
|
19
|
+
const numOfArrays = data[offset++];
|
|
20
|
+
const vps = [];
|
|
21
|
+
const sps = [];
|
|
22
|
+
const pps = [];
|
|
23
|
+
for (let i = 0; i < numOfArrays; i++) {
|
|
24
|
+
if (offset + 3 > data.length) {
|
|
25
|
+
throw new Error('Invalid HEVCDecoderConfigurationRecord: truncated array header');
|
|
26
|
+
}
|
|
27
|
+
const nalUnitType = data[offset] & 0x3f;
|
|
28
|
+
offset += 1;
|
|
29
|
+
const numNalus = (data[offset] << 8) | data[offset + 1];
|
|
30
|
+
offset += 2;
|
|
31
|
+
for (let n = 0; n < numNalus; n++) {
|
|
32
|
+
if (offset + 2 > data.length) {
|
|
33
|
+
throw new Error('Invalid HEVCDecoderConfigurationRecord: truncated NAL length');
|
|
34
|
+
}
|
|
35
|
+
const nalLength = (data[offset] << 8) | data[offset + 1];
|
|
36
|
+
offset += 2;
|
|
37
|
+
if (offset + nalLength > data.length) {
|
|
38
|
+
throw new Error('Invalid HEVCDecoderConfigurationRecord: truncated NAL data');
|
|
39
|
+
}
|
|
40
|
+
const nal = data.subarray(offset, offset + nalLength);
|
|
41
|
+
offset += nalLength;
|
|
42
|
+
if (nalUnitType === 32) {
|
|
43
|
+
vps.push(nal);
|
|
44
|
+
}
|
|
45
|
+
else if (nalUnitType === 33) {
|
|
46
|
+
sps.push(nal);
|
|
47
|
+
}
|
|
48
|
+
else if (nalUnitType === 34) {
|
|
49
|
+
pps.push(nal);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return { lengthSize, vps, sps, pps };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Convert HVCC (length-prefixed) samples to Annex B and optionally add VPS/SPS/PPS.
|
|
57
|
+
*/
|
|
58
|
+
export function convertHvccToAnnexB(chunk, config, includeParameterSets) {
|
|
59
|
+
const parts = [];
|
|
60
|
+
if (includeParameterSets) {
|
|
61
|
+
for (const nal of config.vps) {
|
|
62
|
+
parts.push(START_CODE, Buffer.from(nal));
|
|
63
|
+
}
|
|
64
|
+
for (const nal of config.sps) {
|
|
65
|
+
parts.push(START_CODE, Buffer.from(nal));
|
|
66
|
+
}
|
|
67
|
+
for (const nal of config.pps) {
|
|
68
|
+
parts.push(START_CODE, Buffer.from(nal));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
let offset = 0;
|
|
72
|
+
while (offset + config.lengthSize <= chunk.length) {
|
|
73
|
+
let nalSize = 0;
|
|
74
|
+
for (let i = 0; i < config.lengthSize; i++) {
|
|
75
|
+
nalSize = (nalSize << 8) | chunk[offset + i];
|
|
76
|
+
}
|
|
77
|
+
offset += config.lengthSize;
|
|
78
|
+
if (nalSize <= 0 || offset + nalSize > chunk.length) {
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
const nal = chunk.subarray(offset, offset + nalSize);
|
|
82
|
+
parts.push(START_CODE, Buffer.from(nal));
|
|
83
|
+
offset += nalSize;
|
|
84
|
+
}
|
|
85
|
+
if (parts.length === 0) {
|
|
86
|
+
return Buffer.from(chunk);
|
|
87
|
+
}
|
|
88
|
+
return Buffer.concat(parts);
|
|
89
|
+
}
|
|
90
|
+
function getStartCodeLength(data, offset) {
|
|
91
|
+
if (offset + 3 > data.length) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
if (data[offset] === 0 && data[offset + 1] === 0) {
|
|
95
|
+
if (data[offset + 2] === 1) {
|
|
96
|
+
return 3;
|
|
97
|
+
}
|
|
98
|
+
if (offset + 3 < data.length && data[offset + 2] === 0 && data[offset + 3] === 1) {
|
|
99
|
+
return 4;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return 0;
|
|
103
|
+
}
|
|
104
|
+
export function splitHevcAnnexBNals(data) {
|
|
105
|
+
const units = [];
|
|
106
|
+
let offset = 0;
|
|
107
|
+
let unitStart = -1;
|
|
108
|
+
while (offset < data.length) {
|
|
109
|
+
const scLen = getStartCodeLength(data, offset);
|
|
110
|
+
if (scLen > 0) {
|
|
111
|
+
if (unitStart >= 0 && unitStart < offset) {
|
|
112
|
+
const unit = data.subarray(unitStart, offset);
|
|
113
|
+
if (unit.length > 0) {
|
|
114
|
+
units.push(unit);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
offset += scLen;
|
|
118
|
+
unitStart = offset;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
offset++;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (unitStart >= 0 && unitStart < data.length) {
|
|
125
|
+
units.push(data.subarray(unitStart));
|
|
126
|
+
}
|
|
127
|
+
return units;
|
|
128
|
+
}
|
|
129
|
+
export function extractHevcParameterSetsFromAnnexB(data) {
|
|
130
|
+
const vps = [];
|
|
131
|
+
const sps = [];
|
|
132
|
+
const pps = [];
|
|
133
|
+
const seen = new Set();
|
|
134
|
+
const units = splitHevcAnnexBNals(data);
|
|
135
|
+
for (const unit of units) {
|
|
136
|
+
if (unit.length === 0)
|
|
137
|
+
continue;
|
|
138
|
+
const nalType = (unit[0] >> 1) & 0x3f;
|
|
139
|
+
const key = `${nalType}:${unit.toString()}`;
|
|
140
|
+
if (seen.has(key))
|
|
141
|
+
continue;
|
|
142
|
+
seen.add(key);
|
|
143
|
+
if (nalType === 32) {
|
|
144
|
+
vps.push(unit);
|
|
145
|
+
}
|
|
146
|
+
else if (nalType === 33) {
|
|
147
|
+
sps.push(unit);
|
|
148
|
+
}
|
|
149
|
+
else if (nalType === 34) {
|
|
150
|
+
pps.push(unit);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return { vps, sps, pps };
|
|
154
|
+
}
|
|
155
|
+
export function convertAnnexBToHvcc(data, lengthSize = 4) {
|
|
156
|
+
const units = splitHevcAnnexBNals(data);
|
|
157
|
+
const sanitizedLength = Math.min(Math.max(lengthSize, 1), 4);
|
|
158
|
+
const parts = [];
|
|
159
|
+
for (const unit of units) {
|
|
160
|
+
if (unit.length === 0)
|
|
161
|
+
continue;
|
|
162
|
+
const lengthBuffer = Buffer.alloc(sanitizedLength);
|
|
163
|
+
if (sanitizedLength === 4) {
|
|
164
|
+
lengthBuffer.writeUInt32BE(unit.length, 0);
|
|
165
|
+
}
|
|
166
|
+
else if (sanitizedLength === 2) {
|
|
167
|
+
lengthBuffer.writeUInt16BE(unit.length, 0);
|
|
168
|
+
}
|
|
169
|
+
else if (sanitizedLength === 1) {
|
|
170
|
+
lengthBuffer.writeUInt8(unit.length, 0);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
lengthBuffer.writeUIntBE(unit.length, 0, 3);
|
|
174
|
+
}
|
|
175
|
+
parts.push(lengthBuffer, Buffer.from(unit));
|
|
176
|
+
}
|
|
177
|
+
return Buffer.concat(parts);
|
|
178
|
+
}
|
|
179
|
+
export function buildHvccDecoderConfig(vpsList, spsList, ppsList, lengthSize = 4) {
|
|
180
|
+
if (spsList.length === 0) {
|
|
181
|
+
throw new Error('At least one SPS is required to build HEVC config');
|
|
182
|
+
}
|
|
183
|
+
const sanitizedLength = Math.min(Math.max(lengthSize, 1), 4);
|
|
184
|
+
const arrays = [
|
|
185
|
+
{ nalType: 32, units: vpsList },
|
|
186
|
+
{ nalType: 33, units: spsList },
|
|
187
|
+
{ nalType: 34, units: ppsList },
|
|
188
|
+
].filter(arr => arr.units.length > 0);
|
|
189
|
+
let size = 23;
|
|
190
|
+
for (const arr of arrays) {
|
|
191
|
+
size += 3; // array header + numNalus
|
|
192
|
+
for (const unit of arr.units) {
|
|
193
|
+
size += 2 + unit.length;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const buffer = Buffer.alloc(size);
|
|
197
|
+
let offset = 0;
|
|
198
|
+
const generalProfileIdc = 1; // Main profile
|
|
199
|
+
const generalTierFlag = 0;
|
|
200
|
+
const generalProfileSpace = 0;
|
|
201
|
+
const generalLevelIdc = 120; // level 4.0
|
|
202
|
+
buffer[offset++] = 1; // configurationVersion
|
|
203
|
+
buffer[offset++] = (generalProfileSpace << 6) | (generalTierFlag << 5) | (generalProfileIdc & 0x1f);
|
|
204
|
+
buffer.writeUInt32BE(0, offset); // general_profile_compatibility_flags
|
|
205
|
+
offset += 4;
|
|
206
|
+
buffer.writeUIntBE(0, offset, 6); // general_constraint_indicator_flags
|
|
207
|
+
offset += 6;
|
|
208
|
+
buffer[offset++] = generalLevelIdc;
|
|
209
|
+
buffer[offset++] = 0xF0; // reserved + min_spatial_segmentation_idc (MSB)
|
|
210
|
+
buffer[offset++] = 0x00; // min_spatial_segmentation_idc (LSB)
|
|
211
|
+
buffer[offset++] = 0xFC; // reserved + parallelismType
|
|
212
|
+
buffer[offset++] = 0xFC | 1; // reserved + chroma_format_idc (4:2:0)
|
|
213
|
+
buffer[offset++] = 0xF8; // reserved + bit_depth_luma_minus8
|
|
214
|
+
buffer[offset++] = 0xF8; // reserved + bit_depth_chroma_minus8
|
|
215
|
+
buffer.writeUInt16BE(0, offset); // avgFrameRate
|
|
216
|
+
offset += 2;
|
|
217
|
+
const constantFrameRate = 0;
|
|
218
|
+
const numTemporalLayers = 0;
|
|
219
|
+
const temporalIdNested = 1;
|
|
220
|
+
buffer[offset++] =
|
|
221
|
+
((constantFrameRate & 0x03) << 6) |
|
|
222
|
+
((numTemporalLayers & 0x07) << 3) |
|
|
223
|
+
((temporalIdNested ? 1 : 0) << 2) |
|
|
224
|
+
((sanitizedLength - 1) & 0x03);
|
|
225
|
+
buffer[offset++] = arrays.length;
|
|
226
|
+
for (const arr of arrays) {
|
|
227
|
+
buffer[offset++] = 0x80 | (arr.nalType & 0x3f); // array_completeness + reserved + type
|
|
228
|
+
buffer.writeUInt16BE(arr.units.length, offset);
|
|
229
|
+
offset += 2;
|
|
230
|
+
for (const unit of arr.units) {
|
|
231
|
+
buffer.writeUInt16BE(unit.length, offset);
|
|
232
|
+
offset += 2;
|
|
233
|
+
Buffer.from(unit).copy(buffer, offset);
|
|
234
|
+
offset += unit.length;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return new Uint8Array(buffer);
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=hevc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hevc.js","sourceRoot":"","sources":["../../src/utils/hevc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility exports
|
|
3
|
+
*/
|
|
4
|
+
export { toUint8Array, copyToUint8Array, concatUint8Arrays, isReadableStream, readStreamToUint8Array, } from './buffer.js';
|
|
5
|
+
export { validatePositiveInteger, validateNonNegativeInteger, validateFiniteNumber, validateRequired, validateNonEmptyString, validateConfigured, validateNotClosed, } from './validation.js';
|
|
6
|
+
export { Logger, createLogger, setDebugMode, isDebugMode, type LogLevel, type LogEntry, } from './logger.js';
|
|
7
|
+
export { isImageDataLike, isCanvasLike, isVideoFrameLike, isCanvasImageSource, type ImageDataLike, type CanvasLike, type VideoFrameLike, } from './type-guards.js';
|
|
8
|
+
export { parseAvcDecoderConfig, convertAvccToAnnexB, splitAnnexBNals, extractAvcParameterSetsFromAnnexB, buildAvcDecoderConfig, convertAnnexBToAvcc, type AvcConfig, } from './avc.js';
|
|
9
|
+
export { parseHvccDecoderConfig, convertHvccToAnnexB, splitHevcAnnexBNals, extractHevcParameterSetsFromAnnexB, buildHvccDecoderConfig, convertAnnexBToHvcc, type HvccConfig, } from './hevc.js';
|
|
10
|
+
export { parseAudioSpecificConfig, wrapAacFrameWithAdts, buildAudioSpecificConfig, stripAdtsHeader, type AacConfig, } from './aac.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iCAAiC,EACjC,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kCAAkC,EAClC,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,KAAK,SAAS,GACf,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility exports
|
|
3
|
+
*/
|
|
4
|
+
// Buffer utilities
|
|
5
|
+
export { toUint8Array, copyToUint8Array, concatUint8Arrays, isReadableStream, readStreamToUint8Array, } from './buffer.js';
|
|
6
|
+
// Validation utilities
|
|
7
|
+
export { validatePositiveInteger, validateNonNegativeInteger, validateFiniteNumber, validateRequired, validateNonEmptyString, validateConfigured, validateNotClosed, } from './validation.js';
|
|
8
|
+
// Logger
|
|
9
|
+
export { Logger, createLogger, setDebugMode, isDebugMode, } from './logger.js';
|
|
10
|
+
// Type guards
|
|
11
|
+
export { isImageDataLike, isCanvasLike, isVideoFrameLike, isCanvasImageSource, } from './type-guards.js';
|
|
12
|
+
// Codec helpers
|
|
13
|
+
export { parseAvcDecoderConfig, convertAvccToAnnexB, splitAnnexBNals, extractAvcParameterSetsFromAnnexB, buildAvcDecoderConfig, convertAnnexBToAvcc, } from './avc.js';
|
|
14
|
+
export { parseHvccDecoderConfig, convertHvccToAnnexB, splitHevcAnnexBNals, extractHevcParameterSetsFromAnnexB, buildHvccDecoderConfig, convertAnnexBToHvcc, } from './hevc.js';
|
|
15
|
+
export { parseAudioSpecificConfig, wrapAacFrameWithAdts, buildAudioSpecificConfig, stripAdtsHeader, } from './aac.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,SAAS;AACT,OAAO,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,WAAW,GAGZ,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GAIpB,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iCAAiC,EACjC,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kCAAkC,EAClC,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAEhB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger - Simple structured logging utility for webcodecs-node
|
|
3
|
+
*
|
|
4
|
+
* By default, logging is disabled to avoid cluttering user output.
|
|
5
|
+
* Enable via environment variable: WEBCODECS_DEBUG=1
|
|
6
|
+
*/
|
|
7
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
8
|
+
export interface LogEntry {
|
|
9
|
+
level: LogLevel;
|
|
10
|
+
context: string;
|
|
11
|
+
message: string;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
data?: unknown;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Enable or disable debug logging globally
|
|
17
|
+
*/
|
|
18
|
+
export declare function setDebugMode(enabled: boolean): void;
|
|
19
|
+
/**
|
|
20
|
+
* Check if debug mode is currently enabled
|
|
21
|
+
*/
|
|
22
|
+
export declare function isDebugMode(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Logger class for structured logging
|
|
25
|
+
*/
|
|
26
|
+
export declare class Logger {
|
|
27
|
+
private context;
|
|
28
|
+
constructor(context: string);
|
|
29
|
+
/**
|
|
30
|
+
* Log a debug message (only in debug mode)
|
|
31
|
+
*/
|
|
32
|
+
debug(message: string, data?: unknown): void;
|
|
33
|
+
/**
|
|
34
|
+
* Log an info message (only in debug mode)
|
|
35
|
+
*/
|
|
36
|
+
info(message: string, data?: unknown): void;
|
|
37
|
+
/**
|
|
38
|
+
* Log a warning message (only in debug mode)
|
|
39
|
+
*/
|
|
40
|
+
warn(message: string, data?: unknown): void;
|
|
41
|
+
/**
|
|
42
|
+
* Log an error message (only in debug mode)
|
|
43
|
+
* Note: Actual errors should still be reported via error callbacks
|
|
44
|
+
*/
|
|
45
|
+
error(message: string, data?: unknown): void;
|
|
46
|
+
/**
|
|
47
|
+
* Internal logging implementation
|
|
48
|
+
*/
|
|
49
|
+
private _log;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a logger for a specific context
|
|
53
|
+
*/
|
|
54
|
+
export declare function createLogger(context: string): Logger;
|
|
55
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAiBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAK3C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAK3C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5C;;OAEG;IACH,OAAO,CAAC,IAAI;CA8Bb;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger - Simple structured logging utility for webcodecs-node
|
|
3
|
+
*
|
|
4
|
+
* By default, logging is disabled to avoid cluttering user output.
|
|
5
|
+
* Enable via environment variable: WEBCODECS_DEBUG=1
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if debug mode is enabled via environment variable
|
|
9
|
+
*/
|
|
10
|
+
function isDebugEnabled() {
|
|
11
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
12
|
+
return process.env.WEBCODECS_DEBUG === '1' || process.env.WEBCODECS_DEBUG === 'true';
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Global debug mode flag (can be set programmatically)
|
|
18
|
+
*/
|
|
19
|
+
let globalDebugMode = isDebugEnabled();
|
|
20
|
+
/**
|
|
21
|
+
* Enable or disable debug logging globally
|
|
22
|
+
*/
|
|
23
|
+
export function setDebugMode(enabled) {
|
|
24
|
+
globalDebugMode = enabled;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if debug mode is currently enabled
|
|
28
|
+
*/
|
|
29
|
+
export function isDebugMode() {
|
|
30
|
+
return globalDebugMode;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Logger class for structured logging
|
|
34
|
+
*/
|
|
35
|
+
export class Logger {
|
|
36
|
+
context;
|
|
37
|
+
constructor(context) {
|
|
38
|
+
this.context = context;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Log a debug message (only in debug mode)
|
|
42
|
+
*/
|
|
43
|
+
debug(message, data) {
|
|
44
|
+
if (!globalDebugMode)
|
|
45
|
+
return;
|
|
46
|
+
this._log('debug', message, data);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Log an info message (only in debug mode)
|
|
50
|
+
*/
|
|
51
|
+
info(message, data) {
|
|
52
|
+
if (!globalDebugMode)
|
|
53
|
+
return;
|
|
54
|
+
this._log('info', message, data);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Log a warning message (only in debug mode)
|
|
58
|
+
*/
|
|
59
|
+
warn(message, data) {
|
|
60
|
+
if (!globalDebugMode)
|
|
61
|
+
return;
|
|
62
|
+
this._log('warn', message, data);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Log an error message (only in debug mode)
|
|
66
|
+
* Note: Actual errors should still be reported via error callbacks
|
|
67
|
+
*/
|
|
68
|
+
error(message, data) {
|
|
69
|
+
if (!globalDebugMode)
|
|
70
|
+
return;
|
|
71
|
+
this._log('error', message, data);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Internal logging implementation
|
|
75
|
+
*/
|
|
76
|
+
_log(level, message, data) {
|
|
77
|
+
const entry = {
|
|
78
|
+
level,
|
|
79
|
+
context: this.context,
|
|
80
|
+
message,
|
|
81
|
+
timestamp: Date.now(),
|
|
82
|
+
};
|
|
83
|
+
if (data !== undefined) {
|
|
84
|
+
entry.data = data;
|
|
85
|
+
}
|
|
86
|
+
const prefix = `[webcodecs:${this.context}]`;
|
|
87
|
+
const logMessage = `${prefix} ${message}`;
|
|
88
|
+
switch (level) {
|
|
89
|
+
case 'debug':
|
|
90
|
+
console.debug(logMessage, data !== undefined ? data : '');
|
|
91
|
+
break;
|
|
92
|
+
case 'info':
|
|
93
|
+
console.info(logMessage, data !== undefined ? data : '');
|
|
94
|
+
break;
|
|
95
|
+
case 'warn':
|
|
96
|
+
console.warn(logMessage, data !== undefined ? data : '');
|
|
97
|
+
break;
|
|
98
|
+
case 'error':
|
|
99
|
+
console.error(logMessage, data !== undefined ? data : '');
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create a logger for a specific context
|
|
106
|
+
*/
|
|
107
|
+
export function createLogger(context) {
|
|
108
|
+
return new Logger(context);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guards for checking object types at runtime
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Interface for ImageData-like objects
|
|
6
|
+
*/
|
|
7
|
+
export interface ImageDataLike {
|
|
8
|
+
data: Uint8ClampedArray | Uint8Array;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Interface for canvas-like objects with getContext
|
|
14
|
+
*/
|
|
15
|
+
export interface CanvasLike {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
getContext: (type: string, options?: unknown) => unknown;
|
|
19
|
+
_getImageData?: () => Uint8ClampedArray;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Interface for VideoFrame-like objects (including our polyfill)
|
|
23
|
+
*/
|
|
24
|
+
export interface VideoFrameLike {
|
|
25
|
+
codedWidth: number;
|
|
26
|
+
codedHeight: number;
|
|
27
|
+
format: string;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
duration?: number | null;
|
|
30
|
+
_buffer?: Uint8Array;
|
|
31
|
+
_rawData?: Uint8Array;
|
|
32
|
+
_data?: Uint8Array;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if object is ImageData-like (has data, width, height)
|
|
36
|
+
*/
|
|
37
|
+
export declare function isImageDataLike(obj: unknown): obj is ImageDataLike;
|
|
38
|
+
/**
|
|
39
|
+
* Check if object is a canvas-like object with getContext
|
|
40
|
+
*/
|
|
41
|
+
export declare function isCanvasLike(obj: unknown): obj is CanvasLike;
|
|
42
|
+
/**
|
|
43
|
+
* Check if object is a VideoFrame-like object
|
|
44
|
+
*/
|
|
45
|
+
export declare function isVideoFrameLike(obj: unknown): obj is VideoFrameLike;
|
|
46
|
+
/**
|
|
47
|
+
* Check if an object is a CanvasImageSource-like object
|
|
48
|
+
*/
|
|
49
|
+
export declare function isCanvasImageSource(obj: unknown): boolean;
|
|
50
|
+
//# sourceMappingURL=type-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,iBAAiB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAQlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAQ5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc,CASpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQzD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guards for checking object types at runtime
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Check if object is ImageData-like (has data, width, height)
|
|
6
|
+
*/
|
|
7
|
+
export function isImageDataLike(obj) {
|
|
8
|
+
if (!obj || typeof obj !== 'object')
|
|
9
|
+
return false;
|
|
10
|
+
const o = obj;
|
|
11
|
+
return ((o.data instanceof Uint8ClampedArray || o.data instanceof Uint8Array) &&
|
|
12
|
+
typeof o.width === 'number' &&
|
|
13
|
+
typeof o.height === 'number');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Check if object is a canvas-like object with getContext
|
|
17
|
+
*/
|
|
18
|
+
export function isCanvasLike(obj) {
|
|
19
|
+
if (!obj || typeof obj !== 'object')
|
|
20
|
+
return false;
|
|
21
|
+
const o = obj;
|
|
22
|
+
return (typeof o.width === 'number' &&
|
|
23
|
+
typeof o.height === 'number' &&
|
|
24
|
+
typeof o.getContext === 'function');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if object is a VideoFrame-like object
|
|
28
|
+
*/
|
|
29
|
+
export function isVideoFrameLike(obj) {
|
|
30
|
+
if (!obj || typeof obj !== 'object')
|
|
31
|
+
return false;
|
|
32
|
+
const o = obj;
|
|
33
|
+
return (typeof o.codedWidth === 'number' &&
|
|
34
|
+
typeof o.codedHeight === 'number' &&
|
|
35
|
+
typeof o.format === 'string' &&
|
|
36
|
+
typeof o.timestamp === 'number');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if an object is a CanvasImageSource-like object
|
|
40
|
+
*/
|
|
41
|
+
export function isCanvasImageSource(obj) {
|
|
42
|
+
if (!obj || typeof obj !== 'object')
|
|
43
|
+
return false;
|
|
44
|
+
const o = obj;
|
|
45
|
+
return ((typeof o.width === 'number' && typeof o.height === 'number') ||
|
|
46
|
+
(typeof o.codedWidth === 'number' && typeof o.codedHeight === 'number') ||
|
|
47
|
+
isImageDataLike(obj));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=type-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,YAAY,iBAAiB,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC;QACrE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAC5B,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAChC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAC5B,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7D,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC;QACvE,eAAe,CAAC,GAAG,CAAC,CACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input validation utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validate that a value is a positive integer
|
|
6
|
+
*/
|
|
7
|
+
export declare function validatePositiveInteger(value: unknown, name: string): number;
|
|
8
|
+
/**
|
|
9
|
+
* Validate that a value is a non-negative integer
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateNonNegativeInteger(value: unknown, name: string): number;
|
|
12
|
+
/**
|
|
13
|
+
* Validate that a value is a finite number
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateFiniteNumber(value: unknown, name: string): number;
|
|
16
|
+
/**
|
|
17
|
+
* Validate that an object is not null or undefined
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateRequired<T>(value: T | null | undefined, name: string): T;
|
|
20
|
+
/**
|
|
21
|
+
* Validate that a string is not empty
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateNonEmptyString(value: unknown, name: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Validate codec state is configured
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateConfigured(state: string, operation: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Validate codec is not closed
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateNotClosed(state: string): void;
|
|
32
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrD"}
|