Kotlin

Cómo funciona la duplicación

El efecto "espejo" en sí se implementa en el punto en el que se transforman los fotogramas sin procesar de la cámara en fotogramas que se entregan al SDK:

Obtener el fotograma en bruto de la cámara Para Camera2: desde el callback de ImageReader. Aplicar un giro horizontal (espejo)

  • Software mirroring: manipular el búfer de píxeles (por ejemplo, invertir columnas por fila).
  • Reflejo de texturas/GL: si se utiliza OpenGL, voltea las coordenadas de la textura horizontalmente al dibujar en la superficie que alimenta el SDK.
  • En cualquier caso, el fotograma final que ve el SDK tiene la izquierda/derecha intercambiada frente a la salida en bruto de la cámara.
  • Entregar el marco reflejado al SDK
  • Convierte el fotograma al formato de píxeles configurado (por ejemplo, NV21) si es necesario. Llame al método de devolución de llamada apropiado en BaseVideoCapturer para entregar el fotograma reflejado.