Новый выпуск FreshPlayer, прослойки для запуска PPAPI-плагинов в Firefox
15 января 2015 года
Ринат Ибрагимов представил обновление проекта freshplayerplugin v0.2.2, в рамках которого развивается прослойка, позволяющая использовать в Firefox плагины, построенные на основе интерфейса PPAPI (Pepper Plugin API). Прослойка решает проблему с использованием в Linux актуальных выпусков плагина Adobe Flash, которые поставляются в форме PPAPI-плагина для браузера Chrome, но недоступны для браузеров с интерфейсом NPAPI. Код проекта распространяется под лицензией MIT.
Интерфейс 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;
- Решены проблемы со вложенными меню и переходом в полноэкранный режим.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.