Вышел свободный Flash-плеер Lightspark 0.4.4

Увидел свет релиз Lightspark 0.4.4, свободного Flash-плеера, основанного на технологиях LLVM и базирующегося на использовании JIT-компилятора, транслирующего ActionScript код в x86-инструкции. Исходные тексты Lightspark написаны на языке C++ и распространяются в рамках лицензии GPLv3. За счет тесного использования OpenGL и JIT-компиляции нагрузка на систему при работе Lightspark заметно меньше, чем при просмотре того же ролика в Gnash или Adobe Flash. Проект развивается при поддержке организации GNOME Foundation.

Готовые бинарные пакеты для Ubuntu можно найти в специально подготовленном PPA-репозитории, также подготовлены пакеты для Fedora 13.

В версии 0.4.4 представлены следующие новшества:

  • Поддержка вывода локализованных сообщений (используется gettext). Ищутся энтузиасты для перевода текстов сообщений об ошибках на разные языки;
  • Поддержка обработки исключений в Action­Script;
  • Более полная поддержка сетевых функций;
  • Возможность управления передачей видеопотока (стоп, пауза, воспроизведение). Из-за недоработки обработчика событий от манипулятора мышь, данную возможность пока нельзя использовать с большинством роликов в YouTube.

Из планов на будущее отмечена реализация поддержки подключаемых звуковых плагинов и переработка графической архитектуры проекта. Разработчики пока склоняются к комбинированной схеме построения графической архитектуры, в которой будут использованы и программные методы формирования изображения (вывод геометрических примитивов через Cairo, используя многопоточную схему обработки) и аппаратные механизмы акселерации (декодирование видео с использованием Pixel Buffer Objects; задействование OpenGL для работы фильтров и эффектов).

Основные особенности проекта:

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

© OpenNet