Gnash: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎no sound in Gnash: minor rewrite)
Line 31: Line 31:
It may be possible to install these using [[yum]] or [[rpm]]; the task is made more complicated because release [[8.2.0]] uses an earlier version of GStreamer.
It may be possible to install these using [[yum]] or [[rpm]]; the task is made more complicated because release [[8.2.0]] uses an earlier version of GStreamer.


''Users, please add more details from in the [[Talk:Gnash]] page''
''Please add more details in the [[Talk:Gnash]] page''


==== Other issues ====
==== Other issues ====

Revision as of 00:52, 12 October 2008

Gnash is a GNU Flash movie player and as a plugin to Browse is the default Flash player on the XO. It is the free software counterpart to the Adobe Flash player.

About Flash

Wikipedia has a good overview of the various Flash technologies. Flash animations and games typically have the .swf extension, while Flash videos typically use the .flv extension. Flash technologies include the ActionScript virtual machine, as well as many proprietary codecs that are covered by patents.

Differences between Gnash (XO) and Adobe Flash

Many flash applications and movies that work with Adobe Flash will not work on the XO. This can be frustrating due to the large and growing base of animations, tutors, and other content available for Flash. These include:

The Gnash team faces several challenges. The primary challenge is the number of basic encoding schemes, such as MP3, that are covered by patents. While Gnash supports these proprietary codecs, the OLPC cannot or will not ship codecs to support the proprietary schemes. As such, the version of Gnash that ships with the OLPC XO-1 has no sound playback by default. Another challenge is that Adobe had not provided full information about SWF files, though a recent Stanford class and contributions to Mozilla's Tamarin project points towards some additional openness.

Note that SWF files continue to evolve. While Gnash provides good support for SWF version 7, support for later version is more challenging. Gnash emulates Adobe Flash's Actionscript Virtual Machine 1 (AVM1 - used by Actionscript 1.0 and 2.0), but not Actionscript Virtual Machine 2 (AVM2) and thus cannot play Flash 9 & 10 content that has been authored in Actionscript 3.0. Finally, Gnash depends on a number of rapidly evolving libraries, such as Gstreamer which hamper stability.

The easiest way to get Flash to work with Gnash is to get developers of the Flash content to test with Gnash. See also Game Development with Flash on the XO-1.

Gnash bugs

Gnash 0.8.2 (ships with release 8.1.2 (build 711)

  • _x, _y & _rotation problems when rendering fonts
  • If sound is enabled, there are some sound incompatibility bugs when compared to Flash 7 & 8.

Gnash 0.8.3 (ships with recent candidate builds for upcoming release 8.2.0)

no sound in Gnash

(<trac>8504</trac>) Gnash requires additional software libraries in GStreamer to play sounds in .swf files. The relevant software has patent encumbrances, see Restricted formats.

It may be possible to install these using yum or rpm; the task is made more complicated because release 8.2.0 uses an earlier version of GStreamer.

Please add more details in the Talk:Gnash page

Other issues

  • If sound is enabled, there are some sound incompatibility bugs when playing Flash 7 or 8 content
  • Looping background sound in Flash Lite 2.0 (which is based on Flash 7) content plays back incorrectly. It breaks up with a lot of noise & hissing, and the volume levels change throughout sound playback.
  • The onSoundComplete event does not seem to fire properly - thus sound that is looped using onSoundComplete as a trigger to start looping again will only play once and will not loop.

Shipping Adobe Flash controversy

Adobe provides Flash under a free, but somewhat restrictive license. Adobe's license clearly restricts any party besides Adobe from making Flash libraries available on the Internet, and may make it possible to distribute within an Intranet. Some, such as Bryan Berry, have speculated that providing Flash plug-ins as downloads in certain deployments would further the educational goals of the overall project.

Other voices suggest that providing more incentives, better tools, and more complete implementations for Flash developers may help them to embrace open formats. There is some undesirability of a long term dependence on a commercial entity for core functionality or core file formats.

Example videos

Playable in Gnash on the XO

Playable on the XO using neither Gnash nor Flash

Not playable in Gnash on the XO

Upgrading Gnash

Enabling and disabling Gnash

You can uninstall or reinstall Gnash as you would any package: from the Terminal Activity,

sudo yum remove gnash -y

or

sudo yum install gnash -y

After which you will want to reboot.

Links