Новый выпуск FreshPlayer, прослойки для запуска PPAPI-плагинов в Firefox
Интерфейс PPAPI был разработан компанией Google для замены ранее широко используемого для плагинов интерфейса NPAPI, архитектура которого устарела и не соответствует современным реалиям. В PPAPI устранены свойственные NPAPI проблемы с переносимостью, безопасностью и производительностью, а также значительно упрощен процесс создания плагинов, работающих в виде отдельных процессов. PPAPI предоставляет ряд расширенных интерфейсов, связанных с обеспечением работы в плагинах сетевых, вычислительных, аудио- и графических функций, доступом к OpenGL ES, рендерингом шрифтов и другими операциями.
В настоящее время насчитывается 107 групп функций, которые браузер Chrome/Chromium предоставляет через PPAPI. Программный интерфейс PPAPI существенно отличается от NPAPI, что требует значительной переработки плагина, при желании его перевода с NPAPI на PPAPI. Разработчики Firefox пока не планируют реализацию поддержки PPAPI, так как данный API ещё не стабилизирован и находится в процессе постоянных изменений.
Для решения проблемы с использованием PPAPI-плагинов в Firefox, FreshPlayer предоставляет NPAPI-плагин, который позволяет загружать плагины PPAPI, симулируя интерфейс PPAPI и транслируя вызовы в обращения к API вышестоящего браузера. Таким образом, для PPAPI-плагина FreshPlayer выглядит как браузер с поддержкой PPAPI, а для Firefox как обычный плагин NPAPI. При этом, FreshPlayer не предоставляет механизмов sandbox-изоляции плагинов, что снижает уровень безопасности до обычных не изолированных плагинов NPAPI. Из зависимостей, для работы FreshPlayer требуются пакеты glib, libasound (опционально поддерживается PulseAudio) и libpango, для сборки также требуются libgl1-mesa-dev, libevent-dev, libgtk+2.0-dev и libgles2-mesa-dev.
В новой версии:
- Реализована поддержка интерфейса Flash DRM для доступа к защищённому контенту;
- Добавлен диалог выбора файлов;
- Переработан код для взаимодействия со звуковой подсистемой ALSA;
- Добавлена опциональная поддержка PulseAudio;
- Реализован интерфейс для отключения вызова хранителя экрана;
- Для создания GL-контекста задействован GLX, который используется как для OpenGL, так и для OpenGL ES;
- Решены проблемы со вложенными меню и переходом в полноэкранный режим.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41464
|
0 | Tweet | Нравится |
|