Skip to content

Commit edb4aab

Browse files
authored
feat: HEIC support
feat: add heic support
2 parents 21132ff + fef40b1 commit edb4aab

3 files changed

Lines changed: 19 additions & 4 deletions

File tree

package-lock.json

Lines changed: 9 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
},
3838
"dependencies": {
3939
"@mediabunny/mp3-encoder": "^1.25.0",
40+
"heic2any": "^0.0.4",
4041
"mediabunny": "^1.25.0"
4142
}
4243
}

src/shared/converters/image-converter.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Converter } from './converter-abstract'
2+
import { applyFilters, applyFiltersAsync } from '@wordpress/hooks'
23

34
// Supported output formats
45
const supportedFormats = [
@@ -14,12 +15,12 @@ const supportedFormats = [
1415
class ImageConverter extends Converter {
1516
static get mimeTypes() {
1617
// Accept all images supported by most browsers for conversion.
17-
return [
18+
return applyFilters( 'cimo.imageConverter.mimeTypes', [
1819
'image/jpeg',
1920
'image/png',
2021
'image/webp',
2122
'image/jpg',
22-
]
23+
] )
2324
}
2425

2526
static get showProgress() {
@@ -128,6 +129,12 @@ class ImageConverter extends Converter {
128129
maxDimension = parseFloat( maxDimension )
129130
}
130131

132+
// Allow preprocessing of the image before the conversion
133+
const updatedFile = await applyFiltersAsync( 'cimo.convertImage.prepare', fileItem.file, outputFormat, options )
134+
if ( updatedFile ) {
135+
fileItem.file = updatedFile
136+
}
137+
131138
return new Promise( ( resolve, reject ) => {
132139
const img = new Image()
133140
let objectUrl = null

0 commit comments

Comments
 (0)