What We've Accomplished

From Gnash Project Wiki

Jump to: navigation, search


ActionScript method/property implementation

The last part of July and August were spent implementing what we considered to be important ActionScript functionality. We spent some time surfing flash-rich websites and logging unimplemented features (this data can be found on the Website Compatibility page). The list of implemented features is below.


  • Camera (GStreamer only) -- see also CameraGST
    • Camera.get (partial)
    • Camera.setMode
    • Camera.setQuality (partial)
    • Camera.setLoopback (partial)
    • Camera.activityLevel (partial)
    • Camera.bandwidth (partial)
    • Camera.currentFPS
    • Camera.fps
    • Camera.height
    • Camera.index
    • Camera.motionLevel (partial)
    • Camera.motionTimeout (partial)
    • Camera.muted
    • Camera.name
    • Camera.names
    • Camera.quality (partial)
    • Camera.width


  • DefineFontAlignZoneTag:DEFINEFONT3 tagloader


  • LocalConnection
    • LocalConnection.connect
    • LocalConnection.send
  • LocalConnection Shared Memory (Lcshm)
    • Lcshm.connect


  • Microphone (GStreamer only) -- see also MicrophoneGST
    • Microphone.setMode
    • Microphone.get (partial)
    • Microphone.setGain
    • Microphone.setRate
    • Microphone.index
    • Microphone.muted (partial)
    • Microphone.name
    • Microphone.names
    • Microphone.rate
    • Microphone.silenceLevel (partial)
    • Microphone.setSilenceLevel (partial)
    • Microphone.setUseEchoSuppression (partial)
    • Microphone.useEchoSupression (partial)
    • Microphone.silenceTimeout (partial)


  • Stage.showMenu


  • System.security.allowDomain


  • TextField
    • TextField.changeTopVisibleLine
    • TextField.formatText
      • Correctly display multiline
      • Correctly scroll
      • Handle HTML tags in text
    • TextField.password
    • TextField.multiline
    • TextField.parseHTML
    • TextField.getMember
    • TextField RBGA parsing (hex color codes)
    • TextField.restrict
    • TextField.showCursor
    • TextField.cursorRecord
    • TextField.scrollLines
    • TextField.maxChars


  • TextFormat
    • TextFormat.url
    • TextFormat.target
    • TextField.bullet
    • TextField.display
    • TextField.tabStops

Test Cases

Prior to the Summerbash project, ming was the main utility used to create swf files. Unfortunately, ming does not support AS3. So to work towards better AS3 compatibility, several weeks were spent migrating existing test cases from ming to haXe (a swf creation utility that supports AS3). As we implemented more ActionScript features, the haXe and ming tests were also made more robust. In the short amount of time the interns spent developing for Gnash, about 6300 more test cases were added to make Gnash more robust and secure.

libcore Hierarchy migration

To better prepare Gnash for AS3 support, the interns spent some time moving previous libcore implementations of ActionScript classes to a hierarchy which better replicates the namespace changes from ActionScript2 to ActionScript3.

New Utilities

The following utilities were added to assist users in adding the correct webcam and microphone device selections to the gnashrc file.

  • find_webcams
  • find_microphones