Skip to main content
Los setters de belleza devuelven int. Compáralos con ErrorCode. La construcción y processImage también pueden lanzar una excepción o devolver null.

ErrorCode

-1 es argumento no válido. -2 es no inicializado.

Construcción

new BeautyEffectEngine(context, config) lanza IllegalArgumentException cuando:
  • context o config es null
  • config.isValid() es false (sin licenseToken y faltan appId / appKey)
No devuelve null.
La inicialización de licencia y recursos aún puede fallar de forma asíncrona. Suscríbete a los eventos del motor:
Solución de autenticación: Autenticación y licencia. Activa el logging antes de construir: consulta Implementar belleza.

processImage

  • Entrada null o type nullIllegalArgumentException
  • Motor ya con release()null (sin excepción)
  • Siempre release() de entrada y salida en un bloque finally
Si conviertes la salida (convert, toBitmap), libera también el fotograma extra.

Filtros, stickers, fondo virtual

Una ruta vacía o un byte[] vacío devuelve ErrorCode.INVALID_ARGUMENT. Los archivos que faltan suelen devolver ErrorCode.IO.
Los cambios de filtro / sticker entran en vigor en el siguiente fotograma procesado. Un setter correcto no demuestra que la textura se haya subido; observa los resultados posteriores de processImage y los logs del SDK.

Configuración de logging

setLogConfig lanza si config o level es null. Crea los directorios padre antes de activar logs de archivo.

Memoria insuficiente

ErrorCode.OUT_OF_MEMORY o OutOfMemoryError suele significar que no se liberan fotogramas, la resolución es demasiado alta o se acumularon buffers heap/direct.
  • Usa ByteBuffer.allocateDirect para cámara / píxeles empaquetados
  • Libera cada ImageFrame (incluidos los resultados de convert)
  • Prefiere FrameType.VIDEO para cámara en directo
  • No construyas un motor nuevo en cada fotograma

Estadísticas para fotogramas lentos