MCPcopy Create free account
hub / github.com/Vanilagy/webcodecs-polyfill / inferCodecFromCodecString

Function inferCodecFromCodecString

src/misc.ts:97–144  ·  view source on GitHub ↗
(codecString: string)

Source from the content-addressed store, hash-verified

95}
96
97export const inferCodecFromCodecString = (codecString: string) => {
98 // Video codecs
99 if (codecString.startsWith('avc1') || codecString.startsWith('avc3')) {
100 return AV_CODEC_ID_H264;
101 } else if (codecString.startsWith('hev1') || codecString.startsWith('hvc1')) {
102 return AV_CODEC_ID_HEVC;
103 } else if (codecString === 'vp8') {
104 return AV_CODEC_ID_VP8;
105 } else if (codecString.startsWith('vp09')) {
106 return AV_CODEC_ID_VP9;
107 } else if (codecString.startsWith('av01')) {
108 return AV_CODEC_ID_AV1;
109 }
110
111 // Audio codecs
112 if (codecString.startsWith('mp4a.40') || codecString === 'mp4a.67') {
113 return AV_CODEC_ID_AAC;
114 } else if (
115 codecString === 'mp3'
116 || codecString === 'mp4a.69'
117 || codecString === 'mp4a.6B'
118 || codecString === 'mp4a.6b'
119 ) {
120 return AV_CODEC_ID_MP3;
121 } else if (codecString === 'opus') {
122 return AV_CODEC_ID_OPUS;
123 } else if (codecString === 'vorbis') {
124 return AV_CODEC_ID_VORBIS;
125 } else if (codecString === 'flac') {
126 return AV_CODEC_ID_FLAC;
127 } else if (codecString === 'ulaw') {
128 return AV_CODEC_ID_PCM_MULAW;
129 } else if (codecString === 'alaw') {
130 return AV_CODEC_ID_PCM_ALAW;
131 } else if (codecString === 'pcm-u8') {
132 return AV_CODEC_ID_PCM_U8;
133 } else if (codecString === 'pcm-s16') {
134 return AV_CODEC_ID_PCM_S16LE;
135 } else if (codecString === 'pcm-s24') {
136 return AV_CODEC_ID_PCM_S24LE;
137 } else if (codecString === 'pcm-s32') {
138 return AV_CODEC_ID_PCM_S32LE;
139 } else if (codecString === 'pcm-f32') {
140 return AV_CODEC_ID_PCM_F32LE;
141 }
142
143 return null;
144};
145
146export const getChannelLayout = (numChannels: number) => {
147 switch (numChannels) {

Callers 8

createCodecContextMethod · 0.85
isConfigSupportedMethod · 0.85
createCodecContextMethod · 0.85
isConfigSupportedMethod · 0.85
createCodecContextMethod · 0.85
isConfigSupportedMethod · 0.85
createCodecContextMethod · 0.85
isConfigSupportedMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected