From Gnash Project Wiki

(Redirected from Libmad)
Jump to: navigation, search
  • Lenguaje/Language/Langue

|| DE:Deutsch | English | Español | Français | RU:Русский | IT:Italiano | Team ||

This page contains an alphabetical list of terms which are used in connection with Gnash. It is intended to aid the new recruit in learning the terminology which is familiar to long-time contributors.

I would like to add this to the developer's manual (some of the very simple terms may even belong on the user's manual) when some information has been added.



See the ActionScript page

action types (undefined)


AGG is the AntiGrain 2D graphics library, which can be used as a renderer in Gnash. It is faster than OpenGL on systems without hardware graphics acceleration. As of Gnash version 0.7.2 it is the more feature complete renderer.


AMF is the object format used by Flash for shared objects and streaming video.


In Gnash terms, the as_environment, or ActionScript execution environment, contains a stack of objects, characters and values which are in the immediate environment of the current fn_call. Please refer to the Gnash ActionScript manual for more information.

Boost (undefined)

The Boost libraries are free peer-reviewed portable C++ source libraries. In Gnash, the Boost libraries are used to ADD DESCRIPTION.


Cairo is a 2D graphics library with support for multiple output devices. Can be used as a renderer in Gnash. A useful feature of Cairo is that it will automatically use graphic card acceleration when available. Cairo has an experimental OpenGL backend.


DejaGNU is a framework for testing software.


DocBook is a markup language for presentation-neutral documentation, such as manuals. It is used for the Gnash manual.


Doxygen is a documentation generator for for multiple languages which uses comments in the source code to create stand-alone documentation. Used by Gnash to make source browsing easier.


Drupal is a CMS/blog system used for the main Gnash website.


A Gnash extension is a plugin that implements additional functionality beyond what is covered by Flash specification. These are shared libraries that get loaded at runtime.


ffmpeg is a audio and video decoding library which can be used by Gnash to decode mp3, FLV and other media types.


Some call Flash the Adobe IDE for making SWF files, others use it to refer to the techonogy itself (a combination of the SWF format + the expected behaviour of a player). We use the latter.


FLV is a proprietary file format used to deliver Flash video. It is used by YouTube, among others.


FLTK, or the 'Fast Light ToolKit', is a portable GUI library which is intended to replace the SDL GUI. Currently in Gnash, FLTK may be used with the Cairo and AGG renderers. FLTK has an experimental Cairo backend.


In Gnash, this is a GUI library that outputs directly to the Linux Frame Buffer and so does not need a window system to run. This makes it particularly suitable for use on small devices.


Gnash is the GNU Flash movie player.


Gstreamer is a multimedia framework which Gnash can use for decoding audio and video. Gstreamer itself cannot decode anything, so it needs some appropriate decoding-plugins to do the work for it. Remember to install them if you use Gnash with Gstreamer enabled. To get the best out of Gnashs gstreamer-parts, it is recommended to install the gst-plugins-good, gst-plugins-good and gst-ffmpeg plugins packages.

See also: CameraGST, MicrophoneGST


GTK is the GIMP Toolkit GUI library. It is one of the GUI options for Gnash. As of Gnash 0.7.2, this is the more performant and feature-rich choice. GTK uses Cairo internally.


A GUI is a "graphical user interface". In Gnash, the GUI library provides a wrapper for mouse and keyboard events, menus, windowing (where available) and a drawing area. When configuring Gnash, a particular GUI library can be selected. Currently, Gnash uses the following libraries: Qt, FLTK, GTK, SDL, RiscOS, and FrameBuffer.


HaXe is a multi-platform, open-source, language that can be used to target flash (among others). In the Gnash project it is used mainly for writing SWF test cases. As of 8/14/09 all the HaXe test cases in Gnash are located in testsuite/misc-haxe.all/classes.all. Further information can be found on the HaXe website.


Klash was a standalone instance of Gnash using the KDE GUI (but not the GUI library). It has been replaced with an implementation using Qt. Also refer to Kpart, the plugin version.


Kpart is a plugin for Konquerer which uses Qt, the GUI library used by KDE. It is enabled with --enable-klash.


OpenLaszlo is an "open-source platform for rich internet applications". Output from openlaszlo as of version 3.4.x is malformed, and currently unsupported by Gnash.


