Релиз свободного Flash-плеера Lightspark 0.5.0

Спустя больше года с момента выпуска ветки 0.4 доступен релиз Lightspark 0.5.0, свободного Flash-плеера, основанного на технологиях LLVM и базирующегося на использовании JIT-компилятора, транслирующего ActionScript код в x86-инструкции. Ключевыми улучшениями Lightspark 0.5 является обеспечение поддержки Flash файлов в формате SWF 9+ и увеличение надёжности.

Из других изменений в версии Lightspark 0.5.0 можно отметить:

  • При просмотре роликов YouTube появилась корректная поддержка кнопок воспроизведения, паузы и раскрытия на весь экран;
  • Начальная поддержка музыкального сервиса Groove­shark;
  • Возможность управления громкостью звука;
  • Поддержка изменения размера плагина;
  • Поддержка динамического текста;
  • Удалена зависимость базовой части Lightspark от SDL, Font­Con­fig и FTGL;
  • Добавлен новый звуковой бэкенд на базе библиотеки SDL;
  • Обеспечена более полная совместимость с GLES (OpenGL ES).
  • Улучшенная поддержка функций для работы с XML;
  • Усовершенствовано проигрывание медиа-контента при помощи задействования FFM­peg;
  • Улучшена работа интерфейса для связи с внешними приложениями (Exter­nal­In­ter­face), используемого для организации взаимодействия с web-браузером;
  • Улучшена работа фильтов, обеспечивающих прозрачность, затенение и наложение масок;
  • Поддержка интроспекции объектов Action­Script;
  • Поддержка сериализации в AMF3;
  • Поддержка захвата различных состояний потока обработки событий;
  • Поддержка простых кнопок (SimpleButton).

За счет тесного использования OpenGL и JIT-компиляции нагрузка на систему при работе Lightspark заметно меньше, чем при просмотре того же ролика в Gnash или Adobe Flash. Графическая архитектура Lightspark построена по комбинированной схеме, в которой использованы и программные методы формирования изображения (вывод геометрических примитивов через Cairo, используя многопоточную схему обработки) и аппаратные механизмы акселерации (декодирование видео с использованием Pixel Buffer Objects; задействование OpenGL для работы фильтров и эффектов).

Основные особенности Lightspark:

  • Поддержка языка ActionScript 3.0, впервые представленного в Adobe Flash 9 (в Gnash полная поддержка ActionScript 3.0 еще не реализована);
  • Задействование OpenGL при формировании вывода геометрических объектов и видео (для работы требуется видеокарта с поддержкой шейдеров);
  • Возможность подключения фильтров и эффектов, изменяющих параметры видео, благодаря задействованию текстурированного вывода с использованием OpenGL;
  • Реализация в виде плагина, совместимого с интерфейсом плагинов Mozilla;
  • Наличие встроенных средств для отладки, профилирования и инспектирования объектов на экране;
  • Несмотря на то, что еще не завершена разработка runtime-библиотек Flash, которые предоставляют разработчикам широкий спектр функций, от вывода видео до разбора XML, в Lightspark, архитектура проекта позволяет создавать подобные функции на чистом C++ или в смешанном со сгенерированным в VM кодом представлении, что дает возможность вызывать подобные функции из любого контекста, не заботясь об их источнике.

Проект развивается при поддержке организации GNOME Foundation. Исходные тексты Lightspark написаны на языке C++ и распространяются в рамках лицензии GPLv3. Пользователи Ubuntu могут установить новую версию из специального PPA-репозитория. Пакеты для Fedora Linux в ближайшее время появятся в репозитории RPM Fusion.

© OpenNet