@libmedia/avutil 0.12.0 → 1.0.0
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/dist/cjs/{AVStream.js → AVStream.cjs} +5 -5
- package/dist/cjs/AVStream.js.map +1 -1
- package/dist/cjs/audiosamplefmt.js.map +1 -1
- package/dist/cjs/avformat.js.map +1 -1
- package/dist/cjs/codec.js.map +1 -1
- package/dist/cjs/codecs/{aac.js → aac.cjs} +2 -8
- package/dist/cjs/codecs/aac.js.map +1 -1
- package/dist/cjs/codecs/{ac3.js → ac3.cjs} +2 -8
- package/dist/cjs/codecs/ac3.js.map +1 -1
- package/dist/cjs/codecs/{av1.js → av1.cjs} +6 -10
- package/dist/cjs/codecs/av1.js.map +1 -1
- package/dist/cjs/codecs/{dts.js → dts.cjs} +3 -9
- package/dist/cjs/codecs/dts.js.map +1 -1
- package/dist/cjs/codecs/{flac.js → flac.cjs} +2 -8
- package/dist/cjs/codecs/flac.js.map +1 -1
- package/dist/cjs/codecs/{h264.js → h264.cjs} +20 -23
- package/dist/cjs/codecs/h264.js.map +1 -1
- package/dist/cjs/codecs/{hevc.js → hevc.cjs} +23 -23
- package/dist/cjs/codecs/hevc.js.map +1 -1
- package/dist/cjs/codecs/{mp3.js → mp3.cjs} +1 -1
- package/dist/cjs/codecs/mp3.js.map +1 -1
- package/dist/cjs/codecs/{mpeg4.js → mpeg4.cjs} +1 -1
- package/dist/cjs/codecs/mpeg4.js.map +1 -1
- package/dist/cjs/codecs/{mpegvideo.js → mpegvideo.cjs} +1 -1
- package/dist/cjs/codecs/mpegvideo.js.map +1 -1
- package/dist/cjs/codecs/{opus.js → opus.cjs} +3 -9
- package/dist/cjs/codecs/opus.js.map +1 -1
- package/dist/cjs/codecs/ttml.cjs +51 -0
- package/dist/cjs/codecs/ttml.js.map +1 -1
- package/dist/cjs/codecs/{vp8.js → vp8.cjs} +2 -8
- package/dist/cjs/codecs/vp8.js.map +1 -1
- package/dist/cjs/codecs/{vp9.js → vp9.cjs} +4 -10
- package/dist/cjs/codecs/vp9.js.map +1 -1
- package/dist/cjs/codecs/{vvc.js → vvc.cjs} +25 -25
- package/dist/cjs/codecs/vvc.js.map +1 -1
- package/dist/cjs/{constant.js → constant.cjs} +6 -7
- package/dist/cjs/constant.js.map +1 -1
- package/dist/cjs/{enum.js → enum.cjs} +3 -1
- package/dist/cjs/enum.js.map +1 -1
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/function/analyzeAVFormat.js.map +1 -1
- package/dist/cjs/function/analyzeUrlIOLoader.cjs +66 -0
- package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/cjs/function/{audioData2AVFrame.js → audioData2AVFrame.cjs} +9 -9
- package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
- package/dist/cjs/function/{avPCMBuffer2AVFrame.js → avPCMBuffer2AVFrame.cjs} +20 -20
- package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -1
- package/dist/cjs/function/{avframe2AudioData.js → avframe2AudioData.cjs} +7 -7
- package/dist/cjs/function/avframe2AudioData.js.map +1 -1
- package/dist/cjs/function/avframe2VideoFrame.cjs +48 -0
- package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
- package/dist/cjs/function/{avpacket2EncodedAudioChunk.js → avpacket2EncodedAudioChunk.cjs} +3 -3
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/cjs/function/{avpacket2EncodedVideoChunk.js → avpacket2EncodedVideoChunk.cjs} +3 -3
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/cjs/function/compileResource.cjs +19 -0
- package/dist/cjs/function/compileResource.js.map +1 -1
- package/dist/cjs/function/constant/webcodecs.cjs +50 -0
- package/dist/cjs/function/constant/webcodecs.js.map +1 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.cjs +23 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/{encodedVideoChunk2AVPacket.js → encodedVideoChunk2AVPacket.cjs} +8 -8
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/{getAudioCodec.js → getAudioCodec.cjs} +1 -1
- package/dist/cjs/function/getAudioCodec.js.map +1 -1
- package/dist/cjs/function/getAudioMimeType.cjs +19 -0
- package/dist/cjs/function/getAudioMimeType.js.map +1 -0
- package/dist/cjs/function/getHardwarePreference.cjs +10 -0
- package/dist/cjs/function/getHardwarePreference.js.map +1 -1
- package/dist/cjs/function/{getVideoCodec.js → getVideoCodec.cjs} +12 -12
- package/dist/cjs/function/getVideoCodec.js.map +1 -1
- package/dist/cjs/function/getVideoMimeType.cjs +18 -0
- package/dist/cjs/function/getVideoMimeType.js.map +1 -0
- package/dist/cjs/function/{getWasmUrl.js → getWasmUrl.cjs} +2 -3
- package/dist/cjs/function/getWasmUrl.js.map +1 -1
- package/dist/cjs/function/{hasAlphaChannel.js → hasAlphaChannel.cjs} +1 -1
- package/dist/cjs/function/hasAlphaChannel.js.map +1 -1
- package/dist/cjs/function/{isHdr.js → isHdr.cjs} +1 -1
- package/dist/cjs/function/isHdr.js.map +1 -1
- package/dist/cjs/function/videoFrame2AVFrame.cjs +51 -0
- package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/cjs/implement/AVFramePoolImpl.cjs +28 -0
- package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPCMBufferPoolImpl.cjs +27 -0
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPacketPoolImpl.cjs +29 -0
- package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
- package/dist/cjs/index.cjs +840 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal.cjs +283 -0
- package/dist/cjs/internal.js.map +1 -0
- package/dist/cjs/{pixelFormatDescriptor.js → pixelFormatDescriptor.cjs} +2 -0
- package/dist/cjs/pixelFormatDescriptor.js.map +1 -1
- package/dist/cjs/pixfmt.js.map +1 -1
- package/dist/cjs/sampleFormatDescriptor.js.map +1 -1
- package/dist/cjs/{stringEnum.js → stringEnum.cjs} +4 -1
- package/dist/cjs/stringEnum.js.map +1 -1
- package/dist/cjs/struct/{audiosample.js → audiosample.cjs} +13 -13
- package/dist/cjs/struct/audiosample.js.map +1 -1
- package/dist/cjs/struct/{avbuffer.js → avbuffer.cjs} +18 -18
- package/dist/cjs/struct/avbuffer.js.map +1 -1
- package/dist/cjs/struct/{avcodecparameters.js → avcodecparameters.cjs} +11 -11
- package/dist/cjs/struct/avcodecparameters.js.map +1 -1
- package/dist/cjs/struct/{avdict.js → avdict.cjs} +9 -9
- package/dist/cjs/struct/avdict.js.map +1 -1
- package/dist/cjs/struct/{avframe.js → avframe.cjs} +30 -30
- package/dist/cjs/struct/avframe.js.map +1 -1
- package/dist/cjs/struct/{avpacket.js → avpacket.cjs} +19 -19
- package/dist/cjs/struct/avpacket.js.map +1 -1
- package/dist/cjs/struct/{avpcmbuffer.js → avpcmbuffer.cjs} +9 -9
- package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
- package/dist/cjs/struct/avsubtitle.js.map +1 -1
- package/dist/cjs/struct/{encryption.js → encryption.cjs} +13 -13
- package/dist/cjs/struct/encryption.js.map +1 -1
- package/dist/cjs/struct/rational.cjs +43 -0
- package/dist/cjs/struct/rational.js.map +1 -1
- package/dist/cjs/util/{amf.js → amf.cjs} +7 -38
- package/dist/cjs/util/amf.js.map +1 -1
- package/dist/cjs/util/av1syntax.js.map +1 -1
- package/dist/cjs/util/avbuffer.cjs +122 -0
- package/dist/cjs/util/avbuffer.js.map +1 -1
- package/dist/cjs/util/avdict.cjs +75 -0
- package/dist/cjs/util/avdict.js.map +1 -1
- package/dist/cjs/util/{avframe.js → avframe.cjs} +82 -87
- package/dist/cjs/util/avframe.js.map +1 -1
- package/dist/cjs/util/{avpacket.js → avpacket.cjs} +58 -58
- package/dist/cjs/util/avpacket.js.map +1 -1
- package/dist/cjs/util/{channel.js → channel.cjs} +7 -7
- package/dist/cjs/util/channel.js.map +1 -1
- package/dist/cjs/util/codecparameters.cjs +95 -0
- package/dist/cjs/util/codecparameters.js.map +1 -1
- package/dist/cjs/util/common.js.map +1 -1
- package/dist/cjs/util/{encryption.js → encryption.cjs} +5 -11
- package/dist/cjs/util/encryption.js.map +1 -1
- package/dist/cjs/util/expgolomb.js.map +1 -1
- package/dist/cjs/util/{intread.js → intread.cjs} +1 -1
- package/dist/cjs/util/intread.js.map +1 -1
- package/dist/cjs/util/{intwrite.js → intwrite.cjs} +1 -1
- package/dist/cjs/util/intwrite.js.map +1 -1
- package/dist/cjs/util/mem.cjs +23 -0
- package/dist/cjs/util/mem.js.map +1 -1
- package/dist/cjs/util/{nalu.js → nalu.cjs} +7 -42
- package/dist/cjs/util/nalu.js.map +1 -1
- package/dist/cjs/util/ntp.js.map +1 -1
- package/dist/cjs/util/pcm.js.map +1 -1
- package/dist/cjs/util/{pixel.js → pixel.cjs} +26 -30
- package/dist/cjs/util/pixel.js.map +1 -1
- package/dist/cjs/util/{rational.js → rational.cjs} +5 -11
- package/dist/cjs/util/rational.js.map +1 -1
- package/dist/cjs/util/{sample.js → sample.cjs} +6 -12
- package/dist/cjs/util/sample.js.map +1 -1
- package/dist/cjs/util/{serialize.js → serialize.cjs} +40 -42
- package/dist/cjs/util/serialize.js.map +1 -1
- package/dist/esm/AVStream.d.ts +7 -7
- package/dist/esm/AVStream.js +10 -12
- package/dist/esm/AVStream.js.map +1 -1
- package/dist/esm/audiosamplefmt.js.map +1 -1
- package/dist/esm/avformat.js.map +1 -1
- package/dist/esm/codec.js.map +1 -1
- package/dist/esm/codecs/aac.d.ts +10 -5
- package/dist/esm/codecs/aac.js +2 -2
- package/dist/esm/codecs/aac.js.map +1 -1
- package/dist/esm/codecs/ac3.d.ts +1 -1
- package/dist/esm/codecs/ac3.js +1 -1
- package/dist/esm/codecs/ac3.js.map +1 -1
- package/dist/esm/codecs/av1.d.ts +3 -3
- package/dist/esm/codecs/av1.js +4 -6
- package/dist/esm/codecs/av1.js.map +1 -1
- package/dist/esm/codecs/dts.d.ts +1 -1
- package/dist/esm/codecs/dts.js +2 -2
- package/dist/esm/codecs/dts.js.map +1 -1
- package/dist/esm/codecs/flac.d.ts +3 -3
- package/dist/esm/codecs/flac.js +1 -1
- package/dist/esm/codecs/flac.js.map +1 -1
- package/dist/esm/codecs/h264.d.ts +5 -5
- package/dist/esm/codecs/h264.js +13 -18
- package/dist/esm/codecs/h264.js.map +1 -1
- package/dist/esm/codecs/hevc.d.ts +5 -5
- package/dist/esm/codecs/hevc.js +16 -15
- package/dist/esm/codecs/hevc.js.map +1 -1
- package/dist/esm/codecs/mp3.d.ts +4 -4
- package/dist/esm/codecs/mp3.js +1 -1
- package/dist/esm/codecs/mp3.js.map +1 -1
- package/dist/esm/codecs/mpeg4.d.ts +1 -1
- package/dist/esm/codecs/mpeg4.js +1 -1
- package/dist/esm/codecs/mpeg4.js.map +1 -1
- package/dist/esm/codecs/mpegvideo.d.ts +1 -1
- package/dist/esm/codecs/mpegvideo.js +1 -1
- package/dist/esm/codecs/mpegvideo.js.map +1 -1
- package/dist/esm/codecs/opus.d.ts +3 -3
- package/dist/esm/codecs/opus.js +2 -4
- package/dist/esm/codecs/opus.js.map +1 -1
- package/dist/esm/codecs/ttml.js +5 -11
- package/dist/esm/codecs/ttml.js.map +1 -1
- package/dist/esm/codecs/vp8.d.ts +4 -4
- package/dist/esm/codecs/vp8.js +2 -2
- package/dist/esm/codecs/vp8.js.map +1 -1
- package/dist/esm/codecs/vp9.d.ts +4 -4
- package/dist/esm/codecs/vp9.js +8 -10
- package/dist/esm/codecs/vp9.js.map +1 -1
- package/dist/esm/codecs/vvc.d.ts +5 -5
- package/dist/esm/codecs/vvc.js +16 -17
- package/dist/esm/codecs/vvc.js.map +1 -1
- package/dist/esm/constant.d.ts +5 -7
- package/dist/esm/constant.js +5 -9
- package/dist/esm/constant.js.map +1 -1
- package/dist/esm/enum.d.ts +9 -1
- package/dist/esm/enum.js +3 -1
- package/dist/esm/enum.js.map +1 -1
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/function/analyzeAVFormat.d.ts +2 -2
- package/dist/esm/function/analyzeAVFormat.js.map +1 -1
- package/dist/esm/function/analyzeUrlIOLoader.d.ts +2 -2
- package/dist/esm/function/analyzeUrlIOLoader.js +2 -10
- package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/esm/function/audioData2AVFrame.d.ts +1 -1
- package/dist/esm/function/audioData2AVFrame.js +6 -6
- package/dist/esm/function/audioData2AVFrame.js.map +1 -1
- package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +2 -2
- package/dist/esm/function/avPCMBuffer2AVFrame.js +9 -9
- package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -1
- package/dist/esm/function/avframe2AudioData.d.ts +1 -1
- package/dist/esm/function/avframe2AudioData.js +6 -8
- package/dist/esm/function/avframe2AudioData.js.map +1 -1
- package/dist/esm/function/avframe2VideoFrame.d.ts +3 -3
- package/dist/esm/function/avframe2VideoFrame.js +14 -79
- package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.js +5 -7
- package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.js +5 -7
- package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/esm/function/compileResource.d.ts +1 -1
- package/dist/esm/function/compileResource.js +2 -4
- package/dist/esm/function/compileResource.js.map +1 -1
- package/dist/esm/function/constant/webcodecs.d.ts +5 -0
- package/dist/esm/function/constant/webcodecs.js +51 -0
- package/dist/esm/function/constant/webcodecs.js.map +1 -0
- package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +1 -1
- package/dist/esm/function/encodedAudioChunk2AVPacket.js +6 -6
- package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -1
- package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +1 -1
- package/dist/esm/function/encodedVideoChunk2AVPacket.js +7 -7
- package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -1
- package/dist/esm/function/getAudioCodec.d.ts +1 -1
- package/dist/esm/function/getAudioCodec.js +2 -2
- package/dist/esm/function/getAudioCodec.js.map +1 -1
- package/dist/esm/function/getAudioMimeType.d.ts +2 -0
- package/dist/esm/function/getAudioMimeType.js +12 -0
- package/dist/esm/function/getAudioMimeType.js.map +1 -0
- package/dist/esm/function/getHardwarePreference.js +1 -1
- package/dist/esm/function/getHardwarePreference.js.map +1 -1
- package/dist/esm/function/getVideoCodec.d.ts +1 -1
- package/dist/esm/function/getVideoCodec.js +11 -13
- package/dist/esm/function/getVideoCodec.js.map +1 -1
- package/dist/esm/function/getVideoMimeType.d.ts +2 -0
- package/dist/esm/function/getVideoMimeType.js +8 -0
- package/dist/esm/function/getVideoMimeType.js.map +1 -0
- package/dist/esm/function/getWasmUrl.d.ts +1 -1
- package/dist/esm/function/getWasmUrl.js +2 -2
- package/dist/esm/function/getWasmUrl.js.map +1 -1
- package/dist/esm/function/hasAlphaChannel.d.ts +1 -1
- package/dist/esm/function/hasAlphaChannel.js +2 -2
- package/dist/esm/function/hasAlphaChannel.js.map +1 -1
- package/dist/esm/function/isHdr.d.ts +1 -1
- package/dist/esm/function/isHdr.js +2 -2
- package/dist/esm/function/isHdr.js.map +1 -1
- package/dist/esm/function/videoFrame2AVFrame.d.ts +6 -6
- package/dist/esm/function/videoFrame2AVFrame.js +13 -74
- package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/esm/implement/AVFramePoolImpl.d.ts +3 -4
- package/dist/esm/implement/AVFramePoolImpl.js +5 -7
- package/dist/esm/implement/AVFramePoolImpl.js.map +1 -1
- package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +3 -4
- package/dist/esm/implement/AVPCMBufferPoolImpl.js +4 -6
- package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -1
- package/dist/esm/implement/AVPacketPoolImpl.d.ts +3 -4
- package/dist/esm/implement/AVPacketPoolImpl.js +5 -7
- package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -1
- package/dist/esm/index.d.ts +54 -0
- package/dist/esm/index.js +98 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.d.ts +26 -0
- package/dist/esm/internal.js +52 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/pixelFormatDescriptor.d.ts +1 -1
- package/dist/esm/pixelFormatDescriptor.js +2 -0
- package/dist/esm/pixelFormatDescriptor.js.map +1 -1
- package/dist/esm/pixfmt.d.ts +9 -1
- package/dist/esm/pixfmt.js.map +1 -1
- package/dist/esm/sampleFormatDescriptor.d.ts +1 -1
- package/dist/esm/sampleFormatDescriptor.js.map +1 -1
- package/dist/esm/stringEnum.d.ts +5 -5
- package/dist/esm/stringEnum.js +4 -1
- package/dist/esm/stringEnum.js.map +1 -1
- package/dist/esm/struct/audiosample.d.ts +1 -1
- package/dist/esm/struct/audiosample.js +2 -2
- package/dist/esm/struct/audiosample.js.map +1 -1
- package/dist/esm/struct/avbuffer.d.ts +1 -1
- package/dist/esm/struct/avbuffer.js +4 -4
- package/dist/esm/struct/avbuffer.js.map +1 -1
- package/dist/esm/struct/avcodecparameters.d.ts +9 -9
- package/dist/esm/struct/avcodecparameters.js +14 -16
- package/dist/esm/struct/avcodecparameters.js.map +1 -1
- package/dist/esm/struct/avdict.js +2 -2
- package/dist/esm/struct/avdict.js.map +1 -1
- package/dist/esm/struct/avframe.d.ts +12 -12
- package/dist/esm/struct/avframe.js +18 -22
- package/dist/esm/struct/avframe.js.map +1 -1
- package/dist/esm/struct/avpacket.d.ts +4 -4
- package/dist/esm/struct/avpacket.js +7 -9
- package/dist/esm/struct/avpacket.js.map +1 -1
- package/dist/esm/struct/avpcmbuffer.d.ts +1 -1
- package/dist/esm/struct/avpcmbuffer.js +2 -2
- package/dist/esm/struct/avpcmbuffer.js.map +1 -1
- package/dist/esm/struct/avsubtitle.d.ts +2 -2
- package/dist/esm/struct/avsubtitle.js.map +1 -1
- package/dist/esm/struct/encryption.js +2 -2
- package/dist/esm/struct/encryption.js.map +1 -1
- package/dist/esm/struct/rational.d.ts +1 -1
- package/dist/esm/struct/rational.js +4 -4
- package/dist/esm/struct/rational.js.map +1 -1
- package/dist/esm/util/amf.d.ts +1 -4
- package/dist/esm/util/amf.js +1 -5
- package/dist/esm/util/amf.js.map +1 -1
- package/dist/esm/util/av1syntax.d.ts +1 -1
- package/dist/esm/util/av1syntax.js.map +1 -1
- package/dist/esm/util/avbuffer.d.ts +2 -2
- package/dist/esm/util/avbuffer.js +7 -15
- package/dist/esm/util/avbuffer.js.map +1 -1
- package/dist/esm/util/avdict.d.ts +2 -2
- package/dist/esm/util/avdict.js +12 -16
- package/dist/esm/util/avdict.js.map +1 -1
- package/dist/esm/util/avframe.d.ts +2 -2
- package/dist/esm/util/avframe.js +22 -24
- package/dist/esm/util/avframe.js.map +1 -1
- package/dist/esm/util/avpacket.d.ts +3 -3
- package/dist/esm/util/avpacket.js +11 -13
- package/dist/esm/util/avpacket.js.map +1 -1
- package/dist/esm/util/channel.d.ts +1 -1
- package/dist/esm/util/channel.js +6 -6
- package/dist/esm/util/channel.js.map +1 -1
- package/dist/esm/util/codecparameters.d.ts +3 -1
- package/dist/esm/util/codecparameters.js +16 -12
- package/dist/esm/util/codecparameters.js.map +1 -1
- package/dist/esm/util/common.js.map +1 -1
- package/dist/esm/util/encryption.d.ts +2 -2
- package/dist/esm/util/encryption.js +1 -3
- package/dist/esm/util/encryption.js.map +1 -1
- package/dist/esm/util/expgolomb.d.ts +1 -2
- package/dist/esm/util/expgolomb.js.map +1 -1
- package/dist/esm/util/intread.js +1 -1
- package/dist/esm/util/intread.js.map +1 -1
- package/dist/esm/util/intwrite.js +1 -1
- package/dist/esm/util/intwrite.js.map +1 -1
- package/dist/esm/util/mem.js +7 -7
- package/dist/esm/util/mem.js.map +1 -1
- package/dist/esm/util/nalu.d.ts +1 -1
- package/dist/esm/util/nalu.js +3 -5
- package/dist/esm/util/nalu.js.map +1 -1
- package/dist/esm/util/ntp.js.map +1 -1
- package/dist/esm/util/pcm.d.ts +1 -1
- package/dist/esm/util/pcm.js.map +1 -1
- package/dist/esm/util/pixel.d.ts +1 -1
- package/dist/esm/util/pixel.js +8 -10
- package/dist/esm/util/pixel.js.map +1 -1
- package/dist/esm/util/rational.d.ts +10 -10
- package/dist/esm/util/rational.js +4 -4
- package/dist/esm/util/rational.js.map +1 -1
- package/dist/esm/util/sample.d.ts +1 -1
- package/dist/esm/util/sample.js +7 -7
- package/dist/esm/util/sample.js.map +1 -1
- package/dist/esm/util/serialize.d.ts +9 -9
- package/dist/esm/util/serialize.js +6 -6
- package/dist/esm/util/serialize.js.map +1 -1
- package/package.json +23 -390
- package/src/AVStream.ts +677 -0
- package/src/audiosamplefmt.ts +302 -0
- package/src/avformat.ts +96 -0
- package/src/codec.ts +1016 -0
- package/src/codecs/aac.ts +429 -0
- package/src/codecs/ac3.ts +309 -0
- package/src/codecs/av1.ts +503 -0
- package/src/codecs/dts.ts +100 -0
- package/src/codecs/flac.ts +118 -0
- package/src/codecs/h264.ts +1013 -0
- package/src/codecs/hevc.ts +1049 -0
- package/src/codecs/mp3.ts +172 -0
- package/src/codecs/mpeg4.ts +37 -0
- package/src/codecs/mpegvideo.ts +49 -0
- package/src/codecs/opus.ts +148 -0
- package/src/codecs/ttml.ts +158 -0
- package/src/codecs/vp8.ts +91 -0
- package/src/codecs/vp9.ts +213 -0
- package/src/codecs/vvc.ts +1086 -0
- package/src/constant.ts +72 -0
- package/src/enum.ts +47 -0
- package/src/error.ts +45 -0
- package/src/function/analyzeAVFormat.ts +94 -0
- package/src/function/analyzeUrlIOLoader.ts +166 -0
- package/src/function/audioData2AVFrame.ts +82 -0
- package/src/function/avPCMBuffer2AVFrame.ts +111 -0
- package/src/function/avframe2AudioData.ts +131 -0
- package/src/function/avframe2VideoFrame.ts +88 -0
- package/src/function/avpacket2EncodedAudioChunk.ts +39 -0
- package/src/function/avpacket2EncodedVideoChunk.ts +39 -0
- package/src/function/compileResource.ts +57 -0
- package/src/function/constant/webcodecs.ts +81 -0
- package/src/function/encodedAudioChunk2AVPacket.ts +62 -0
- package/src/function/encodedVideoChunk2AVPacket.ts +86 -0
- package/src/function/getAudioCodec.ts +45 -0
- package/src/function/getAudioMimeType.ts +44 -0
- package/src/function/getHardwarePreference.ts +45 -0
- package/src/function/getVideoCodec.ts +244 -0
- package/src/function/getVideoMimeType.ts +35 -0
- package/src/function/getWasmUrl.ts +190 -0
- package/src/function/hasAlphaChannel.ts +37 -0
- package/src/function/isHdr.ts +44 -0
- package/src/function/videoFrame2AVFrame.ts +95 -0
- package/src/implement/AVFramePoolImpl.ts +83 -0
- package/src/implement/AVPCMBufferPoolImpl.ts +79 -0
- package/src/implement/AVPacketPoolImpl.ts +82 -0
- package/src/index.ts +264 -0
- package/src/internal.ts +71 -0
- package/src/pixelFormatDescriptor.ts +819 -0
- package/src/pixfmt.ts +1400 -0
- package/src/sampleFormatDescriptor.ts +57 -0
- package/src/stringEnum.ts +366 -0
- package/src/struct/audiosample.ts +95 -0
- package/src/struct/avbuffer.ts +139 -0
- package/src/struct/avcodecparameters.ts +243 -0
- package/src/struct/avdict.ts +44 -0
- package/src/struct/avframe.ts +663 -0
- package/src/struct/avpacket.ts +178 -0
- package/src/struct/avpcmbuffer.ts +77 -0
- package/src/struct/avsubtitle.ts +59 -0
- package/src/struct/encryption.ts +180 -0
- package/src/struct/rational.ts +43 -0
- package/src/util/amf.ts +178 -0
- package/src/util/av1syntax.ts +112 -0
- package/src/util/avbuffer.ts +294 -0
- package/src/util/avdict.ts +171 -0
- package/src/util/avframe.ts +520 -0
- package/src/util/avpacket.ts +313 -0
- package/src/util/channel.ts +66 -0
- package/src/util/codecparameters.ts +148 -0
- package/src/util/common.ts +42 -0
- package/src/util/encryption.ts +154 -0
- package/src/util/expgolomb.ts +170 -0
- package/src/util/intread.ts +60 -0
- package/src/util/intwrite.ts +71 -0
- package/src/util/mem.ts +60 -0
- package/src/util/nalu.ts +297 -0
- package/src/util/ntp.ts +32 -0
- package/src/util/pcm.ts +161 -0
- package/src/util/pixel.ts +381 -0
- package/src/util/rational.ts +152 -0
- package/src/util/sample.ts +136 -0
- package/src/util/serialize.ts +268 -0
- package/dist/cjs/AVStream.d.ts +0 -577
- package/dist/cjs/audiosamplefmt.d.ts +0 -248
- package/dist/cjs/avformat.d.ts +0 -66
- package/dist/cjs/codec.d.ts +0 -927
- package/dist/cjs/codecs/aac.d.ts +0 -121
- package/dist/cjs/codecs/ac3.d.ts +0 -72
- package/dist/cjs/codecs/av1.d.ts +0 -75
- package/dist/cjs/codecs/dts.d.ts +0 -17
- package/dist/cjs/codecs/flac.d.ts +0 -46
- package/dist/cjs/codecs/h264.d.ts +0 -188
- package/dist/cjs/codecs/hevc.d.ts +0 -220
- package/dist/cjs/codecs/mp3.d.ts +0 -17
- package/dist/cjs/codecs/mpeg4.d.ts +0 -7
- package/dist/cjs/codecs/mpegvideo.d.ts +0 -7
- package/dist/cjs/codecs/opus.d.ts +0 -26
- package/dist/cjs/codecs/ttml.d.ts +0 -9
- package/dist/cjs/codecs/ttml.js +0 -87
- package/dist/cjs/codecs/vp8.d.ts +0 -31
- package/dist/cjs/codecs/vp9.d.ts +0 -45
- package/dist/cjs/codecs/vvc.d.ts +0 -235
- package/dist/cjs/constant.d.ts +0 -36
- package/dist/cjs/enum.d.ts +0 -3285
- package/dist/cjs/error.d.ts +0 -10
- package/dist/cjs/function/analyzeAVFormat.d.ts +0 -3
- package/dist/cjs/function/analyzeUrlIOLoader.d.ts +0 -7
- package/dist/cjs/function/analyzeUrlIOLoader.js +0 -101
- package/dist/cjs/function/audioData2AVFrame.d.ts +0 -2
- package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +0 -3
- package/dist/cjs/function/avframe2AudioData.d.ts +0 -2
- package/dist/cjs/function/avframe2VideoFrame.d.ts +0 -5
- package/dist/cjs/function/avframe2VideoFrame.js +0 -146
- package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +0 -2
- package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +0 -2
- package/dist/cjs/function/compileResource.d.ts +0 -2
- package/dist/cjs/function/compileResource.js +0 -53
- package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +0 -2
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js +0 -23
- package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +0 -7
- package/dist/cjs/function/getAudioCodec.d.ts +0 -2
- package/dist/cjs/function/getHardwarePreference.d.ts +0 -1
- package/dist/cjs/function/getHardwarePreference.js +0 -16
- package/dist/cjs/function/getVideoCodec.d.ts +0 -2
- package/dist/cjs/function/getWasmUrl.d.ts +0 -2
- package/dist/cjs/function/hasAlphaChannel.d.ts +0 -2
- package/dist/cjs/function/isHdr.d.ts +0 -2
- package/dist/cjs/function/videoFrame2AVFrame.d.ts +0 -7
- package/dist/cjs/function/videoFrame2AVFrame.js +0 -113
- package/dist/cjs/implement/AVFramePoolImpl.d.ts +0 -11
- package/dist/cjs/implement/AVFramePoolImpl.js +0 -59
- package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +0 -11
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js +0 -57
- package/dist/cjs/implement/AVPacketPoolImpl.d.ts +0 -11
- package/dist/cjs/implement/AVPacketPoolImpl.js +0 -60
- package/dist/cjs/pixelFormatDescriptor.d.ts +0 -100
- package/dist/cjs/pixfmt.d.ts +0 -1293
- package/dist/cjs/sampleFormatDescriptor.d.ts +0 -6
- package/dist/cjs/stringEnum.d.ts +0 -161
- package/dist/cjs/struct/audiosample.d.ts +0 -64
- package/dist/cjs/struct/avbuffer.d.ts +0 -85
- package/dist/cjs/struct/avcodecparameters.d.ts +0 -181
- package/dist/cjs/struct/avdict.d.ts +0 -17
- package/dist/cjs/struct/avframe.d.ts +0 -559
- package/dist/cjs/struct/avpacket.d.ts +0 -124
- package/dist/cjs/struct/avpcmbuffer.d.ts +0 -49
- package/dist/cjs/struct/avsubtitle.d.ts +0 -30
- package/dist/cjs/struct/encryption.d.ts +0 -137
- package/dist/cjs/struct/rational.d.ts +0 -15
- package/dist/cjs/struct/rational.js +0 -43
- package/dist/cjs/util/amf.d.ts +0 -10
- package/dist/cjs/util/av1syntax.d.ts +0 -9
- package/dist/cjs/util/avbuffer.d.ts +0 -18
- package/dist/cjs/util/avbuffer.js +0 -153
- package/dist/cjs/util/avdict.d.ts +0 -9
- package/dist/cjs/util/avdict.js +0 -111
- package/dist/cjs/util/avframe.d.ts +0 -21
- package/dist/cjs/util/avpacket.d.ts +0 -24
- package/dist/cjs/util/channel.d.ts +0 -5
- package/dist/cjs/util/codecparameters.d.ts +0 -4
- package/dist/cjs/util/codecparameters.js +0 -70
- package/dist/cjs/util/common.d.ts +0 -3
- package/dist/cjs/util/crypto.d.ts +0 -1
- package/dist/cjs/util/crypto.js +0 -8
- package/dist/cjs/util/crypto.js.map +0 -1
- package/dist/cjs/util/encryption.d.ts +0 -6
- package/dist/cjs/util/expgolomb.d.ts +0 -26
- package/dist/cjs/util/intread.d.ts +0 -9
- package/dist/cjs/util/intwrite.d.ts +0 -9
- package/dist/cjs/util/mem.d.ts +0 -5
- package/dist/cjs/util/mem.js +0 -54
- package/dist/cjs/util/nalu.d.ts +0 -32
- package/dist/cjs/util/ntp.d.ts +0 -1
- package/dist/cjs/util/pcm.d.ts +0 -4
- package/dist/cjs/util/pixel.d.ts +0 -11
- package/dist/cjs/util/rational.d.ts +0 -58
- package/dist/cjs/util/sample.d.ts +0 -7
- package/dist/cjs/util/serialize.d.ts +0 -63
- package/dist/esm/util/crypto.d.ts +0 -1
- package/dist/esm/util/crypto.js +0 -4
- package/dist/esm/util/crypto.js.map +0 -1
- /package/dist/cjs/{audiosamplefmt.js → audiosamplefmt.cjs} +0 -0
- /package/dist/cjs/{avformat.js → avformat.cjs} +0 -0
- /package/dist/cjs/{codec.js → codec.cjs} +0 -0
- /package/dist/cjs/{error.js → error.cjs} +0 -0
- /package/dist/cjs/function/{analyzeAVFormat.js → analyzeAVFormat.cjs} +0 -0
- /package/dist/cjs/{pixfmt.js → pixfmt.cjs} +0 -0
- /package/dist/cjs/{sampleFormatDescriptor.js → sampleFormatDescriptor.cjs} +0 -0
- /package/dist/cjs/struct/{avsubtitle.js → avsubtitle.cjs} +0 -0
- /package/dist/cjs/util/{av1syntax.js → av1syntax.cjs} +0 -0
- /package/dist/cjs/util/{common.js → common.cjs} +0 -0
- /package/dist/cjs/util/{expgolomb.js → expgolomb.cjs} +0 -0
- /package/dist/cjs/util/{ntp.js → ntp.cjs} +0 -0
- /package/dist/cjs/util/{pcm.js → pcm.cjs} +0 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia AVPacket defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import { AVPacketSideDataType } from '../codec'
|
|
27
|
+
import { AV_TIME_BASE, NOPTS_VALUE, NOPTS_VALUE_BIGINT } from '../constant'
|
|
28
|
+
import type { AVBufferRef } from './avbuffer'
|
|
29
|
+
import { AVRational } from './rational'
|
|
30
|
+
|
|
31
|
+
export const enum AVPacketType {
|
|
32
|
+
AUDIO,
|
|
33
|
+
VIDEO
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const enum AVPacketFlags {
|
|
37
|
+
/**
|
|
38
|
+
* The packet contains a keyframe
|
|
39
|
+
*/
|
|
40
|
+
AV_PKT_FLAG_KEY = 1,
|
|
41
|
+
/**
|
|
42
|
+
* The packet content is corrupted
|
|
43
|
+
*/
|
|
44
|
+
AV_PKT_FLAG_CORRUPT = 2,
|
|
45
|
+
/**
|
|
46
|
+
* Flag is used to discard packets which are required to maintain valid
|
|
47
|
+
* decoder state but are not required for output and should be dropped
|
|
48
|
+
* after decoding.
|
|
49
|
+
*/
|
|
50
|
+
AV_PKT_FLAG_DISCARD = 4,
|
|
51
|
+
/**
|
|
52
|
+
* The packet comes from a trusted source.
|
|
53
|
+
*
|
|
54
|
+
* Otherwise-unsafe constructs such as arbitrary pointers to data
|
|
55
|
+
* outside the packet may be followed.
|
|
56
|
+
*/
|
|
57
|
+
AV_PKT_FLAG_TRUSTED = 8,
|
|
58
|
+
/**
|
|
59
|
+
* Flag is used to indicate packets that contain frames that can
|
|
60
|
+
* be discarded by the decoder. I.e. Non-reference frames.
|
|
61
|
+
*/
|
|
62
|
+
AV_PKT_FLAG_DISPOSABLE = 16,
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The stream is end
|
|
66
|
+
*/
|
|
67
|
+
AV_PKT_FLAG_END = 32,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 对于 h264/h265/h266 标记是否是 annexb 码流格式,未置此标志则为 avcc 格式
|
|
71
|
+
*/
|
|
72
|
+
AV_PKT_FLAG_H26X_ANNEXB = 64
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@struct
|
|
76
|
+
export class AVPacketSideData {
|
|
77
|
+
data: pointer<uint8> = nullptr
|
|
78
|
+
|
|
79
|
+
size: size = 0
|
|
80
|
+
|
|
81
|
+
type: AVPacketSideDataType = AVPacketSideDataType.AV_PKT_DATA_UNKNOWN
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@struct
|
|
85
|
+
export class AVProducerReferenceTime {
|
|
86
|
+
wallclock: int64
|
|
87
|
+
flags: int32
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* FFmpeg AVPacket 定义
|
|
93
|
+
*/
|
|
94
|
+
@struct
|
|
95
|
+
export default class AVPacket {
|
|
96
|
+
/**
|
|
97
|
+
* A reference to the reference-counted buffer where the packet data is
|
|
98
|
+
* stored.
|
|
99
|
+
* May be NULL, then the packet data is not reference-counted.
|
|
100
|
+
*/
|
|
101
|
+
buf: pointer<AVBufferRef> = nullptr
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Presentation timestamp in AVStream->time_base units; the time at which
|
|
105
|
+
* the decompressed packet will be presented to the user.
|
|
106
|
+
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
|
107
|
+
* pts MUST be larger or equal to dts as presentation cannot happen before
|
|
108
|
+
* decompression, unless one wants to view hex dumps. Some formats misuse
|
|
109
|
+
* the terms dts and pts/cts to mean something different. Such timestamps
|
|
110
|
+
* must be converted to true pts/dts before they are stored in AVPacket.
|
|
111
|
+
*/
|
|
112
|
+
pts: int64 = NOPTS_VALUE_BIGINT
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Decompression timestamp in AVStream->time_base units; the time at which
|
|
116
|
+
* the packet is decompressed.
|
|
117
|
+
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
|
118
|
+
*/
|
|
119
|
+
dts: int64 = NOPTS_VALUE_BIGINT
|
|
120
|
+
|
|
121
|
+
data: pointer<uint8> = nullptr
|
|
122
|
+
|
|
123
|
+
size: int32 = 0
|
|
124
|
+
|
|
125
|
+
streamIndex: int32 = NOPTS_VALUE
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* A combination of @AVPacketFlags values
|
|
129
|
+
*/
|
|
130
|
+
flags: int32 = 0
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Additional packet data that can be provided by the container.
|
|
134
|
+
* Packet can contain several types of side information.
|
|
135
|
+
*/
|
|
136
|
+
sideData: pointer<AVPacketSideData> = nullptr
|
|
137
|
+
sideDataElems: int32 = 0
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Duration of this packet in AVStream->time_base units, 0 if unknown.
|
|
141
|
+
* Equals next_pts - this_pts in presentation order.
|
|
142
|
+
*/
|
|
143
|
+
duration: int64 = NOPTS_VALUE_BIGINT
|
|
144
|
+
|
|
145
|
+
pos: int64 = NOPTS_VALUE_BIGINT
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* for some private data of the user
|
|
149
|
+
*/
|
|
150
|
+
opaque: pointer<void> = nullptr
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* AVBufferRef for free use by the API user. FFmpeg will never check the
|
|
154
|
+
* contents of the buffer ref. FFmpeg calls av_buffer_unref() on it when
|
|
155
|
+
* the packet is unreferenced. av_packet_copy_props() calls create a new
|
|
156
|
+
* reference with av_buffer_ref() for the target packet's opaque_ref field.
|
|
157
|
+
*
|
|
158
|
+
* This is unrelated to the opaque field, although it serves a similar
|
|
159
|
+
* purpose.
|
|
160
|
+
*/
|
|
161
|
+
opaqueRef: pointer<AVBufferRef> = nullptr
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Time base of the packet's timestamps.
|
|
165
|
+
*/
|
|
166
|
+
timeBase: AVRational = new AVRational({ den: AV_TIME_BASE, num: 1 })
|
|
167
|
+
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
@struct
|
|
171
|
+
export class AVPacketRef extends AVPacket {
|
|
172
|
+
refCount: atomic_int32
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export interface AVPacketPool {
|
|
176
|
+
alloc: () => pointer<AVPacketRef>
|
|
177
|
+
release: (avpacket: pointer<AVPacketRef>) => void
|
|
178
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia AVPCMBuffer defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import type { AVSampleFormat } from '../audiosamplefmt'
|
|
27
|
+
|
|
28
|
+
@struct
|
|
29
|
+
export default class AVPCMBuffer {
|
|
30
|
+
/**
|
|
31
|
+
* pcm 数据
|
|
32
|
+
* 可同时存放多个 channel 数据
|
|
33
|
+
*/
|
|
34
|
+
data: pointer<pointer<uint8>>
|
|
35
|
+
/**
|
|
36
|
+
* data 每一个 channel 的缓冲区大小
|
|
37
|
+
*/
|
|
38
|
+
linesize: int32
|
|
39
|
+
/**
|
|
40
|
+
* 当前存放了多少个采样点
|
|
41
|
+
*/
|
|
42
|
+
nbSamples: int32
|
|
43
|
+
/**
|
|
44
|
+
* 当前 data 每个 channel 能存放的最大采样点数
|
|
45
|
+
*/
|
|
46
|
+
maxnbSamples: int32
|
|
47
|
+
/**
|
|
48
|
+
* 声道数
|
|
49
|
+
*/
|
|
50
|
+
channels: int32
|
|
51
|
+
/**
|
|
52
|
+
* 采样率
|
|
53
|
+
*/
|
|
54
|
+
sampleRate: int32
|
|
55
|
+
/**
|
|
56
|
+
* pcm 格式
|
|
57
|
+
*/
|
|
58
|
+
format: AVSampleFormat
|
|
59
|
+
/**
|
|
60
|
+
* pts
|
|
61
|
+
*/
|
|
62
|
+
timestamp: int64
|
|
63
|
+
/**
|
|
64
|
+
* 时长
|
|
65
|
+
*/
|
|
66
|
+
duration: double
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@struct
|
|
70
|
+
export class AVPCMBufferRef extends AVPCMBuffer {
|
|
71
|
+
refCount: atomic_int32
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface AVPCMBufferPool {
|
|
75
|
+
alloc: () => pointer<AVPCMBufferRef>
|
|
76
|
+
release: (buffer: pointer<AVPCMBufferRef>) => void
|
|
77
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia AVSubtitle defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import type { AVRational } from './rational'
|
|
27
|
+
|
|
28
|
+
export const enum AVSubtitleType {
|
|
29
|
+
SUBTITLE_NONE,
|
|
30
|
+
/**
|
|
31
|
+
* Plain text, the text field must be set by the decoder and is
|
|
32
|
+
* authoritative. ass and pict fields may contain approximations.
|
|
33
|
+
*/
|
|
34
|
+
SUBTITLE_TEXT,
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Formatted webvtt, the ass field must be set by the decoder and is
|
|
38
|
+
* authoritative. pict and text fields may contain approximations.
|
|
39
|
+
*/
|
|
40
|
+
SUBTITLE_WEBVTT,
|
|
41
|
+
/**
|
|
42
|
+
* Formatted text, the ass field must be set by the decoder and is
|
|
43
|
+
* authoritative. pict and text fields may contain approximations.
|
|
44
|
+
*/
|
|
45
|
+
SUBTITLE_ASS
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface AVSubtitleRect {
|
|
49
|
+
flags: int32
|
|
50
|
+
type: AVSubtitleType
|
|
51
|
+
text: string
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface AVSubtitle {
|
|
55
|
+
pts: int64
|
|
56
|
+
duration: int64
|
|
57
|
+
timeBase: AVRational
|
|
58
|
+
rects: AVSubtitleRect[]
|
|
59
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia EncryptionInfo defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
@struct
|
|
27
|
+
export class AVSubsampleEncryptionInfo {
|
|
28
|
+
/**
|
|
29
|
+
* The number of bytes that are clear.
|
|
30
|
+
*/
|
|
31
|
+
bytesOfClearData: uint32
|
|
32
|
+
/**
|
|
33
|
+
* The number of bytes that are protected. If using pattern encryption,
|
|
34
|
+
* the pattern applies to only the protected bytes; if not using pattern
|
|
35
|
+
* encryption, all these bytes are encrypted.
|
|
36
|
+
*/
|
|
37
|
+
bytesOfProtectedData: uint32
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface EncryptionInfo {
|
|
41
|
+
/**
|
|
42
|
+
* The fourcc encryption scheme, in big-endian byte order.
|
|
43
|
+
*/
|
|
44
|
+
scheme: uint32
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Only used for pattern encryption. This is the number of 16-byte blocks
|
|
48
|
+
* that are encrypted.
|
|
49
|
+
*/
|
|
50
|
+
cryptByteBlock: uint32
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Only used for pattern encryption. This is the number of 16-byte blocks
|
|
54
|
+
* that are clear.
|
|
55
|
+
*/
|
|
56
|
+
skipByteBlock: uint32
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The ID of the key used to encrypt the packet. This should always be
|
|
60
|
+
* 16 bytes long, but may be changed in the future.
|
|
61
|
+
*/
|
|
62
|
+
keyId: Uint8Array
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The initialization vector. This may have been zero-filled to be the
|
|
66
|
+
* correct block size. This should always be 16 bytes long, but may be
|
|
67
|
+
* changed in the future.
|
|
68
|
+
*/
|
|
69
|
+
iv: Uint8Array
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* An array of subsample encryption info specifying how parts of the sample
|
|
73
|
+
* are encrypted. If there are no subsamples, then the whole sample is
|
|
74
|
+
* encrypted.
|
|
75
|
+
*/
|
|
76
|
+
subsamples: AVSubsampleEncryptionInfo[]
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@struct
|
|
80
|
+
export class AVEncryptionInfo {
|
|
81
|
+
/**
|
|
82
|
+
* The fourcc encryption scheme, in big-endian byte order.
|
|
83
|
+
*/
|
|
84
|
+
scheme: uint32
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Only used for pattern encryption. This is the number of 16-byte blocks
|
|
88
|
+
* that are encrypted.
|
|
89
|
+
*/
|
|
90
|
+
cryptByteBlock: uint32
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Only used for pattern encryption. This is the number of 16-byte blocks
|
|
94
|
+
* that are clear.
|
|
95
|
+
*/
|
|
96
|
+
skipByteBlock: uint32
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* The ID of the key used to encrypt the packet. This should always be
|
|
100
|
+
* 16 bytes long, but may be changed in the future.
|
|
101
|
+
*/
|
|
102
|
+
keyId: pointer<uint8>
|
|
103
|
+
keyIdSize: uint32
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* The initialization vector. This may have been zero-filled to be the
|
|
107
|
+
* correct block size. This should always be 16 bytes long, but may be
|
|
108
|
+
* changed in the future.
|
|
109
|
+
*/
|
|
110
|
+
iv: pointer<uint8>
|
|
111
|
+
ivSize: uint32
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* An array of subsample encryption info specifying how parts of the sample
|
|
115
|
+
* are encrypted. If there are no subsamples, then the whole sample is
|
|
116
|
+
* encrypted.
|
|
117
|
+
*/
|
|
118
|
+
subsamples: pointer<AVSubsampleEncryptionInfo>
|
|
119
|
+
subsampleCount: uint32
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface EncryptionInitInfo {
|
|
123
|
+
/**
|
|
124
|
+
* A unique identifier for the key system this is for, can be NULL if it
|
|
125
|
+
* is not known. This should always be 16 bytes, but may change in the
|
|
126
|
+
* future.
|
|
127
|
+
*/
|
|
128
|
+
systemId: Uint8Array
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* An array of key IDs this initialization data is for. All IDs are the
|
|
132
|
+
* same length. Can be NULL if there are no known key IDs.
|
|
133
|
+
*/
|
|
134
|
+
keyIds: Uint8Array[]
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Key-system specific initialization data. This data is copied directly
|
|
138
|
+
* from the file and the format depends on the specific key system. This
|
|
139
|
+
* can be NULL if there is no initialization data; in that case, there
|
|
140
|
+
* will be at least one key ID.
|
|
141
|
+
*/
|
|
142
|
+
data: Uint8Array
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@struct
|
|
146
|
+
export class AVEncryptionInitInfo {
|
|
147
|
+
/**
|
|
148
|
+
* A unique identifier for the key system this is for, can be NULL if it
|
|
149
|
+
* is not known. This should always be 16 bytes, but may change in the
|
|
150
|
+
* future.
|
|
151
|
+
*/
|
|
152
|
+
systemId: pointer<uint8>
|
|
153
|
+
systemIdSize: uint32
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* An array of key IDs this initialization data is for. All IDs are the
|
|
157
|
+
* same length. Can be NULL if there are no known key IDs.
|
|
158
|
+
*/
|
|
159
|
+
keyIds: pointer<pointer<uint8>>
|
|
160
|
+
/** The number of key IDs. */
|
|
161
|
+
numKeyIds: uint32
|
|
162
|
+
/**
|
|
163
|
+
* The number of bytes in each key ID. This should always be 16, but may
|
|
164
|
+
* change in the future.
|
|
165
|
+
*/
|
|
166
|
+
keyIdSize: uint32
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Key-system specific initialization data. This data is copied directly
|
|
170
|
+
* from the file and the format depends on the specific key system. This
|
|
171
|
+
* can be NULL if there is no initialization data; in that case, there
|
|
172
|
+
* will be at least one key ID.
|
|
173
|
+
*/
|
|
174
|
+
data: pointer<uint8>
|
|
175
|
+
dataSize: uint32
|
|
176
|
+
/**
|
|
177
|
+
* An optional pointer to the next initialization info in the list.
|
|
178
|
+
*/
|
|
179
|
+
next: pointer<AVEncryptionInitInfo>
|
|
180
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia Rational defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
@struct
|
|
27
|
+
export class AVRational {
|
|
28
|
+
/**
|
|
29
|
+
* 分子
|
|
30
|
+
*/
|
|
31
|
+
num: int32 = 1
|
|
32
|
+
/**
|
|
33
|
+
* 分母
|
|
34
|
+
*/
|
|
35
|
+
den: int32 = 1
|
|
36
|
+
|
|
37
|
+
constructor(init?: {den: number, num: number}) {
|
|
38
|
+
if (init) {
|
|
39
|
+
this.den = init.den
|
|
40
|
+
this.num = init.num
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|