Видео

На рисунке представлен алгоритм работы видеокодирования/декодирования с помощью кодеков GStreamer и OpenMAX.

Видеокодирование/декодирование

Фреймворк воспроизведения мультимедийных файлов управляет плагинами проигрывателя GStreamer. Интерфейсы ядра для управления кодеками могут быть разными для разного аппаратного обеспечения. ОС Аврора предоставляет HAL, реализующий общий интерфейс для управления устройством с различным аппаратным обеспечением. HAL включает в себя следующие компоненты:

  • droidmedia;
  • minimediaservice;
  • libdroidmedia;
  • minisfservice.

Плагин кодека GStreamer подключается и легко применяется к алгоритму работы GStreamer, который используется в мультимедийных фреймворках.

Некоторые из производителей кодеков предоставляют компоненты OpenMAX IL, а не плагины GStreamer. В таких ситуациях в ОС Аврора используется плагин gst-omx. Алгоритм работы GStreamer, применяемый в мультимедийных фреймворках, позволяет управлять и передавать данные к компоненте OpenMAX IL с помощью плагина gst-omx.

На следующем рисунке показан общий алгоритм работы кодек-плагина декодера, предоставляемого в качестве элемента GStreamer. Если установлен плагин кодека, проигрыватель может сразу привязать этот плагин к своей последовательности действий.

Плагин кодека GStreamer

На следующем рисунке показан общий алгоритм работы кодек-плагина декодера, предоставляемого в качестве компоненты OpenMAX.

Плагин кодека GStreamer с использованием компоненты OpenMax

Для использования компонента OpenMAX в GStreamer предоставляется пакет gst-omx (с открытым исходным кодом). Используя этот пакет, GStreamer может распознавать и использовать компонент OpenMAX в качестве элемента GStreamer. gst-omx — плагин Gstreamer, который позволяет общаться с компонентами OpenMAX IL. Использование плагина gst-omx аналогично другим плагинам Gstreamer.

Плагин gst-omx ссылается на файл конфигурации gstomx.conf. Данный файл включается в пакет gst-omx и на устройстве устанавливается в каталоге /etc/xdg/gst-omx.conf.