{"version":3,"file":"glUploadVideoResource.mjs","sources":["../../../../../../src/rendering/renderers/gl/texture/uploaders/glUploadVideoResource.ts"],"sourcesContent":["import { isSafari } from '../../../../../utils/browser/isSafari';\nimport { glUploadImageResource } from './glUploadImageResource';\n\nimport type { VideoSource } from '../../../shared/texture/sources/VideoSource';\nimport type { GlRenderingContext } from '../../context/GlRenderingContext';\nimport type { GlTexture } from '../GlTexture';\nimport type { GLTextureUploader } from './GLTextureUploader';\n\n// In Safari, texImage2D is significantly faster than texSubImage2D for video sources\n// (see https://github.com/pixijs/pixijs/pull/10383)\nconst defaultForceAllocation = isSafari();\n\n/** @internal */\nexport const glUploadVideoResource = {\n\n    id: 'video',\n\n    upload(\n        source: VideoSource,\n        glTexture: GlTexture,\n        gl: GlRenderingContext,\n        webGLVersion: number,\n        targetOverride?: number,\n        forceAllocation = defaultForceAllocation\n    )\n    {\n        if (!source.isValid)\n        {\n            const target = targetOverride ?? glTexture.target;\n\n            gl.texImage2D(\n                target,\n                0,\n                glTexture.internalFormat,\n                1,\n                1,\n                0,\n                glTexture.format,\n                glTexture.type,\n                null\n            );\n\n            return;\n        }\n\n        glUploadImageResource.upload(source as any, glTexture, gl, webGLVersion, targetOverride, forceAllocation);\n    }\n} as GLTextureUploader;\n\n"],"names":[],"mappings":";;;;AAUA,MAAM,yBAAyB,QAAA,EAAS;AAGjC,MAAM,qBAAA,GAAwB;AAAA,EAEjC,EAAA,EAAI,OAAA;AAAA,EAEJ,OACI,MAAA,EACA,SAAA,EACA,IACA,YAAA,EACA,cAAA,EACA,kBAAkB,sBAAA,EAEtB;AACI,IAAA,IAAI,CAAC,OAAO,OAAA,EACZ;AACI,MAAA,MAAM,MAAA,GAAS,kBAAkB,SAAA,CAAU,MAAA;AAE3C,MAAA,EAAA,CAAG,UAAA;AAAA,QACC,MAAA;AAAA,QACA,CAAA;AAAA,QACA,SAAA,CAAU,cAAA;AAAA,QACV,CAAA;AAAA,QACA,CAAA;AAAA,QACA,CAAA;AAAA,QACA,SAAA,CAAU,MAAA;AAAA,QACV,SAAA,CAAU,IAAA;AAAA,QACV;AAAA,OACJ;AAEA,MAAA;AAAA,IACJ;AAEA,IAAA,qBAAA,CAAsB,OAAO,MAAA,EAAe,SAAA,EAAW,EAAA,EAAI,YAAA,EAAc,gBAAgB,eAAe,CAAA;AAAA,EAC5G;AACJ;;;;"}