Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An open source flash player implementation
C++ C CMake ActionScript Shell Assembly Other

This branch is 1 commit ahead, 4674 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
conf
debian
media
plugin-dir
scripts
CMakeLists.txt
COPYING
ChangeLog
README
TODO
abc.cpp
abc.h
abc_codesynt.cpp
abc_interpreter.cpp
abc_opcodes.cpp
actions.cpp
actions.h
asobjects.cpp
asobjects.h
class.h
compat.cpp
compat.h
decoder.cpp
decoder.h
exceptions.h
fastpaths.h
fastpaths_32.asm
fastpaths_64.asm
flashdisplay.cpp
flashdisplay.h
flashevents.cpp
flashevents.h
flashexternal.cpp
flashexternal.h
flashgeom.cpp
flashgeom.h
flashmedia.cpp
flashmedia.h
flashnet.cpp
flashnet.h
flashsystem.cpp
flashsystem.h
flashtext.cpp
flashtext.h
flashutils.cpp
flashutils.h
flashxml.cpp
flashxml.h
flv.cpp
flv.h
frame.cpp
frame.h
geometry.cpp
geometry.h
graphics.cpp
graphics.h
input.cpp
input.h
lightspark.frag
lightspark.sln
lightspark.vcproj
lightspark.vert
logger.cpp
logger.h
main.cpp
netutils.cpp
netutils.h
packed_begin.h
packed_end.h
streams.cpp
streams.h
swf.cpp
swf.h
swftypes.cpp
swftypes.h
tags.cpp
tags.h
tags_stub.cpp
textfile.cpp
textfile.h
thread_pool.cpp
thread_pool.h
threading.cpp
threading.h
tightspark.cpp
timer.cpp
timer.h
vm.cpp
vm.h

README

Lightspark third Technical demo README

First of all I'd like to thank you for testing the lightspark project,
the current status is kind of stable, although not ready for end users

Be aware that the following feature are not yet supported or stable enough to be include in the demo

-) Sound support
-) Input support
-) Antialiasing

This demo already includes a lot of cool features

-) GLSL based rendering of fill styles (eg. gradients)
-) LLVM based ActionScript execution. Code is compiled just in time
-) A few tricks are also played to decrease the stack traffic tipical of stack machines.
-) First, although simple, framerate timing
-) Framework to handle ActionScript asynchronous events.

NOTE:
Currently only 64bit platforms with SSE2 extension are supported. Support for 32bit and previous processor will
be ready soon.

INSTALLATION:
To compile this software you need to install development packages for llvm-2.7, sdl, opengl, curl, libavcodec, ftgl, libglew
Install also cmake and nasm.
To build the software please follow those steps.

1) cd lightspark
2) mkdir objs
3) cd objs
4) cmake -DCMAKE_BUILD_TYPE=Release -DCOMPILE_PLUGIN=1 ..
5) make
6) sudo make install

DEBUG MODe:
To enable debug mode change the cmake command like this:
4b) cmake -DCMAKE_BUILD_TYPE=Debug -DCOMPILE_PLUGIN=1

EXECUTION:
This demo aims at rendering, the runtime generated UI of the new YouTube player. Recently YouTube switched 
to Flash 10 and AS3 to serve some HD content, while maintaining the old AS2 based player for lower quality content.

-) First of all download the YouTube player SWF file.
	wget http://s.ytimg.com/yt/swf/watch_as3-vfl155676.swf
-) The player works by gathering the parameters from the Javascript in the page. Lightspark support loading parameters from a text file
   using the --parameters-file command line. Create a suitable parameters file using the following commands
	cd scripts
	./youtube-args-dumper.sh http://www.youtube.com/watch?v=4N2YWRJ-ppo > ../yt-args
	cd ..
-) Execute the file, this will render the usual UI of the YouTube player and decoded video, no sound is played yet
	lightspark --parameters-file yt-args watch_as3-vfl155676.swf

Press 'Q' on Lightspark window to close the application
Something went wrong with that request. Please try again.