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

Доступен релиз свободного Flash-плеера Lightspark 0.5.1, основанного на технологиях LLVM и базирующегося на использовании JIT-компилятора, транслирующего ActionScript код в x86-инструкции. В отличие от Gnash, Lightspark поддерживает виртуальную машину AVM2 и только последние версии файлов SWF, в то время как Gnash поддерживает формат SWF8 или более ранние версии. Исходные тексты Lightspark написаны на языке C++ и распространяются в рамках лицензии GPLv3. Пользователи Ubuntu могут установить новую версию из специального PPA-репозитория. Пакеты для Fedora Linux в ближайшее время появятся в репозитории RPM Fusion.

Изменения, внесенные в Lightspark 0.5.1:

  • Добавлена возможность рендеринга с использованием OpenGL ES и OpenGL ES 2, что позволяет добиться приемлемой производительности на портативных устройствах на базе архитектуры ARM, не поддерживающих полноценный OpenGL;
  • Возобновлена возможность просмотра YouTube, которая была нарушена после обновления Flash-плеера YouTube, в котором стали использоваться функции API и опкоды виртуальной машины, которые не были полностью реализованы в Lightspark;
  • Обеспечена поддержка Flash-плеера Flowplayer;
  • Улучшена поддержка Flash-плеера, используемого в сервисе Vimeo;
  • Поддержка AS-шаблонов;
  • Прекращена поддержка на половину реализованной виртуальной машины AVM1 (отныне поддерживается только AVM2);
  • Поддержка загрузки внешних JPEG-файлов;
  • Улучшена обработка текста (добавлена возможность выделения цветом);
  • Обеспечено прохождение тестового комплекта Tamarin;
  • Прекращена зависимость от кода Mozilla, теперь используются входящие в комплект заголовочные файлы для NPAPI;
  • Для управления содержимым лог-файла при работе в качестве браузерного плагина добавлена переменная окружения LIGHTSPARK_PLUGIN_LOGLEVEL.

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

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

© OpenNet