Dependencias del proveedor de SoC para el administrador de recursos multimedia

Este documento tiene como objetivo ayudar a los proveedores de sistemas en chips (SoC) a implementar adecuadamente el soporte para prioridad, velocidad operativa y los enlaces necesarios para el administrador de recursos multimedia de Android.

OMX_ErrorRecursos insuficientes

El componente de códec debe devolver OMX_ErrorInsufficientResources en GetHandle , Init , UseBuffer , AllocateBuffer o una transición de estado si el error se debe a recursos insuficientes. El administrador de recursos de medios utilizará el código de error como indicador para potencialmente adelantar recursos de medios de otros procesos de menor prioridad.

Existe una prueba de Android Compatibility Test Suite (CTS) para asignar, configurar e iniciar cada códec repetidamente hasta catching OMX_ErrorInsufficientResources (aprobado) o cualquier otro error (fallado).

OMX_IndexConfigPriority

Esta configuración permite que la aplicación describa la prioridad del códec deseada.

El valor asociado es un número entero. Un valor más alto significa una prioridad más baja. Actualmente, solo se admiten dos niveles:

  • 0: prioridad en tiempo real, lo que significa que el códec admitirá la configuración de rendimiento dada (por ejemplo, velocidad de fotogramas) en tiempo real. Esto solo se utilizará para la reproducción y captura de medios y posiblemente para escenarios de comunicación en tiempo real si el rendimiento del mejor esfuerzo no es adecuado.
  • 1: prioridad no en tiempo real (mejor esfuerzo). Este es el valor predeterminado.

Se sugiere al proveedor que utilice esto como una pista para la configuración del códec y la planificación de recursos, para comprender los requisitos en tiempo real de la aplicación.

No asuma prioridad en tiempo real a menos que esté configurado en 0.

OMX_IndexConfigOperatingRate

Esta configuración permite que la aplicación describa la velocidad de fotogramas operativa para video o la frecuencia de muestreo para audio a la que deberá funcionar el códec.

Esto se utiliza para casos como captura de video de alta velocidad/cámara lenta, donde el formato del codificador de video contiene la velocidad de reproducción objetivo (por ejemplo, 30 fps), pero el componente debe poder manejar la alta velocidad de captura operativa (por ejemplo, 240 fps).

Esta tasa debe utilizarse para la planificación de recursos y la fijación de los puntos de operación.