libmad is a mp3-decoding library, which can be used by Gnash's sound handler to decode mp3-audio.


This is an alternate name for MusicML.


Mesa is the free software OpenGL implementation principally available for It includes hardware accelerated rendering for certain graphics cards and software rendering when hardware rendering is not available.


Ming is a C library for generating SWF ("Flash") format movies, plus a set of wrappers for using the library. It is used by the Gnash project for generating testcases.


MusicML is a database for multimedia content.


Nellymoser is a proprietary audio codec introduced in the Flash Player in version 6. For more information, please see Wikipedia.


OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 3D and 2D computer graphics. Accelerated graphic cards usually provide OpenGL at the hardware level. Please refer to Wikipedia for availability of free software OpenGL hardware drivers. A free software implementation of the API is available (Mesa). OpenGL can be used as a renderer in Gnash.


ORM is a system for ensuring the rights of the creator over a piece of digital content. It is more passive than DRM.


Qt is a GUI library which is used by KDE. The plugin version of Gnash using this GUI library is Kpart. The standalone version is enabled with --enable-gui=kde.


Plugin usually refers to the Gnash browser plugin. The Firefox plugin is well supported; a KDE plugin, generally referred to as Kpart, is also available.


The renderer is the subsystem of Gnash that takes care of rendering the content on the Stage. Only one renderer is used, and it is decided when Gnash is configured for compilation. Available renderers are: AGG, OpenGL, and Cairo. In terms of feature completeness, AGG comes first; then comes OpenGL and then Cairo. In most cases, AGG is preferred for performance, except cases where it is beneficial to have hardware accelerated rendering (for example, when you have a very slow CPU but a very fast graphics card). In this case OpenGL should be used.

RiscOS (undefined)

Bastiaan should elaborate.


RTMP is the Real Time Messaging Protocol primarily used with to stream audio and video over the internet to the Flash Player client.


RTMPT is basically a HTTP wrapper around the RTMP protocol that is sent using POST requests from the client to the server. Because of the non-persistent nature of HTTP connections, RTMPT requires the clients to poll for updates periodically in order to get notified about events that are generated by the server or other clients.


RTMPTS is the same as RTMPT, but instead of being a HTTP wrapper, it is a HTTPSSL wrapper (HTTP secure connection).


Simple DirectMedia Layer is a cross-platform multimedia free software library that creates an abstraction over various platforms' graphics, sound, and input APIs. Gnash can use it as a GUI and/or as a sound handler. Note that the two usages are independent of each other: you can use it for a task and not for the other if you wish. At time or writing (2007-01-11) the SDL GUI lacks menus and a performant input event architecture; the SDL sound handler is the most feature rich, supporting Video through ffmpeg.

sound handler

The sound handler is the part of Gnash that handles the sounds, both event sounds and streaming sound. The latter can be spread over multiple frames, while the first is bound to its frame. Also audio from external sources are handled through the sound handler, though only when using SDL.

There currently exist two sound handlers in Gnash, one based on SDL and one based on Gstreamer. The SDL-sound handler uses ffmpeg or libmad for decoding mp3-audio, though it can be built without mp3-support. The Gstreamer-sound handler uses the available plugins to decode the audio, so it might not work if some important plugins are missing.

It is recommended to use the SDL sound handler since it is more feature complete, and the Gstreamer-sound handler is known to have problems when rapidly starting playback of multiple sounds, and has a certain initializing delay.


A sprite is an element of an Flash Movie. It's basically a Movie inside another, having its own timeline.


The file format for Flash movies. See See also the internal SWF compatibility page.


The visible area of a Flash movie. The name derives from a theatre analogy. Graphical elements are referred to as characters.


The Tamarin project seeks to create an open source implementation of the ECMAScript 4th edition language specification. The code is used by Adobe as part of the ActionScript Virtual Machine within the Adobe Flash Player. Gnash does not use Tamarin; it already has a working virtual server and most ActionScript classes are implemented.


In Flash technology, a timeline is a sequence of "frames". A single Flash movie can contain multiple timelines, each independently controlled (STOP or PLAY). At regular intervals (FPS) the player advances all timelines in PLAY mode to the next frame, looping back when last frame is reached. is the most commonly used X server; it was forked from XFree86.