У меня есть задача, которая включает интеграцию видеодекодера в Stagefright
(мультимедийная инфраструктура Android). Я искал и нашел следующее о создании нового плагина для Stagefright
:Как создать плагин stagefright
Чтобы добавить поддержку нового формата, вам необходимо:
Разработка нового класса Extractor, если контейнер не поддерживается.
Разработайте новый класс декодера, который реализует интерфейс, необходимый для ядра
StageFright
, для считывания данных.Связать файлы типа mime с файлами для чтения в новом декодере в файле
OMXCodec.cpp
в массивеkDecoderInfo
.
static const CodecInfo kDecoderInfo[] = {
{MEDIA_MIMETYPE_AUDIO_AAC, "OMX.TI.AAC.decode"},
{MEDIA_MIMETYPE_AUDIO_AAC, "AACDecoder"},
};
Приведенные выше данные все я мог бы узнать в сети. Прямо сейчас у меня есть простое приложение, которое возьмет файл в качестве ввода и отобразит его на экране с использованием встроенного API в Android. Может кто-нибудь, пожалуйста, скажите мне, как двигаться дальше. И откуда все эти OMXCodec.cpp
и другие приходят в картину и в какой каталог моего проекта я должен иметь их. Просьба предоставить решения относительно того же. Заранее спасибо.
Большое спасибо ... С этой информацией я уверен, что смогу продолжить. Если возможно, вы можете указать конкретную ссылку, где я могу узнать из основ об источниках Android. В приведенной выше ссылке http://androidxref.com/ я не могу найти основы для того, чтобы начать использовать источники Android в моем проекте. Я был бы вам очень полезен, если бы вы могли предоставить источник использования источников Android в любом приложении. Также небольшой запрос: мы модифицируем исходный код Android и просто создаем автономный плагин для существующего исходного кода.? – Zax
@ Zax Если вы ищете введение уровня Java, вы можете начать здесь: http://developer.android.com/training/index.html. Однако, если вы смотрите на примечания по интеграции, вы можете прочитать больше в архивах stackoverflow. Для интеграции кодека в «Ice-Cream Sandwich» вам придется модифицировать Android-источники. Для интеграции в 'JellyBean' вы обновляете конкретный файл платформы, а не источники, который является ожидаемым способом интеграции. – Ganesh
Наконец, я понял, что мне нужно перестроить часть исходного кода Android и создать libstagefright.so, используя Android.mk и замените его на существующий в/system/libs на моем устройстве. Теперь, чтобы создать этот файл * .so, мне нужно загрузить весь исходный код Android, или мне просто нужно загрузить фреймворки/base/media/libstagefright/contents? – Zax