[SCM] GNU Shockwave Flash (SWF) player branch, upstream, updated. upstream/0.8.10-1-g8642e06

Gabriele Giacone gg0-guest at alioth.debian.org
Sat Jun 30 01:32:14 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Shockwave Flash (SWF) player".

The branch, upstream has been updated
       via  8642e06630dfcb7775374b49fd9ea149bf8b269d (commit)
      from  d0802145192a0f3e8b34faa3db96d72b1b736a66 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 NEWS                                               |    7 +
 configure.ac                                       |   11 +-
 cygnal/cygnal.cpp                                  |   63 +-
 cygnal/libamf/element.cpp                          |    2 +-
 cygnal/libamf/lcshm.cpp                            |    4 +-
 cygnal/libnet/network.cpp                          |  265 +-
 cygnal/libnet/network.h                            |    7 +
 cygnal/testsuite/libnet.all/generate_amfbins.cpp   |   22 +-
 cygnal/testsuite/libnet.all/test_diskstream.cpp    |    4 +-
 cygnal/testsuite/libnet.all/test_http.cpp          |  242 +-
 cygnal/testsuite/libnet.all/test_rtmp.cpp          |   90 +-
 doc/C/Makefile.am                                  |   27 +-
 doc/C/gnash.man-xml                                |    4 +-
 doc/C/preformatted/gnash.1.in                      |    4 +-
 doc/C/preformatted/gnashuser.html.in               |    4 +-
 doc/C/usermanual/gnashrc.xml                       |    4 +-
 doc/changelogs/ChangeLog-0.8.9                     | 7514 ++++++++++++++++++++
 gui/Player.cpp                                     |   13 +-
 gui/Player.h                                       |    8 +-
 gui/fb/Makefile.am                                 |  130 -
 gui/fb/fb.cpp                                      |    2 +
 gui/gnash.cpp                                      |    2 +-
 gui/gtk/gtk.cpp                                    |   13 -
 gui/gtk/gtk_canvas.cpp                             |    2 +-
 libbase/GnashImage.cpp                             |   23 +-
 libbase/GnashSleep.h                               |    4 +-
 libbase/Makefile.am                                |    1 +
 libbase/Socket.cpp                                 |  178 +-
 libbase/Socket.h                                   |   10 +-
 libbase/URL.cpp                                    |   29 +-
 libbase/curl_adapter.cpp                           |    2 +-
 libbase/gnashrc.in                                 |    7 -
 libbase/jemalloc.c                                 |   28 +-
 libbase/rc.cpp                                     |    1 -
 libbase/rc.h                                       |    4 +-
 libcore/RunResources.h                             |   10 +-
 libcore/as_environment.h                           |    4 +-
 libcore/as_value.h                                 |    2 +-
 libcore/asobj/NetConnection_as.cpp                 |    2 +-
 libcore/movie_root.cpp                             |   40 +-
 libcore/swf/DefineButtonTag.h                      |    4 +-
 libcore/vm/VM.h                                    |    2 +-
 libdevice/events/InputDevice.h                     |    6 +-
 libdevice/rawfb/RawFBDevice.h                      |    2 +-
 libmedia/gst/MediaParserGst.cpp                    |    9 +-
 libmedia/gst/VideoInputGst.cpp                     |    2 +-
 macros/kde4.m4                                     |    2 +-
 macros/npapi.m4                                    |    2 +-
 macros/x11.m4                                      |   21 +-
 packaging/snapshot.am                              |    4 +-
 plugin/klash4/Makefile.am                          |    4 +-
 plugin/klash4/klash_part.cpp                       |    1 +
 plugin/npapi/GnashNPVariant.h                      |   13 +
 plugin/npapi/plugin.cpp                            |   21 +-
 revno.h                                            |    6 +-
 testsuite/libbase.all/URLTest.cpp                  |   18 +
 testsuite/misc-ming.all/XMLSocketTest.as           |    6 +-
 testsuite/misc-ming.all/XMLSocketTester.sh         |    2 +-
 testsuite/samples/Makefile.am                      |   12 +
 testsuite/samples/README                           |   12 +
 testsuite/samples/test_15bpp_bitmap-TestRunner.cpp |  141 +
 testsuite/samples/test_15bpp_bitmap.swf            |  Bin 0 -> 499 bytes
 utilities/soldumper.cpp                            |    2 +-
 63 files changed, 8485 insertions(+), 596 deletions(-)

diff --git a/NEWS b/NEWS
index eb416e2..1f2015e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+Gnash 0.8.11
+YYYY/MM/DD
+
+Improvements since 0.8.10 release are:
+
+ * Fix opening of external URL with Gnash Standalone (#31833)
+
 Gnash 0.8.10
 2012/02/04
 
diff --git a/configure.ac b/configure.ac
index 5f161e3..0f999be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ dnl  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 dnl  
 
 AC_PREREQ(2.59c)
-AC_INIT(gnash, 0.8.10)
+AC_INIT(gnash, 0.8.11dev)
 AC_CONFIG_SRCDIR([libcore/as_object.h])
 AC_CONFIG_HEADERS([gnashconfig.h])
 AC_CONFIG_MACRO_DIR([macros])
@@ -1135,6 +1135,10 @@ if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; t
   fi
 fi
 
+if test x"${build_fb_agg}" = xyes -a x"${build_rawfb_device}" = xno; then
+  AC_MSG_ERROR([Framebuffer GUI requires the rawfb device.])
+fi
+
 dnl libVA drivers. We declare conditional for both the option being
 dnl selected, as well as whether or not it's found. This we can
 dnl generate better error handling if it's not found.
@@ -1547,6 +1551,11 @@ AC_SEARCH_LIBS([mallinfo], [c malloc],
 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
 
+AC_SEARCH_LIBS([getaddrinfo], [c],
+               AC_DEFINE(HAVE_IPV6, [1], [Has IPV6 support])
+               ipv6=yes
+               )
+
 AC_ARG_ENABLE(fps-debug,
   AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
 [case "${enableval}" in
diff --git a/cygnal/cygnal.cpp b/cygnal/cygnal.cpp
index 67f265c..320e278 100644
--- a/cygnal/cygnal.cpp
+++ b/cygnal/cygnal.cpp
@@ -200,6 +200,7 @@ usage()
         << _("  -t,  --testing       Turn on special Gnash testing support") << endl
 	<< _("  -a,  --admin         Enable the administration thread") << endl
 	<< _("  -r,  --root          Document root for all files") << endl
+	<< _("  -m,  --machine       Hostname for this machine") << endl
 	<< endl;
 }
 
@@ -412,24 +413,29 @@ main(int argc, char *argv[])
     textdomain (PACKAGE);
 #endif
 
-   const Arg_parser::Option opts[] =
+    // This becomes the default hostname, which becomes
+    // 127.0.0.1 or ::1 for the localhost. The --machine
+    // otion can change this.
+    std::string hostname = "localhost.localdomain";
+    
+    const Arg_parser::Option opts[] =
         {
-        { 'h', "help",          Arg_parser::no  },
-        { 'V', "version",       Arg_parser::no  },
-        { 'p', "port-offset",   Arg_parser::yes },
-        { 'v', "verbose",       Arg_parser::no  },
-        { 'd', "dump",          Arg_parser::no  },
-        { 'n', "netdebug",      Arg_parser::no  },
-        { 't', "testing",       Arg_parser::no  },
-        { 'a', "admin",         Arg_parser::no  },
-        { 'r', "root",          Arg_parser::yes },
-        { 'o', "only-port",     Arg_parser::yes },
-        { 's', "singlethreaded", Arg_parser::no }
+            { 'h', "help",          Arg_parser::no  },
+            { 'V', "version",       Arg_parser::no  },
+            { 'p', "port-offset",   Arg_parser::yes },
+            { 'v', "verbose",       Arg_parser::no  },
+            { 'd', "dump",          Arg_parser::no  },
+            { 'n', "netdebug",      Arg_parser::no  },
+            { 't', "testing",       Arg_parser::no  },
+            { 'a', "admin",         Arg_parser::no  },
+            { 'r', "root",          Arg_parser::yes },
+            { 'o', "only-port",     Arg_parser::yes },
+            { 's', "singlethreaded", Arg_parser::no },
+            { 'm', "machine",       Arg_parser::yes }
         };
-
+    
     Arg_parser parser(argc, argv, opts);
-    if( ! parser.error().empty() )	
-    {
+    if( ! parser.error().empty() ) {
         cout << parser.error() << endl;
         exit(EXIT_FAILURE);
     }
@@ -451,9 +457,9 @@ main(int argc, char *argv[])
 	crcfile.setDocumentRoot(docroot);
     }
     if (crcfile.getPortOffset()) {
-      port_offset = crcfile.getPortOffset();
+        port_offset = crcfile.getPortOffset();
     }
-
+    
     // Handle command line arguments
     for( int i = 0; i < parser.arguments(); ++i ) {
 	const int code = parser.code(i);
@@ -496,6 +502,9 @@ main(int argc, char *argv[])
 	      crcfile.dump();
 	      exit(EXIT_SUCCESS);
 	      break;
+	  case 'm':
+	      hostname = parser.argument(i);
+	      break;
 	  default:
 	      log_error(_("Extraneous argument: %s"), parser.argument(i).c_str());
         }
@@ -508,9 +517,9 @@ main(int argc, char *argv[])
     // can use for distributed processing.
     cyg.loadPeersFile();
     cyg.probePeers();
-
+    
 //    cyg.dump();
-
+    
     // Trap ^C (SIGINT) so we can kill all the threads
     act1.sa_handler = cntrlc_handler;
     sigaction (SIGINT, &act1, NULL);
@@ -556,6 +565,7 @@ main(int argc, char *argv[])
 	http_data->filespec = docroot;
 	http_data->protocol = Network::HTTP;
 	http_data->port = port_offset + gnash::HTTP_PORT;
+        http_data->hostname = hostname;
 	if (crcfile.getThreadingFlag()) {
 	    boost::thread http_thread(boost::bind(&connection_handler, http_data));
 	} else {
@@ -573,6 +583,7 @@ main(int argc, char *argv[])
 	rtmp_data->filespec = docroot;
 	rtmp_data->protocol = Network::RTMP;
 	rtmp_data->port = port_offset + gnash::RTMP_PORT;
+        rtmp_data->hostname = hostname;
 	if (crcfile.getThreadingFlag()) {
 	    boost::thread rtmp_thread(boost::bind(&connection_handler, rtmp_data));
 	} else {
@@ -636,10 +647,14 @@ admin_handler(Network::thread_params_t *args)
     
     Network net;
     Handler::admin_cmd_e cmd = Handler::POLL;
-    net.createServer(args->port);
+    net.createServer(args->hostname, args->port);
     while (retries > 0) {
 	log_network(_("Starting Admin Handler for port %d"), args->port);
-	net.newConnection(true);
+
+	if (net.newConnection(true) <= 0) {
+            return;
+        }
+        
 	log_network(_("Got an incoming Admin request"));
 	sleep(1);
 	do {
@@ -760,7 +775,7 @@ connection_handler(Network::thread_params_t *args)
 	net.toggleDebug(true);
     }
     // Start a server on this tcp/ip port.
-    fd = net.createServer(args->port);
+    fd = net.createServer(args->hostname, args->port);
     if (fd <= 0) {
 	log_error(_("Can't start %s Connection Handler for fd #%d, port %hd"),
 		  proto_str[args->protocol], fd, args->port);
@@ -816,7 +831,7 @@ connection_handler(Network::thread_params_t *args)
 	if (args->netfd <= 0) {
 	    log_network(_("No new %s network connections"),
                         proto_str[args->protocol]);
-	    continue;
+	    return;
 	} else {
 	    log_network(_("*** New %s network connection for thread ID #%d, fd #%d ***"),
 			proto_str[args->protocol], tid, args->netfd);
@@ -842,7 +857,7 @@ connection_handler(Network::thread_params_t *args)
 	    if (pos != string::npos) {
 		hostname += http->getField("host").substr(0, pos);
 	    } else {
-		hostname += "localhost";
+		hostname += "localhost.localdomain";
 	    }
 	    path = http->getFilespec();
 	    string key = hostname + path;
diff --git a/cygnal/libamf/element.cpp b/cygnal/libamf/element.cpp
index 692161f..81d131d 100644
--- a/cygnal/libamf/element.cpp
+++ b/cygnal/libamf/element.cpp
@@ -481,7 +481,7 @@ Element::encode(bool notobject)
 	if (!notobject) {
 	    *buf = Element::OBJECT_AMF0;
 	}
-	if (_name > 0) {
+	if (_name > static_cast<char *>(0)) {
 	    size_t length = getNameSize();
 	    boost::uint16_t enclength = length;
 	    swapBytes(&enclength, 2);
diff --git a/cygnal/libamf/lcshm.cpp b/cygnal/libamf/lcshm.cpp
index 5fdb8db..70558d6 100644
--- a/cygnal/libamf/lcshm.cpp
+++ b/cygnal/libamf/lcshm.cpp
@@ -516,7 +516,7 @@ LcShm::connect(const string& names)
         return false;
     }
 
-    if (SharedMem::begin() <= 0) {
+    if (SharedMem::begin() <= static_cast<unsigned char *>(0)) {
         log_error(_("Failed to open shared memory segment: \"%s\""), names.c_str());
         return false; 
     }
@@ -557,7 +557,7 @@ LcShm::connect(key_t key)
         return false;
     }
 
-    if (SharedMem::begin() <= 0) {
+    if (SharedMem::begin() <= static_cast<unsigned char *>(0)) {
         log_error(_("Failed to open shared memory segment: 0x%x"), key);
         return false; 
     }
diff --git a/cygnal/libnet/network.cpp b/cygnal/libnet/network.cpp
index 12f08c8..aecb341 100644
--- a/cygnal/libnet/network.cpp
+++ b/cygnal/libnet/network.cpp
@@ -102,7 +102,7 @@ Network::Network()
 	_listenfd(0),
 	_port(0),
 	_connected(false),
-	_debug(false),
+	_debug(true),
 	_timeout(0)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -147,14 +147,18 @@ Network::createServer(void)
     return createServer(port);
 }
 
-// FIXME: Should also support IPv6 (AF_INET6)
 int
 Network::createServer(short port)
 {
 //    GNASH_REPORT_FUNCTION;
+    return createServer("localhost.localdomain", port);
+}
+
+int
+Network::createServer(std::string hostname, short port)
+{
+//    GNASH_REPORT_FUNCTION;
 
-    struct protoent *ppe;
-    struct sockaddr_in sock_in;
     int             on, type;
     int             retries = 0;
 
@@ -162,85 +166,103 @@ Network::createServer(short port)
 	log_debug(_("already connected to port %hd"), port);
 	return _listenfd;
     }
-    
-    const struct hostent *host = gethostbyname("localhost");
-    struct in_addr *thisaddr = reinterpret_cast<struct in_addr *>(host->h_addr_list[0]);
-    _ipaddr = thisaddr->s_addr;
-    memset(&sock_in, 0, sizeof(sock_in));
 
-#if 0
-    // Accept incoming connections only on our IP number
-    sock_in.sin_addr.s_addr = thisaddr->s_addr;
-#else
-    // Accept incoming connections on any IP number
-    sock_in.sin_addr.s_addr = INADDR_ANY;
-#endif
-
-    _ipaddr = sock_in.sin_addr.s_addr;
-    sock_in.sin_family = AF_INET;
-    sock_in.sin_port = htons(port);
-
-    if ((ppe = getprotobyname(DEFAULTPROTO)) == 0) {
-        log_error(_("unable to get protocol entry for %s"),
-                DEFAULTPROTO);
-        return -1;
+    int code = 0;
+    struct addrinfo req, *ans;
+    std::memset(&req, 0, sizeof(struct addrinfo));
+    // For wildcard IP address
+    req.ai_flags    = AI_PASSIVE;
+    req.ai_family   = AF_UNSPEC; // Allow IPv4 or IPv6
+    req.ai_socktype = SOCK_STREAM;
+    req.ai_protocol = 0;        // default is tcp
+
+    std::stringstream portstr;
+    portstr << port;
+    if ((code = getaddrinfo(hostname.c_str(), portstr.str().c_str(),
+                            &req, &ans)) != 0) {
+        log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
+                  code, gai_strerror(code));
+        freeaddrinfo(ans);          // free the response data
+        return false;
     }
 
-    // set protocol type
-    if ( strcmp(DEFAULTPROTO, "udp") == 0) {
-        type = SOCK_DGRAM;
-    } else {
-        type = SOCK_STREAM;
+    // display all the IP numbers
+    struct addrinfo *ot = ans;
+    while (ot) {
+        char clienthost   [NI_MAXHOST];
+        std::memset(&clienthost, 0, NI_MAXHOST);
+        char clientservice[NI_MAXSERV];
+        std::memset(&clientservice, 0, NI_MAXSERV);
+        getnameinfo(ot->ai_addr, ot->ai_addrlen,
+                    clienthost, sizeof(clienthost),
+                    clientservice, sizeof(clientservice),
+                    NI_NUMERICHOST);
+        
+        boost::shared_ptr<char> straddr = getIPString(ot);
+        
+        if (ot->ai_family == AF_INET6) {
+            log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
+        } else if (ot->ai_family == AF_INET) {
+            log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
+        } else {
+            log_error("%s has no IP address!", hostname);
+        }
+        
+        ot = ot->ai_next;
     }
 
-    // Get a file descriptor for this socket connection
-    _listenfd = socket(PF_INET, type, ppe->p_proto);
+    struct addrinfo *it = ans;
+    while (it) {
+        // Get a file descriptor for this socket connection
+        _listenfd = socket(it->ai_family, it->ai_socktype, it->ai_protocol);
+        
+        if (_listenfd < 0) {
+            log_debug("unable to create socket: %s"), strerror(errno);
+            // Try the next IP number
+            it = it->ai_next;
+        } else {
+            boost::shared_ptr<char> straddr = getIPString(it);
+            log_debug("Socket created for %s", straddr); 
+            break;
+        }
+    }
 
     // error, wasn't able to create a socket
-    if (_listenfd < 0) {
+    if (it == 0) {
         log_error(_("unable to create socket: %s"), strerror(errno));
         return -1;
     }
-
+    
     on = 1;
     if (setsockopt(_listenfd, SOL_SOCKET, SO_REUSEADDR,
                    (char *)&on, sizeof(on)) < 0) {
         log_error(_("setsockopt SO_REUSEADDR failed"));
+        freeaddrinfo(ans);          // free the response data
         return -1;
     }
-
+    
     retries = 0;
-
-//     in_addr_t       nodeaddr;
-//     nodeaddr = inet_lnaof(*thisaddr);
     while (retries < 5) {
-        if (bind(_listenfd, reinterpret_cast<struct sockaddr *>(&sock_in),
-                 sizeof(sock_in)) == -1) {
+        if (bind(_listenfd, it->ai_addr, it->ai_addrlen)) {
             log_error(_("unable to bind to port %hd: %s"),
                     port, strerror(errno));
 //                    inet_ntoa(sock_in.sin_addr), strerror(errno));
             retries++;
         }
-
-	if (_debug) {
-//		char  ascip[INET_ADDRSTRLEN];
-//		inet_ntop(sock_in.sin_family, &_ipaddr, ascip, INET_ADDRSTRLEN);
-		char *ascip = ::inet_ntoa(sock_in.sin_addr);
-		log_debug(_("Server bound to service on %s, port %hd, using fd #%d"),
-		    ascip, ntohs(sock_in.sin_port),
-		    _listenfd);
-	}
-
-        if (type == SOCK_STREAM && listen(_listenfd, 5) < 0) {
+        
+        if (listen(_listenfd, 5) < 0) {
             log_error(_("unable to listen on port: %hd: %s "),
                 port, strerror(errno));
-            return -1;
+            break;
         }
-
+        
 	// We have a socket created
         _port = port;
+        
         return _listenfd;
     }
+    
+    freeaddrinfo(ans);          // free the response data
     return -1;
 }
 
@@ -536,12 +558,10 @@ Network::createClient(const string &hostname, short port)
 {
 //    GNASH_REPORT_FUNCTION;
 
-    struct sockaddr_in  sock_in;
     fd_set              fdset;
     struct timeval      tval;
     int                 ret;
     int                 retries;
-    char                thishostname[MAXHOSTNAMELEN];
     struct protoent     *proto;
 
 //    assert( ! connected() );
@@ -552,39 +572,78 @@ Network::createClient(const string &hostname, short port)
     _port = port;    
     log_debug(_("%s: to host %s at port %d"), __FUNCTION__, hostname, port);
 
-    memset(&sock_in, 0, sizeof(struct sockaddr_in));
-    memset(&thishostname, 0, MAXHOSTNAMELEN);
-    if (hostname.size() == 0) {
-        if (gethostname(thishostname, MAXHOSTNAMELEN) == 0) {
-            log_debug(_("The hostname for this machine is %s"), thishostname);
+    int code = 0;
+    struct addrinfo req, *ans;
+    std::memset(&req, 0, sizeof(struct addrinfo));
+    req.ai_family = AF_UNSPEC;  // Allow IPv4 or IPv6
+    req.ai_socktype = SOCK_STREAM;
+    
+    if ((code = getaddrinfo(hostname.c_str(), 0, &req, &ans)) != 0) {
+        log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
+                  code, gai_strerror(code));
+        return false;
+    }
+    
+    // display all the IP numbers
+    struct addrinfo *ot = ans;
+    while (ot) {
+        // // We only want the SOCK_STREAM type
+        // if (ot->ai_socktype == SOCK_DGRAM) {
+        //     // log_debug("SockType is SOCK_DGRAM");
+        //     ot = ot->ai_next;
+        //     continue;
+        // }
+        char clienthost   [NI_MAXHOST];
+        std::memset(&clienthost, 0, NI_MAXHOST);
+        char clientservice[NI_MAXSERV];
+        std::memset(&clientservice, 0, NI_MAXSERV);
+        getnameinfo(ot->ai_addr, ot->ai_addrlen,
+                    clienthost, sizeof(clienthost),
+                    clientservice, sizeof(clientservice),
+                    NI_NUMERICHOST);
+        
+        boost::shared_ptr<char> straddr = getIPString(ot);
+        
+        if (ot->ai_family == AF_INET6) {
+            log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
+        } else if (ot->ai_family == AF_INET) {
+            log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
         } else {
-            log_debug(_("Couldn't get the hostname for this machine"));
-            return false;
+            log_error("%s has no IP address!", hostname);
         }
+        
+        ot = ot->ai_next;
     }
 
-    const struct hostent *hent = ::gethostbyname(hostname.c_str());
-    if (hent > 0) {
-        ::memcpy(&sock_in.sin_addr, hent->h_addr, hent->h_length);
-    }
-    sock_in.sin_family = AF_INET;
-    sock_in.sin_port = ntohs(static_cast<short>(port));
-
-#if 0
-    char ascip[INET_ADDRSTRLEN];
-    inet_ntop(sock_in.sin_family, &sock_in.sin_addr.s_addr, ascip, INET_ADDRSTRLEN);
-    log_debug(_("The IP address for this client socket is %s"), ascip);
-#endif
-
-    proto = ::getprotobyname("TCP");
-
-    _sockfd = ::socket(PF_INET, SOCK_STREAM, proto->p_proto);
-    if (_sockfd < 0) {
-        log_error(_("unable to create socket: %s"), strerror(errno));
-        _sockfd = -1;
-        return false;
+    // Multiple IPV$ and IPV6 numbers may be returned, so we try them all if
+    // required
+    struct addrinfo *it = ans;
+    while (it) {
+        _sockfd = ::socket(it->ai_family, it->ai_socktype, it->ai_protocol);
+        if (_sockfd < 0) {
+            const int err = errno;
+            log_error(_("Socket creation failed: %s"), std::strerror(err));
+            _sockfd = 0;
+            // Try the next IP number
+            it = it->ai_next;
+        } else {
+            break;
+        }
     }
-
+    
+    // cache the data we need later
+    struct sockaddr_in6 *addr6 = reinterpret_cast<struct sockaddr_in6 *>(it->ai_addr);
+    // When NULL is passed to getaddrinfo(), the port isn't set in
+    // the returned data, so we do it here.
+    addr6->sin6_port = htons(port);
+    // This is used for ::connect()
+    struct sockaddr *saddr = it->ai_addr;
+
+    const int addrlen = it->ai_addrlen;
+    boost::shared_ptr<char> straddr = getIPString(it);
+
+    freeaddrinfo(ans);          // free the response data
+    
     retries = 2;
     while (retries-- > 0) {
         // We use select to wait for the read file descriptor to be
@@ -632,16 +691,11 @@ Network::createClient(const string &hostname, short port)
         }
 
         if (ret > 0) {
-            ret = ::connect(_sockfd, 
-                    reinterpret_cast<struct sockaddr *>(&sock_in),
-                    sizeof(sock_in));
+            ret = ::connect(_sockfd, saddr, addrlen);
 
             if (ret == 0) {
-                char *ascip = ::inet_ntoa(sock_in.sin_addr);
-        // 		char ascip[INET_ADDRSTRLEN];
-        // 		inet_ntop(sock_in.sin_family, &sock_in.sin_addr.s_addr, ascip, INET_ADDRSTRLEN);
                 log_debug(_("\tport %d at IP %s for fd %d"), port,
-                        ascip, _sockfd);
+                          straddr, _sockfd);
                 _connected = true;
                 assert(_sockfd > 0);
                 return true;
@@ -661,11 +715,8 @@ Network::createClient(const string &hostname, short port)
             }
         }
     }
-    //  ::close(_sockfd);
-    //  return false;
-
-    printf("\tConnected at port %d on IP %s for fd #%d", port,
-           ::inet_ntoa(sock_in.sin_addr), _sockfd);
+    // printf("\tConnected at port %d on IP %s for fd #%d", port,
+    //        ::inet_ntoa(sock_in.sin_addr), _sockfd);
 
 #ifndef HAVE_WINSOCK_H
     fcntl(_sockfd, F_SETFL, O_NONBLOCK);
@@ -674,6 +725,7 @@ Network::createClient(const string &hostname, short port)
     _connected = true;
     _port = port;
     assert(_sockfd > 0);
+
     return true;
 }
 
@@ -1622,6 +1674,29 @@ Network::sniffBytesReady(int fd)
     return bytes;
 }
 
+// Return the string representation of the IPV4 or IPV6 number
+boost::shared_ptr<char>
+Network::getIPString(struct addrinfo *ai)
+{
+    boost::shared_ptr<char> straddr(new char[INET6_ADDRSTRLEN]);
+    std::memset(straddr.get(), 0, INET6_ADDRSTRLEN);    
+    if (ai->ai_family == AF_INET6) {
+        struct sockaddr_in6 *sock6 = reinterpret_cast<struct sockaddr_in6 *>(ai->ai_addr);
+        struct in6_addr sin6_addr = sock6->sin6_addr;
+        ::inet_ntop(AF_INET6, &sin6_addr, straddr.get(), INET6_ADDRSTRLEN);
+//        log_debug("IPV6 address: %s", straddr.get());
+    } else if (ai->ai_family == AF_INET) {
+        struct sockaddr_in *sock = reinterpret_cast<struct sockaddr_in *>(ai->ai_addr);
+        struct in_addr sin_addr = sock->sin_addr;
+        ::inet_ntop(AF_INET, &sin_addr, straddr.get(), INET_ADDRSTRLEN);
+//        log_debug("IPV4 address: %s", straddr);
+    } else {
+        log_error(_("no IP address in addrinfo!"));
+    }
+    
+    return straddr;
+}
+
 // Trap Control-C so we can cleanly exit
 static void
 cntrlc_handler (int sig)
diff --git a/cygnal/libnet/network.h b/cygnal/libnet/network.h
index 659b4fc..1e0ecc8 100644
--- a/cygnal/libnet/network.h
+++ b/cygnal/libnet/network.h
@@ -28,6 +28,8 @@
 # include <netinet/in.h>
 # include <arpa/inet.h>
 # include <sys/select.h>
+# include <sys/socket.h>
+# include <netdb.h>
 #ifdef HAVE_POLL_H
 # include <poll.h>
 #else 
@@ -140,6 +142,7 @@ public:
 	void *handler;
 	cygnal::Buffer *buffer;
 	std::string filespec;
+        std::string hostname;
 	protocols_supported_e protocol;
     } thread_params_t;
     typedef boost::uint8_t byte_t;
@@ -158,6 +161,7 @@ public:
     /// @return The file descritor to wait for connections on.
     int createServer(void);
     int createServer(short port);
+    int createServer(std::string hostname, short port);
     
     /// \brief Accept a client connection for the current server.
     ///
@@ -328,6 +332,9 @@ public:
     size_t sniffBytesReady(int fd);
     
  protected:
+    // Return the string representation of the IPV4 or IPV6 number
+    boost::shared_ptr<char> getIPString(struct addrinfo *ai);
+
     in_addr_t   _ipaddr;
     int         _sockfd;	// the file descriptor used for reading and writing
     int         _listenfd;	// the file descriptor used to listen for new connections
diff --git a/cygnal/testsuite/libnet.all/generate_amfbins.cpp b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
index 7f87d3b..6c07818 100644
--- a/cygnal/testsuite/libnet.all/generate_amfbins.cpp
+++ b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
@@ -44,9 +44,9 @@
 #include "amf.h"
 #include "element.h"
 
-using amf::AMF;
-using amf::Element;
-using amf::Buffer;
+using cygnal::AMF;
+using cygnal::Element;
+using cygnal::Buffer;
 using namespace gnash;
 using namespace std;
 
@@ -178,46 +178,46 @@ main(int argc, char *argv[])
     string str = "Guten Tag";
 
     Element elnum1(dub);
-    boost::shared_ptr<Buffer> bnum1 = amf::AMF::encodeElement(elnum1);
+    boost::shared_ptr<Buffer> bnum1 = cygnal::AMF::encodeElement(elnum1);
     int fd = ::open("amf0-number.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bnum1->reference(), bnum1->allocated()); ::close(fd);
 
     flag = true;
     Element elbool1(flag);
-    boost::shared_ptr<Buffer> bbool1 = amf::AMF::encodeElement(elbool1);
+    boost::shared_ptr<Buffer> bbool1 = cygnal::AMF::encodeElement(elbool1);
     fd = ::open("amf0-boolean.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bbool1->reference(), bbool1->allocated()); ::close(fd);
     
     Element elstr1(str);
-    boost::shared_ptr<Buffer> bstr1 = amf::AMF::encodeElement(elstr1);
+    boost::shared_ptr<Buffer> bstr1 = cygnal::AMF::encodeElement(elstr1);
     fd = ::open("amf0-string.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bstr1->reference(), bstr1->allocated()); ::close(fd);
 
     Element el3;
     el3.clear();
     el3.makeNull();
-    boost::shared_ptr<Buffer> bel3 = amf::AMF::encodeElement(el3);
+    boost::shared_ptr<Buffer> bel3 = cygnal::AMF::encodeElement(el3);
     fd = ::open("amf0-null-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel3->reference(), bel3->allocated()); ::close(fd);
 
 
     Element el4;
     el4.makeUndefined();
-    boost::shared_ptr<Buffer> bel4 = amf::AMF::encodeElement(el4);
+    boost::shared_ptr<Buffer> bel4 = cygnal::AMF::encodeElement(el4);
     fd = ::open("amf0-undefined-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel4->reference(), bel4->allocated()); ::close(fd);
 
     Element el6;
     el6.clear();
     el6.makeNullString();
-    boost::shared_ptr<Buffer> bel6 = amf::AMF::encodeElement(el6);
+    boost::shared_ptr<Buffer> bel6 = cygnal::AMF::encodeElement(el6);
     fd = ::open("amf0-null-string.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel6->reference(), bel6->allocated()); ::close(fd);    
 
     Element el15;
     el15.clear();
     el15.makeUnsupported();
-    boost::shared_ptr<Buffer> bel15 = amf::AMF::encodeElement(el15);
+    boost::shared_ptr<Buffer> bel15 = cygnal::AMF::encodeElement(el15);
     fd = ::open("amf0-unsupported-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel15->reference(), bel15->allocated()); ::close(fd);
 
@@ -265,7 +265,7 @@ main(int argc, char *argv[])
     rel1.makeBoolean(true);
     rel1.makeNumber(num);
     if ((rel1.getType() == Element::NUMBER_AMF0) &&
-        (rel1.getDataSize() == amf::AMF0_NUMBER_SIZE) &&
+        (rel1.getDataSize() == cygnal::AMF0_NUMBER_SIZE) &&
         (rel1.to_number() == num)) {
         runtest.pass("Remade boolean as a double element");
     } else {
diff --git a/cygnal/testsuite/libnet.all/test_diskstream.cpp b/cygnal/testsuite/libnet.all/test_diskstream.cpp
index 06effa7..9f7ae89 100644
--- a/cygnal/testsuite/libnet.all/test_diskstream.cpp
+++ b/cygnal/testsuite/libnet.all/test_diskstream.cpp
@@ -43,7 +43,7 @@
 #include "buffer.h"
 #include "diskstream.h"
 
-using namespace amf;
+using namespace cygnal;
 using namespace gnash;
 using namespace std;
 
@@ -203,7 +203,7 @@ test()
 void
 test_mem()
 {
-    boost::shared_ptr<amf::Buffer> buf1(new amf::Buffer(12));
+    boost::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer(12));
     *buf1 = "Hello World";
     // drop the null terminator byte we inherit when using a simnple
     // string for testing
diff --git a/cygnal/testsuite/libnet.all/test_http.cpp b/cygnal/testsuite/libnet.all/test_http.cpp
index c0833ce..b6a7d29 100644
--- a/cygnal/testsuite/libnet.all/test_http.cpp
+++ b/cygnal/testsuite/libnet.all/test_http.cpp
@@ -52,7 +52,7 @@ extern int optind, getopt(int, char *const *, const char *);
 #include "GnashNumeric.h"
 
 using namespace gnash;
-using namespace amf;
+using namespace cygnal;
 using namespace std;
 
 static void usage (void);
@@ -583,10 +583,10 @@ test_post()
 
     HTTP http;
 
-    boost::shared_ptr<amf::Buffer> encstr = AMF::encodeString("Hello World!");
-    boost::shared_ptr<amf::Buffer> encnum = AMF::encodeNumber(1.2345);
+    boost::shared_ptr<cygnal::Buffer> encstr = AMF::encodeString("Hello World!");
+    boost::shared_ptr<cygnal::Buffer> encnum = AMF::encodeNumber(1.2345);
 
-    amf::Buffer ptr1;
+    cygnal::Buffer ptr1;
     ptr1 = "POST /echo/gateway HTTP/1.1\r\n";
     ptr1 += "User-Agent: Opera/9.62 (X11; Linux i686; U; en) Presto/2.1.1\r\n";
     ptr1 += "Host: localhost:4080\r\n";
@@ -605,7 +605,7 @@ test_post()
     // Check the Server field
     AMF amf;
     boost::uint8_t *data1 = http.processHeaderFields(&ptr1);
-    boost::shared_ptr<amf::Element> el1 = amf.extractAMF(data1, data1 + 15);
+    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(data1, data1 + 15);
     string str1 = el1->to_string();
 
     if ((http.getField("host") == "localhost:4080")
@@ -616,7 +616,7 @@ test_post()
         runtest.fail("HTTP::processHeaderFields(POST) + STRING");
     }
 
-    amf::Buffer ptr2;
+    cygnal::Buffer ptr2;
     ptr2 += "POST /echo/gateway HTTP/1.1\r\n";
     ptr2 += "User-Agent: Opera/9.62.(X11;.Linux.i686;.U;.en) Presto/2.1.1\r\n";
     ptr2 += "Host: localhost:5080\r\n";
@@ -634,7 +634,7 @@ test_post()
     ptr2.resize();              // shrink the buffer to be the exact size of the data
 
     boost::uint8_t *data2 = http.processHeaderFields(&ptr2);
-    boost::shared_ptr<amf::Element> el2 = amf.extractAMF(data2, data2 + 15);
+    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(data2, data2 + 15);
     if ((http.getField("host") == "localhost:5080")
         && (el2->to_number() == 1.2345)
         && (http.getField("content-length") == "9")) {
@@ -670,7 +670,7 @@ test_post()
     boost::shared_ptr<Buffer> hex1(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 14 0a 00 00 00 01 02 00 0c 48 65 6c 6c 6f 20 77 6f 72 6c 64 21"));
     boost::shared_ptr<Buffer> hex2(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 0c 48 65 6c 6c 6f 20 77 6f 72 6c 64 21"));
 //    http.clearFields();
-    vector<boost::shared_ptr<amf::Element> > headers = http.parseEchoRequest(*hex1);
+    vector<boost::shared_ptr<cygnal::Element> > headers = http.parseEchoRequest(*hex1);
 
     if ((strncmp(headers[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers[1]->getName(), "/2", 2) == 0)
@@ -680,7 +680,7 @@ test_post()
         runtest.fail("HTTP::parseEchoRequest()");
     }
 
-    amf::Buffer &buff = http.formatEchoResponse(headers[1]->getName(), *headers[3]);
+    cygnal::Buffer &buff = http.formatEchoResponse(headers[1]->getName(), *headers[3]);
     string head(reinterpret_cast<const char *>(buff.reference()));
     const char *ptr3 = reinterpret_cast<const char *>(hex2->reference());
     const char *ptr4 = reinterpret_cast<const char *>(buff.reference()) + head.size();
@@ -706,7 +706,7 @@ test_rtmpt (void)
 
     // Boolean True request
     boost::shared_ptr<Buffer> hex_req1(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 07 0a 00 00 00 01 01 01"));
-    vector<boost::shared_ptr<amf::Element> > headers1 = http.parseEchoRequest(*hex_req1);
+    vector<boost::shared_ptr<cygnal::Element> > headers1 = http.parseEchoRequest(*hex_req1);
     if ((strncmp(headers1[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers1[1]->getName(), "/1", 2) == 0)
         && (headers1[3]->getType() == Element::BOOLEAN_AMF0)
@@ -719,7 +719,7 @@ test_rtmpt (void)
     
     // Boolean True response
     boost::shared_ptr<Buffer> hex_res1(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 01 01"));
-    amf::Buffer &buf1 = http.formatEchoResponse(headers1[1]->getName(), *headers1[3]);
+    cygnal::Buffer &buf1 = http.formatEchoResponse(headers1[1]->getName(), *headers1[3]);
     string head1(reinterpret_cast<const char *>(buf1.reference()));
     const char *ptr1a = reinterpret_cast<const char *>(hex_res1->reference());
     const char *ptr1b = reinterpret_cast<const char *>(buf1.reference()) + head1.size();
@@ -732,7 +732,7 @@ test_rtmpt (void)
 
     // Boolean false request
     boost::shared_ptr<Buffer> hex_req2(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 07 0a 00 00 00 01 01 00"));
-    vector<boost::shared_ptr<amf::Element> > headers2 = http.parseEchoRequest(*hex_req2);
+    vector<boost::shared_ptr<cygnal::Element> > headers2 = http.parseEchoRequest(*hex_req2);
     if ((strncmp(headers2[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers2[1]->getName(), "/2", 2) == 0)
         && (headers2[3]->getType() == Element::BOOLEAN_AMF0)
@@ -743,7 +743,7 @@ test_rtmpt (void)
     }
     // Boolean False response
     boost::shared_ptr<Buffer> hex_res2(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 01 00"));
-    amf::Buffer &buf2 = http.formatEchoResponse(headers2[1]->getName(), *headers2[3]);
+    cygnal::Buffer &buf2 = http.formatEchoResponse(headers2[1]->getName(), *headers2[3]);
     string head2(reinterpret_cast<const char *>(buf2.reference()));
     const char *ptr2a = reinterpret_cast<const char *>(hex_res2->reference());
     const char *ptr2b = reinterpret_cast<const char *>(buf2.reference()) + head2.size();
@@ -755,7 +755,7 @@ test_rtmpt (void)
 
     // NULL Object request
     boost::shared_ptr<Buffer> hex_req3(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 06 0a 00 00 00 01 05"));
-    vector<boost::shared_ptr<amf::Element> > headers3 = http.parseEchoRequest(*hex_req3);
+    vector<boost::shared_ptr<cygnal::Element> > headers3 = http.parseEchoRequest(*hex_req3);
     if ((strncmp(headers3[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers3[1]->getName(), "/1", 2) == 0)
         && (headers3[3]->getType() == Element::NULL_AMF0)) {
@@ -765,7 +765,7 @@ test_rtmpt (void)
     }
     // NULL Object response
     boost::shared_ptr<Buffer> hex_res3(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 05"));
-    amf::Buffer &buf3 = http.formatEchoResponse(headers3[1]->getName(), *headers3[3]);
+    cygnal::Buffer &buf3 = http.formatEchoResponse(headers3[1]->getName(), *headers3[3]);
     string head3(reinterpret_cast<const char *>(buf3.reference()));
     const char *ptr3a = reinterpret_cast<const char *>(hex_res3->reference());
     const char *ptr3b = reinterpret_cast<const char *>(buf3.reference()) + head3.size();
@@ -777,7 +777,7 @@ test_rtmpt (void)
 
     // UNDEFINED Object request
     boost::shared_ptr<Buffer> hex_req4(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 06 0a 00 00 00 01 06"));
-    vector<boost::shared_ptr<amf::Element> > headers4 = http.parseEchoRequest(*hex_req4);
+    vector<boost::shared_ptr<cygnal::Element> > headers4 = http.parseEchoRequest(*hex_req4);
     if ((strncmp(headers4[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers4[1]->getName(), "/1", 2) == 0)
         && (headers4[3]->getType() == Element::UNDEFINED_AMF0)) {
@@ -787,7 +787,7 @@ test_rtmpt (void)
     }
     // UNDEFINED Object response
     boost::shared_ptr<Buffer> hex_res4(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 05"));
-    amf::Buffer &buf4 = http.formatEchoResponse(headers4[1]->getName(), *headers4[3]);
+    cygnal::Buffer &buf4 = http.formatEchoResponse(headers4[1]->getName(), *headers4[3]);
     string head4(reinterpret_cast<const char *>(buf4.reference()));
     const char *ptr4a = reinterpret_cast<const char *>(hex_res4->reference());
     const char *ptr4b = reinterpret_cast<const char *>(buf4.reference()) + head4.size();
@@ -799,7 +799,7 @@ test_rtmpt (void)
 
     // Date Object request
     boost::shared_ptr<Buffer> hex_req5(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 10 0a 00 00 00 01 0b 42 71 e4 ca 4e 32 d0 00 01 a4"));
-    vector<boost::shared_ptr<amf::Element> > headers5 = http.parseEchoRequest(*hex_req5);
+    vector<boost::shared_ptr<cygnal::Element> > headers5 = http.parseEchoRequest(*hex_req5);
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Object)");
     } else {
@@ -820,7 +820,7 @@ test_rtmpt (void)
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::formatEchoResponse(DATE Object)");
     } else {
-        amf::Buffer &buf5 = http.formatEchoResponse(headers5[1]->getName(), *headers5[3]);
+        cygnal::Buffer &buf5 = http.formatEchoResponse(headers5[1]->getName(), *headers5[3]);
         string head5(reinterpret_cast<const char *>(buf5.reference()));
         const char *ptr5a = reinterpret_cast<const char *>(hex_res5->reference()+30);
         const char *ptr5b = reinterpret_cast<const char *>(buf5.reference() + 124);
@@ -833,7 +833,7 @@ test_rtmpt (void)
 
     // Date Array request
     boost::shared_ptr<Buffer> hex_req6(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 18 0a 00 00 00 01 0a 00 00 00 02 0b 42 71 e4 ca 4e 32 d0 00 01 a4 07 00 01"));
-    vector<boost::shared_ptr<amf::Element> > headers6 = http.parseEchoRequest(*hex_req6);
+    vector<boost::shared_ptr<cygnal::Element> > headers6 = http.parseEchoRequest(*hex_req6);
     if (headers6[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Array)");
     } else {
@@ -850,7 +850,7 @@ test_rtmpt (void)
     
     // Undefined Array request
     boost::shared_ptr<Buffer> hex_req7(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 0a 0a 00 00 00 01 0a 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers7 = http.parseEchoRequest(*hex_req7);
+    vector<boost::shared_ptr<cygnal::Element> > headers7 = http.parseEchoRequest(*hex_req7);
     if ((strncmp(headers7[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers7[1]->getName(), "/1", 2) == 0)
         && (headers7[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -860,7 +860,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res7(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 00"));
-    amf::Buffer &buf7 = http.formatEchoResponse(headers7[1]->getName(), *headers7[3]);
+    cygnal::Buffer &buf7 = http.formatEchoResponse(headers7[1]->getName(), *headers7[3]);
 
     //    cerr << hexify(hex_res7->reference(), hex_res7->allocated(), false) << endl;
     string head7(reinterpret_cast<const char *>(buf7.reference()));
@@ -876,12 +876,12 @@ test_rtmpt (void)
     // Number 1
     // Array request
     boost::shared_ptr<Buffer> hex_req8(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 13 0a 00 00 00 01 0a 00 00 00 01 00 3f f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers8 = http.parseEchoRequest(*hex_req8);
+    vector<boost::shared_ptr<cygnal::Element> > headers8 = http.parseEchoRequest(*hex_req8);
     if (headers8[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Simple Strict Array of Numbers, 1 item)");
     } else {
         if (headers8[3]->propertySize() > 0) {
-            std::vector<boost::shared_ptr<amf::Element> > props8 = headers8[3]->getProperties();
+            std::vector<boost::shared_ptr<cygnal::Element> > props8 = headers8[3]->getProperties();
             if ((strncmp(headers8[0]->getName(), "echo", 4) == 0)
                 && (strncmp(headers8[1]->getName(), "/2", 2) == 0)
                 && (headers8[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -898,7 +898,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res8(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 01 00 3f f0 00 00 00 00 00 00"));
-    amf::Buffer &buf8 = http.formatEchoResponse(headers8[1]->getName(), *headers8[3]);
+    cygnal::Buffer &buf8 = http.formatEchoResponse(headers8[1]->getName(), *headers8[3]);
     //    cerr << hexify(hex_res8->reference()+30, amf::AMF0_NUMBER_SIZE, false) << endl;
     //    cerr << hexify(buf8.reference() + 124, amf::AMF0_NUMBER_SIZE, false) << endl;
     string head8(reinterpret_cast<const char *>(buf8.reference()));
@@ -913,7 +913,7 @@ test_rtmpt (void)
     // Number 1,2
     // Array request
     boost::shared_ptr<Buffer> hex_req9(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 33 00 00 00 1c 0a 00 00 00 01 0a 00 00 00 02 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers9 = http.parseEchoRequest(*hex_req9);
+    vector<boost::shared_ptr<cygnal::Element> > headers9 = http.parseEchoRequest(*hex_req9);
     if ((strncmp(headers9[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers9[1]->getName(), "/3", 2) == 0)
         && (headers9[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -924,7 +924,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res9(new Buffer("00 00 00 00 00 01 00 0b 2f 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    amf::Buffer &buf9 = http.formatEchoResponse(headers9[1]->getName(), *headers9[3]);
+    cygnal::Buffer &buf9 = http.formatEchoResponse(headers9[1]->getName(), *headers9[3]);
     string head9(reinterpret_cast<const char *>(buf9.reference()));
     const char *ptr9a = reinterpret_cast<const char *>(hex_res9->reference());
     const char *ptr9b = reinterpret_cast<const char *>(buf9.reference()) + head9.size();
@@ -937,7 +937,7 @@ test_rtmpt (void)
     // Number 1,2,3
     // Array request
     boost::shared_ptr<Buffer> hex_req10(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 34 00 00 00 25 0a 00 00 00 01 0a 00 00 00 03 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 40 08 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers10 = http.parseEchoRequest(*hex_req10);
+    vector<boost::shared_ptr<cygnal::Element> > headers10 = http.parseEchoRequest(*hex_req10);
     if ((strncmp(headers10[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers10[1]->getName(), "/4", 2) == 0)
         && (headers10[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -948,7 +948,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res10(new Buffer("00 00 00 00 00 01 00 0b 2f 34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 03 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 40 08 00 00 00 00 00 00"));
-    amf::Buffer &buf10 = http.formatEchoResponse(headers10[1]->getName(), *headers10[3]);
+    cygnal::Buffer &buf10 = http.formatEchoResponse(headers10[1]->getName(), *headers10[3]);
     string head10(reinterpret_cast<const char *>(buf10.reference()));
     const char *ptr10a = reinterpret_cast<const char *>(hex_res10->reference());
     const char *ptr10b = reinterpret_cast<const char *>(buf10.reference()) + head10.size();
@@ -960,7 +960,7 @@ test_rtmpt (void)
 
     // Number 0 Request
     boost::shared_ptr<Buffer> hex_req11(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers11 = http.parseEchoRequest(*hex_req11);
+    vector<boost::shared_ptr<cygnal::Element> > headers11 = http.parseEchoRequest(*hex_req11);
     if ((strncmp(headers11[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers11[1]->getName(), "/1", 2) == 0)
         && (headers11[3]->getType() == Element::NUMBER_AMF0)
@@ -971,7 +971,7 @@ test_rtmpt (void)
     }
     // Number 0 Response
     boost::shared_ptr<Buffer> hex_res11(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 00 00 00 00 00 00 00 00"));
-    amf::Buffer &buf11 = http.formatEchoResponse(headers11[1]->getName(), *headers11[3]);
+    cygnal::Buffer &buf11 = http.formatEchoResponse(headers11[1]->getName(), *headers11[3]);
     string head11(reinterpret_cast<const char *>(buf11.reference()));
     const char *ptr11a = reinterpret_cast<const char *>(hex_res11->reference());
     const char *ptr11b = reinterpret_cast<const char *>(buf11.reference()) + head11.size();
@@ -983,7 +983,7 @@ test_rtmpt (void)
 
     // Number 1 Request
     boost::shared_ptr<Buffer> hex_req12(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 0e 0a 00 00 00 01 00 3f f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers12 = http.parseEchoRequest(*hex_req12);
+    vector<boost::shared_ptr<cygnal::Element> > headers12 = http.parseEchoRequest(*hex_req12);
     if ((strncmp(headers12[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers12[1]->getName(), "/2", 2) == 0)
         && (headers12[3]->getType() == Element::NUMBER_AMF0)
@@ -994,7 +994,7 @@ test_rtmpt (void)
     }
     // Number 1 Response
     boost::shared_ptr<Buffer> hex_res12(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 3f f0 00 00 00 00 00 00"));
-    amf::Buffer &buf12 = http.formatEchoResponse(headers12[1]->getName(), *headers12[3]);
+    cygnal::Buffer &buf12 = http.formatEchoResponse(headers12[1]->getName(), *headers12[3]);
     string head12(reinterpret_cast<const char *>(buf12.reference()));
     const char *ptr12a = reinterpret_cast<const char *>(hex_res12->reference());
     const char *ptr12b = reinterpret_cast<const char *>(buf12.reference()) + head12.size();
@@ -1006,7 +1006,7 @@ test_rtmpt (void)
 
     // Number -1 Request
     boost::shared_ptr<Buffer> hex_req13(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 33 00 00 00 0e 0a 00 00 00 01 00 bf f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers13 = http.parseEchoRequest(*hex_req13);
+    vector<boost::shared_ptr<cygnal::Element> > headers13 = http.parseEchoRequest(*hex_req13);
     if ((strncmp(headers13[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers13[1]->getName(), "/3", 2) == 0)
         && (headers13[3]->getType() == Element::NUMBER_AMF0)
@@ -1017,7 +1017,7 @@ test_rtmpt (void)
     }
     // Number -1 Response
     boost::shared_ptr<Buffer> hex_res13(new Buffer("00 00 00 00 00 01 00 0b 2f 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 bf f0 00 00 00 00 00 00"));
-    amf::Buffer &buf13 = http.formatEchoResponse(headers13[1]->getName(), *headers13[3]);
+    cygnal::Buffer &buf13 = http.formatEchoResponse(headers13[1]->getName(), *headers13[3]);
     string head13(reinterpret_cast<const char *>(buf13.reference()));
     const char *ptr13a = reinterpret_cast<const char *>(hex_res13->reference());
     const char *ptr13b = reinterpret_cast<const char *>(buf13.reference()) + head13.size();
@@ -1029,7 +1029,7 @@ test_rtmpt (void)
 
     // Number 256 Request
     boost::shared_ptr<Buffer> hex_req14(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 34 00 00 00 0e 0a 00 00 00 01 00 40 70 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers14 = http.parseEchoRequest(*hex_req14);
+    vector<boost::shared_ptr<cygnal::Element> > headers14 = http.parseEchoRequest(*hex_req14);
     if ((strncmp(headers14[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers14[1]->getName(), "/4", 2) == 0)
         && (headers14[3]->getType() == Element::NUMBER_AMF0)
@@ -1040,7 +1040,7 @@ test_rtmpt (void)
     }
     // Number 256 Response
     boost::shared_ptr<Buffer> hex_res14(new Buffer("00 00 00 00 00 01 00 0b 2f 34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 40 70 00 00 00 00 00 00"));
-    amf::Buffer &buf14 = http.formatEchoResponse(headers14[1]->getName(), *headers14[3]);
+    cygnal::Buffer &buf14 = http.formatEchoResponse(headers14[1]->getName(), *headers14[3]);
     string head14(reinterpret_cast<const char *>(buf14.reference()));
     const char *ptr14a = reinterpret_cast<const char *>(hex_res14->reference());
     const char *ptr14b = reinterpret_cast<const char *>(buf14.reference()) + head14.size();
@@ -1052,7 +1052,7 @@ test_rtmpt (void)
 
     // Number -256 Request
     boost::shared_ptr<Buffer> hex_req15(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 35 00 00 00 0e 0a 00 00 00 01 00 c0 70 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers15 = http.parseEchoRequest(*hex_req15);
+    vector<boost::shared_ptr<cygnal::Element> > headers15 = http.parseEchoRequest(*hex_req15);
     if ((strncmp(headers15[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers15[1]->getName(), "/5", 2) == 0)
         && (headers15[3]->getType() == Element::NUMBER_AMF0)
@@ -1063,7 +1063,7 @@ test_rtmpt (void)
     }
     // Number -256 Response
     boost::shared_ptr<Buffer> hex_res15(new Buffer("00 00 00 00 00 01 00 0b 2f 35 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 c0 70 00 00 00 00 00 00"));
-    amf::Buffer &buf15 = http.formatEchoResponse(headers15[1]->getName(), *headers15[3]);
+    cygnal::Buffer &buf15 = http.formatEchoResponse(headers15[1]->getName(), *headers15[3]);
     string head15(reinterpret_cast<const char *>(buf15.reference()));
     const char *ptr15a = reinterpret_cast<const char *>(hex_res15->reference());
     const char *ptr15b = reinterpret_cast<const char *>(buf15.reference()) + head15.size();
@@ -1075,7 +1075,7 @@ test_rtmpt (void)
 
     // Number 65536 Request
     boost::shared_ptr<Buffer> hex_req16(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 36 00 00 00 0e 0a 00 00 00 01 00 40 f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers16 = http.parseEchoRequest(*hex_req16);
+    vector<boost::shared_ptr<cygnal::Element> > headers16 = http.parseEchoRequest(*hex_req16);
     if ((strncmp(headers16[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers16[1]->getName(), "/6", 2) == 0)
         && (headers16[3]->getType() == Element::NUMBER_AMF0)
@@ -1086,7 +1086,7 @@ test_rtmpt (void)
     }
     // Number 65536 Response
     boost::shared_ptr<Buffer> hex_res16(new Buffer("00 00 00 00 00 01 00 0b 2f 36 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 40 f0 00 00 00 00 00 00"));
-    amf::Buffer &buf16 = http.formatEchoResponse(headers16[1]->getName(), *headers16[3]);
+    cygnal::Buffer &buf16 = http.formatEchoResponse(headers16[1]->getName(), *headers16[3]);
     string head16(reinterpret_cast<const char *>(buf16.reference()));
     const char *ptr16a = reinterpret_cast<const char *>(hex_res16->reference());
     const char *ptr16b = reinterpret_cast<const char *>(buf16.reference()) + head16.size();
@@ -1098,7 +1098,7 @@ test_rtmpt (void)
 
     // Number -655536 Request
     boost::shared_ptr<Buffer> hex_req16x(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 37 00 00 00 0e 0a 00 00 00 01 00 c0 f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers16x = http.parseEchoRequest(*hex_req16x);
+    vector<boost::shared_ptr<cygnal::Element> > headers16x = http.parseEchoRequest(*hex_req16x);
     if ((strncmp(headers16x[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers16x[1]->getName(), "/7", 2) == 0)
         && (headers16x[3]->getType() == Element::NUMBER_AMF0)
@@ -1109,7 +1109,7 @@ test_rtmpt (void)
     }
     // Number -655536 Response
     boost::shared_ptr<Buffer> hex_res17(new Buffer("00 00 00 00 00 01 00 0b 2f 37 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 c0 f0 00 00 00 00 00 00"));
-    amf::Buffer &buf17 = http.formatEchoResponse(headers16x[1]->getName(), *headers16x[3]);
+    cygnal::Buffer &buf17 = http.formatEchoResponse(headers16x[1]->getName(), *headers16x[3]);
     string head17(reinterpret_cast<const char *>(buf17.reference()));
     const char *ptr17a = reinterpret_cast<const char *>(hex_res17->reference());
     const char *ptr17b = reinterpret_cast<const char *>(buf17.reference()) + head17.size();
@@ -1121,7 +1121,7 @@ test_rtmpt (void)
 
     // Number 0 Request
     boost::shared_ptr<Buffer> hex_req18(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 38 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers18 = http.parseEchoRequest(*hex_req18);
+    vector<boost::shared_ptr<cygnal::Element> > headers18 = http.parseEchoRequest(*hex_req18);
     if ((strncmp(headers18[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers18[1]->getName(), "/8", 2) == 0)
         && (headers18[3]->getType() == Element::NUMBER_AMF0)
@@ -1132,7 +1132,7 @@ test_rtmpt (void)
     }
     // Number 0 Response
     boost::shared_ptr<Buffer> hex_res18(new Buffer("00 00 00 00 00 01 00 0b 2f 38 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 00 00 00 00 00 00 00 00"));
-    amf::Buffer &buf18 = http.formatEchoResponse(headers18[1]->getName(), *headers18[3]);
+    cygnal::Buffer &buf18 = http.formatEchoResponse(headers18[1]->getName(), *headers18[3]);
     string head18(reinterpret_cast<const char *>(buf18.reference()));
     const char *ptr18a = reinterpret_cast<const char *>(hex_res18->reference());
     const char *ptr18b = reinterpret_cast<const char *>(buf18.reference()) + head18.size();
@@ -1144,7 +1144,7 @@ test_rtmpt (void)
 
     // Number 1.5 Request
     boost::shared_ptr<Buffer> hex_req19(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 39 00 00 00 0e 0a 00 00 00 01 00 3f f8 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers19 = http.parseEchoRequest(*hex_req19);
+    vector<boost::shared_ptr<cygnal::Element> > headers19 = http.parseEchoRequest(*hex_req19);
     if ((strncmp(headers19[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers19[1]->getName(), "/9", 2) == 0)
         && (headers19[3]->getType() == Element::NUMBER_AMF0)
@@ -1155,7 +1155,7 @@ test_rtmpt (void)
     }
     // Number 1.5 Response
     boost::shared_ptr<Buffer> hex_res19(new Buffer("00 00 00 00 00 01 00 0b 2f 39 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 3f f8 00 00 00 00 00 00"));
-    amf::Buffer &buf19 = http.formatEchoResponse(headers19[1]->getName(), *headers19[3]);
+    cygnal::Buffer &buf19 = http.formatEchoResponse(headers19[1]->getName(), *headers19[3]);
     string head19(reinterpret_cast<const char *>(buf19.reference()));
     const char *ptr19a = reinterpret_cast<const char *>(hex_res19->reference());
     const char *ptr19b = reinterpret_cast<const char *>(buf19.reference()) + head19.size();
@@ -1167,7 +1167,7 @@ test_rtmpt (void)
 
     // Number -1.5 Request
     boost::shared_ptr<Buffer> hex_req20(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 03 2f 31 30 00 00 00 0e 0a 00 00 00 01 00 bf f8 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers20 = http.parseEchoRequest(*hex_req20);
+    vector<boost::shared_ptr<cygnal::Element> > headers20 = http.parseEchoRequest(*hex_req20);
     if ((strncmp(headers20[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers20[1]->getName(), "/10", 2) == 0)
         && (headers20[3]->getType() == Element::NUMBER_AMF0)
@@ -1178,7 +1178,7 @@ test_rtmpt (void)
     }
     // Number -1.5 Response
     boost::shared_ptr<Buffer> hex_res20(new Buffer("00 00 00 00 00 01 00 0c 2f 31 30 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 bf f8 00 00 00 00 00 00"));
-    amf::Buffer &buf20 = http.formatEchoResponse(headers20[1]->getName(), *headers20[3]);
+    cygnal::Buffer &buf20 = http.formatEchoResponse(headers20[1]->getName(), *headers20[3]);
     string head20(reinterpret_cast<const char *>(buf20.reference()));
     const char *ptr20a = reinterpret_cast<const char *>(hex_res20->reference());
     const char *ptr20b = reinterpret_cast<const char *>(buf20.reference()) + head20.size();
@@ -1190,7 +1190,7 @@ test_rtmpt (void)
 
     // Number NaN Request
     boost::shared_ptr<Buffer> hex_req21(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 03 2f 31 31 00 00 00 0e 0a 00 00 00 01 00 ff f8 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers21 = http.parseEchoRequest(*hex_req21);
+    vector<boost::shared_ptr<cygnal::Element> > headers21 = http.parseEchoRequest(*hex_req21);
     if ((strncmp(headers21[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers21[1]->getName(), "/11", 2) == 0)
         && (headers21[3]->getType() == Element::NUMBER_AMF0)
@@ -1201,7 +1201,7 @@ test_rtmpt (void)
     }
     // Number NaN Response
     boost::shared_ptr<Buffer> hex_res21(new Buffer("00 00 00 00 00 01 00 0c 2f 31 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 ff f8 00 00 00 00 00 00"));
-    amf::Buffer &buf21 = http.formatEchoResponse(headers21[1]->getName(), *headers21[3]);
+    cygnal::Buffer &buf21 = http.formatEchoResponse(headers21[1]->getName(), *headers21[3]);
     string head21(reinterpret_cast<const char *>(buf21.reference()));
     const char *ptr21a = reinterpret_cast<const char *>(hex_res21->reference());
     const char *ptr21b = reinterpret_cast<const char *>(buf21.reference()) + head21.size();
@@ -1216,7 +1216,7 @@ test_rtmpt (void)
 
     // Number Infinity Request
     boost::shared_ptr<Buffer> hex_req22x(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 03 2f 31 34 00 00 00 0e 0a 00 00 00 01 00 7f ef ff ff ff ff ff ff"));
-    vector<boost::shared_ptr<amf::Element> > headers22x = http.parseEchoRequest(*hex_req22x);
+    vector<boost::shared_ptr<cygnal::Element> > headers22x = http.parseEchoRequest(*hex_req22x);
     if ((strncmp(headers22x[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers22x[1]->getName(), "/14", 2) == 0)
         && (headers22x[3]->getType() == Element::NUMBER_AMF0)
@@ -1228,7 +1228,7 @@ test_rtmpt (void)
     // Number Infinity Response
     boost::shared_ptr<Buffer> hex_res23(new Buffer("00 00 00 00 00 01 00 0c 2f 31 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 7f f0 00 00 00 00 00 00"));
 #if 0
-    amf::Buffer &buf23 = http.formatEchoResponse(headers22x[1]->getName(), *headers22x[3]);
+    cygnal::Buffer &buf23 = http.formatEchoResponse(headers22x[1]->getName(), *headers22x[3]);
     string head23(reinterpret_cast<const char *>(buf23.reference()));
     const char *ptr23a = reinterpret_cast<const char *>(hex_res23->reference());
     const char *ptr23b = reinterpret_cast<const char *>(buf23.reference()) + head23.size();
@@ -1252,9 +1252,9 @@ test_rtmpt (void)
     // Number 1,2,1,2
     // Array request
     boost::shared_ptr<Buffer> hex_req26(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 35 00 00 00 33 0a 00 00 00 01 0a 00 00 00 03 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 0a 00 00 00 02 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers26 = http.parseEchoRequest(*hex_req26);
-    std::vector<boost::shared_ptr<amf::Element> > props26 = headers26[3]->getProperties();
-    std::vector<boost::shared_ptr<amf::Element> > props26a = props26[2]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers26 = http.parseEchoRequest(*hex_req26);
+    std::vector<boost::shared_ptr<cygnal::Element> > props26 = headers26[3]->getProperties();
+    std::vector<boost::shared_ptr<cygnal::Element> > props26a = props26[2]->getProperties();
     if ((strncmp(headers26[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers26[1]->getName(), "/5", 2) == 0)
         && (headers26[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1270,7 +1270,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res26(new Buffer("00 00 00 00 00 01 00 0b 2f 35 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 03 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 0a 00 00 00 02 00 3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    amf::Buffer &buf26 = http.formatEchoResponse(headers26[1]->getName(), *headers26[3]);
+    cygnal::Buffer &buf26 = http.formatEchoResponse(headers26[1]->getName(), *headers26[3]);
     string head26(reinterpret_cast<const char *>(buf26.reference()));
     //    cerr << hexify(hex_res26->reference()+30, amf::AMF0_NUMBER_SIZE, false) << endl;
     const char *ptr26a = reinterpret_cast<const char *>(hex_res26->reference());
@@ -1285,8 +1285,8 @@ test_rtmpt (void)
     // Number 1,,,,,,,100
     // Array request
     boost::shared_ptr<Buffer> hex_req27(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 36 00 00 00 7f 0a 00 00 00 01 0a 00 00 00 65 00 3f f0 00 00 00 00 00 00 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 00 40 59 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers27 = http.parseEchoRequest(*hex_req27);
-    std::vector<boost::shared_ptr<amf::Element> > props27 = headers27[3]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers27 = http.parseEchoRequest(*hex_req27);
+    std::vector<boost::shared_ptr<cygnal::Element> > props27 = headers27[3]->getProperties();
     if ((strncmp(headers27[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers27[1]->getName(), "/6", 2) == 0)
         && (headers27[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1303,7 +1303,7 @@ test_rtmpt (void)
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res27(new Buffer("00 00 00 00 00 01 00 0b 2f 36 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 08 00 00 00 66 00 01 30 00 3f f0 00 00 00 00 00 00 00 03 31 30 30 00 40 59 00 00 00 00 00 00 00 06 6c 65 6e 67 74 68 00 40 59 80 00 00 00 00 00 00 00 09"));
 #if 0
-    amf::Buffer &buf27 = http.formatEchoResponse(headers27[1]->getName(), *headers27[3]);
+    cygnal::Buffer &buf27 = http.formatEchoResponse(headers27[1]->getName(), *headers27[3]);
     string head27(reinterpret_cast<const char *>(buf27.reference()));
     cerr << hexify(hex_res27->reference()+29, hex_res27->allocated()-29 , false) << endl;
     cerr << hexify(buf27.reference() + 123, buf27.allocated()-123, false) << endl;
@@ -1319,8 +1319,8 @@ test_rtmpt (void)
 #if 0
     // Array request
     boost::shared_ptr<Buffer> hex_req28(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 37 00 00 00 38 0a 00 00 00 01 08 00 00 00 01 00 06 6c 65 6e 67 74 68 00 3f f0 00 00 00 00 00 00 00 01 30 00 3f f0 00 00 00 00 00 00 00 03 6f 6e 65 00 3f f0 00 00 00 00 00 00 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers28 = http.parseEchoRequest(*hex_req28);
-    std::vector<boost::shared_ptr<amf::Element> > props28 = headers28[3]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers28 = http.parseEchoRequest(*hex_req28);
+    std::vector<boost::shared_ptr<cygnal::Element> > props28 = headers28[3]->getProperties();
     if ((strncmp(headers28[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers28[1]->getName(), "/7", 2) == 0)
         && (headers28[3]->getType() == Element::ECMA_ARRAY_AMF0)
@@ -1338,7 +1338,7 @@ test_rtmpt (void)
     
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res28(new Buffer("00 00 00 00 00 01 00 0b 2f 37 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 08 00 00 00 01 00 03 6f 6e 65 00 3f f0 00 00 00 00 00 00 00 01 30 00 3f f0 00 00 00 00 00 00 00 06 6c 65 6e 67 74 68 00 3f f0 00 00 00 00 00 00 00 00 09"));
-    amf::Buffer &buf28 = http.formatEchoResponse(headers28[1]->getName(), *headers28[3]);
+    cygnal::Buffer &buf28 = http.formatEchoResponse(headers28[1]->getName(), *headers28[3]);
 //     cerr << hexify(hex_res28->reference()+30, hex_res28->allocated()-30, false) << endl;
 //     cerr << hexify(buf28.reference() + 124, buf28.allocated() - 124, false) << endl;
     string head28(reinterpret_cast<const char *>(buf28.reference()));
@@ -1353,7 +1353,7 @@ test_rtmpt (void)
 
     // NULL String request, ie.. no data
     boost::shared_ptr<Buffer> hex_req29(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 08 0a 00 00 00 01 02 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers29 = http.parseEchoRequest(*hex_req29);
+    vector<boost::shared_ptr<cygnal::Element> > headers29 = http.parseEchoRequest(*hex_req29);
     if ((strncmp(headers29[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers29[1]->getName(), "/1", 2) == 0)
         && (headers29[3]->getType() == Element::STRING_AMF0)
@@ -1365,7 +1365,7 @@ test_rtmpt (void)
     // NULL String response
     boost::shared_ptr<Buffer> hex_res29(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 00"));
 #if 0                           // FIXME: why does this core dump ?
-    amf::Buffer &buf29 = http.formatEchoResponse(headers29[1]->getName(), *headers29[3]);
+    cygnal::Buffer &buf29 = http.formatEchoResponse(headers29[1]->getName(), *headers29[3]);
     string head29(reinterpret_cast<const char *>(buf29.reference()));
     const char *ptr29a = reinterpret_cast<const char *>(hex_res29->reference());
     const char *ptr29b = reinterpret_cast<const char *>(buf29.reference()) + head29.size();
@@ -1379,7 +1379,7 @@ test_rtmpt (void)
     // String request
     // "Hello world!"
     boost::shared_ptr<Buffer> hex_req30(new Buffer(" 00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 14 0a 00 00 00 01 02 00 0c 48 65 6c 6c 6f 20 77 6f 72 6c 64 21"));
-    vector<boost::shared_ptr<amf::Element> > headers30 = http.parseEchoRequest(*hex_req30);
+    vector<boost::shared_ptr<cygnal::Element> > headers30 = http.parseEchoRequest(*hex_req30);
     if ((strncmp(headers30[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers30[1]->getName(), "/2", 2) == 0)
         && (headers30[3]->getType() == Element::STRING_AMF0)
@@ -1390,7 +1390,7 @@ test_rtmpt (void)
     }
     // String response
     boost::shared_ptr<Buffer> hex_res30(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 0c 48 65 6c 6c 6f 20 77 6f 72 6c 64 21"));
-    amf::Buffer &buf30 = http.formatEchoResponse(headers30[1]->getName(), *headers30[3]);
+    cygnal::Buffer &buf30 = http.formatEchoResponse(headers30[1]->getName(), *headers30[3]);
     string head30(reinterpret_cast<const char *>(buf30.reference()));
     const char *ptr30a = reinterpret_cast<const char *>(hex_res30->reference());
     const char *ptr30b = reinterpret_cast<const char *>(buf30.reference()) + head30.size();
@@ -1403,12 +1403,12 @@ test_rtmpt (void)
     // Array of Strings request
     // test1,test2,test3,test4
     boost::shared_ptr<Buffer> hex_req31(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 33 00 00 00 2a 0a 00 00 00 01 0a 00 00 00 04 02 00 05 74 65 73 74 31 02 00 05 74 65 73 74 32 02 00 05 74 65 73 74 33 02 00 05 74 65 73 74 34"));
-    vector<boost::shared_ptr<amf::Element> > headers31 = http.parseEchoRequest(*hex_req31);
+    vector<boost::shared_ptr<cygnal::Element> > headers31 = http.parseEchoRequest(*hex_req31);
     if (headers31.size() == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Simple String Array)");
     } else {
 
-        std::vector<boost::shared_ptr<amf::Element> > props31 = headers31[3]->getProperties();
+        std::vector<boost::shared_ptr<cygnal::Element> > props31 = headers31[3]->getProperties();
         if ((strncmp(headers31[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers31[1]->getName(), "/3", 2) == 0)
             && (headers31[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1425,7 +1425,7 @@ test_rtmpt (void)
     
     // Array of Strings response
     boost::shared_ptr<Buffer> hex_res31(new Buffer("00 00 00 00 00 01 00 0b 2f 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 04 02 00 05 74 65 73 74 31 02 00 05 74 65 73 74 32 02 00 05 74 65 73 74 33 02 00 05 74 65 73 74 34"));
-    amf::Buffer &buf31 = http.formatEchoResponse(headers31[1]->getName(), *headers31[3]);
+    cygnal::Buffer &buf31 = http.formatEchoResponse(headers31[1]->getName(), *headers31[3]);
     string head31(reinterpret_cast<const char *>(buf31.reference()));
     const char *ptr31a = reinterpret_cast<const char *>(hex_res31->reference());
     const char *ptr31b = reinterpret_cast<const char *>(buf31.reference()) + head31.size();
@@ -1438,11 +1438,11 @@ test_rtmpt (void)
     // Custom class Request
     // [object EchoClass]                    [object.Object]
     boost::shared_ptr<Buffer> hex_req40(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 26 0a 00 00 00 01 03 00 05 61 74 74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers40 = http.parseEchoRequest(*hex_req40);
+    vector<boost::shared_ptr<cygnal::Element> > headers40 = http.parseEchoRequest(*hex_req40);
     if (headers40[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object CustomClass)");
     } else {
-        std::vector<boost::shared_ptr<amf::Element> > props40 = headers40[3]->getProperties();
+        std::vector<boost::shared_ptr<cygnal::Element> > props40 = headers40[3]->getProperties();
         if ((strncmp(headers40[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers40[1]->getName(), "/1", 2) == 0)
             && (headers40[3]->getType() == Element::OBJECT_AMF0)
@@ -1456,7 +1456,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res40(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 03 00 05 61 74 74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 09"));
-    amf::Buffer &buf40 = http.formatEchoResponse(headers40[1]->getName(), *headers40[3]);
+    cygnal::Buffer &buf40 = http.formatEchoResponse(headers40[1]->getName(), *headers40[3]);
 
     string head40(reinterpret_cast<const char *>(buf40.reference()));
     const char *ptr40a = reinterpret_cast<const char *>(hex_res40->reference());
@@ -1469,7 +1469,7 @@ test_rtmpt (void)
     
     // [object EchoClass],[object EchoClass] [object.Object],[object.Object]
     boost::shared_ptr<Buffer> hex_req41(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 2e 0a 00 00 00 01 0a 00 00 00 02 03 00 05 61 74 74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 09 07 00 01"));
-    vector<boost::shared_ptr<amf::Element> > headers41 = http.parseEchoRequest(*hex_req41);
+    vector<boost::shared_ptr<cygnal::Element> > headers41 = http.parseEchoRequest(*hex_req41);
     if (headers41[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object CustomClass Array)");
     } else {
@@ -1481,7 +1481,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res41(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 03 00 05 61 74 74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 09 07 00 01"));
-    amf::Buffer &buf41 = http.formatEchoResponse(headers41[1]->getName(), *headers41[3]);
+    cygnal::Buffer &buf41 = http.formatEchoResponse(headers41[1]->getName(), *headers41[3]);
     string head41(reinterpret_cast<const char *>(buf41.reference()));
     const char *ptr41a = reinterpret_cast<const char *>(hex_res41->reference());
     const char *ptr41b = reinterpret_cast<const char *>(buf41.reference()) + head41.size();
@@ -1494,7 +1494,7 @@ test_rtmpt (void)
     // Remote Class
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req42(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 31 00 00 00 59 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers42 = http.parseEchoRequest(*hex_req42);
+    vector<boost::shared_ptr<cygnal::Element> > headers42 = http.parseEchoRequest(*hex_req42);
     if (headers42[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Remote Class)");
     } else {    
@@ -1509,7 +1509,7 @@ test_rtmpt (void)
     }
 
     boost::shared_ptr<Buffer> hex_res42(new Buffer("00 00 00 00 00 01 00 0b 2f 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 00 00 00 09"));
-    amf::Buffer &buf42 = http.formatEchoResponse(headers42[1]->getName(), *headers42[3]);
+    cygnal::Buffer &buf42 = http.formatEchoResponse(headers42[1]->getName(), *headers42[3]);
     string head42(reinterpret_cast<const char *>(buf42.reference()));
     const char *ptr42a = reinterpret_cast<const char *>(hex_res42->reference());
     const char *ptr42b = reinterpret_cast<const char *>(buf42.reference()) + head42.size();
@@ -1523,13 +1523,13 @@ test_rtmpt (void)
     // org.red5.server.webapp.echo.RemoteClass
     // [object RemoteClass],[object RemoteClass] [object RemoteClass],[object RemoteClass]
     boost::shared_ptr<Buffer> hex_req43(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 32 00 00 00 b2 0a 00 00 00 01 0a 00 00 00 02 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 3f f0 00 00 00 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 00 09 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 74 77 6f 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers43 = http.parseEchoRequest(*hex_req43);
+    vector<boost::shared_ptr<cygnal::Element> > headers43 = http.parseEchoRequest(*hex_req43);
     if (headers43[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array, 2 items)");
     } else {
-	std::vector<boost::shared_ptr<amf::Element> > props43 = headers43[3]->getProperties();
-	std::vector<boost::shared_ptr<amf::Element> > props43a = props43[0]->getProperties();
-	std::vector<boost::shared_ptr<amf::Element> > props43b = props43[1]->getProperties();
+	std::vector<boost::shared_ptr<cygnal::Element> > props43 = headers43[3]->getProperties();
+	std::vector<boost::shared_ptr<cygnal::Element> > props43a = props43[0]->getProperties();
+	std::vector<boost::shared_ptr<cygnal::Element> > props43b = props43[1]->getProperties();
         if ((strncmp(headers43[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers43[1]->getName(), "/2", 2) == 0)
             && (headers43[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1552,9 +1552,9 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res43(new Buffer("00 00 00 00 00 01 00 0b 2f 32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 3f f0 00 00 00 00 00 00 00 00 09 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 74 77 6f 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 00 00 00 09"));
-    amf::Buffer &buf43 = http.formatEchoResponse(headers43[1]->getName(), *headers43[3]);
-    std::vector<boost::shared_ptr<amf::Element> > props43 = headers43[3]->getProperties();
-    //    std::vector<boost::shared_ptr<amf::Element> > props43a = props43[0]->getProperties();
+    cygnal::Buffer &buf43 = http.formatEchoResponse(headers43[1]->getName(), *headers43[3]);
+    std::vector<boost::shared_ptr<cygnal::Element> > props43 = headers43[3]->getProperties();
+    //    std::vector<boost::shared_ptr<cygnal::Element> > props43a = props43[0]->getProperties();
 //     cerr << hexify(hex_res43->reference()+29, hex_res43->allocated()-29 , false) << endl;
 //     cerr << hexify(buf43.reference(), buf43.allocated(), true) << endl;
 //     cerr << hexify(buf43.reference() + 124, buf43.allocated()-124, false) << endl;
@@ -1571,7 +1571,7 @@ test_rtmpt (void)
     
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req44(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 33 00 00 00 5b 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 41 d2 65 80 b4 80 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 05 74 68 72 65 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers44 = http.parseEchoRequest(*hex_req44);
+    vector<boost::shared_ptr<cygnal::Element> > headers44 = http.parseEchoRequest(*hex_req44);
     if (headers44[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array)");
     } else {
@@ -1584,7 +1584,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res44(new Buffer("00 00 00 00 00 01 00 0b 2f 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 05 74 68 72 65 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 41 d2 65 80 b4 80 00 00 00 00 09"));
-    amf::Buffer &buf44 = http.formatEchoResponse(headers44[1]->getName(), *headers44[3]);
+    cygnal::Buffer &buf44 = http.formatEchoResponse(headers44[1]->getName(), *headers44[3]);
     string head44(reinterpret_cast<const char *>(buf44.reference()));
     const char *ptr44a = reinterpret_cast<const char *>(hex_res44->reference());
     const char *ptr44b = reinterpret_cast<const char *>(buf44.reference()) + head44.size();
@@ -1597,11 +1597,11 @@ test_rtmpt (void)
 #if 0
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req45(new Buffer("00 00 00 00 00 01 00 04 65 63 68 6f 00 02 2f 34 00 00 00 5a 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 42 71 3f 8f 4d 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 04 66 6f 75 72 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers45 = http.parseEchoRequest(*hex_req45);
+    vector<boost::shared_ptr<cygnal::Element> > headers45 = http.parseEchoRequest(*hex_req45);
     if (headers45[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array)");
     } else {
-	std::vector<boost::shared_ptr<amf::Element> > props45 = headers45[3]->getProperties();
+	std::vector<boost::shared_ptr<cygnal::Element> > props45 = headers45[3]->getProperties();
         if (props45.size() == 2) {
             if ((strncmp(headers45[0]->getName(), "echo", 4) == 0)
                 && (strncmp(headers45[1]->getName(), "/4", 2) == 0)
@@ -1623,7 +1623,7 @@ test_rtmpt (void)
     }
     
     boost::shared_ptr<Buffer> hex_res45(new Buffer("00 00 00 00 00 01 00 0b 2f 34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 04 66 6f 75 72 00 0a 61 74 74 72 69 62 75 74 65 32 00 c1 9c 2c c0 00 00 00 00 00 00 09"));
-    amf::Buffer &buf45 = http.formatEchoResponse(headers45[1]->getName(), *headers45[3]);
+    cygnal::Buffer &buf45 = http.formatEchoResponse(headers45[1]->getName(), *headers45[3]);
     string head45(reinterpret_cast<const char *>(buf45.reference()));
     const char *ptr45a = reinterpret_cast<const char *>(hex_res45->reference());
     const char *ptr45b = reinterpret_cast<const char *>(buf45.reference()) + head45.size();
@@ -1648,7 +1648,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req1->reference(), hex_req1->allocated(), false) << endl;
     hex_req1->corrupt(6);
 //    cerr << hexify(hex_req1->reference(), hex_req1->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt1 = http.parseEchoRequest(*hex_req1);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt1 = http.parseEchoRequest(*hex_req1);    
     if (corrupt1.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Boolean TRUE)");
     } else {
@@ -1658,7 +1658,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req2->reference(), hex_req2->allocated(), false) << endl;
     hex_req2->corrupt(4);
 //    cerr << hexify(hex_req2->reference(), hex_req2->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt2 = http.parseEchoRequest(*hex_req2);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt2 = http.parseEchoRequest(*hex_req2);    
     if (corrupt2.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Boolean FALSE)");
     } else {
@@ -1668,7 +1668,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req3->reference(), hex_req3->allocated(), false) << endl;
     hex_req3->corrupt(3);
 //    cerr << hexify(hex_req3->reference(), hex_req3->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt3 = http.parseEchoRequest(*hex_req3);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt3 = http.parseEchoRequest(*hex_req3);    
     if (corrupt3.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(NULL Object)");
     } else {
@@ -1678,7 +1678,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req4->reference(), hex_req4->allocated(), false) << endl;
     hex_req4->corrupt(7);
 //    cerr << hexify(hex_req4->reference(), hex_req4->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt4 = http.parseEchoRequest(*hex_req4);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt4 = http.parseEchoRequest(*hex_req4);    
     if (corrupt4.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(UNDEFINED Object)");
     } else {
@@ -1688,7 +1688,7 @@ test_rtmpt (void)
     cerr << hexify(hex_req5->reference(), hex_req5->allocated(), false) << endl;
     hex_req5->corrupt(5);
     cerr << hexify(hex_req5->reference(), hex_req5->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt5 = http.parseEchoRequest(*hex_req5);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt5 = http.parseEchoRequest(*hex_req5);    
     if (corrupt5.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(DATE Object)");
     } else {
@@ -1698,7 +1698,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req6->reference(), hex_req6->allocated(), false) << endl;
     hex_req6->corrupt(7);
 //    cerr << hexify(hex_req6->reference(), hex_req6->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt6 = http.parseEchoRequest(*hex_req6);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt6 = http.parseEchoRequest(*hex_req6);    
     if (corrupt6.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(DATE Array)");
     } else {
@@ -1708,7 +1708,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req7->reference(), hex_req7->allocated(), false) << endl;
     hex_req7->corrupt(5);
 //    cerr << hexify(hex_req7->reference(), hex_req7->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt7 = http.parseEchoRequest(*hex_req7);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt7 = http.parseEchoRequest(*hex_req7);    
     if (corrupt7.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Undefined Strict Array)");
     } else {
@@ -1718,7 +1718,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req8->reference(), hex_req8->allocated(), false) << endl;
     hex_req8->corrupt(2);
 //    cerr << hexify(hex_req8->reference(), hex_req8->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt8 = http.parseEchoRequest(*hex_req8);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt8 = http.parseEchoRequest(*hex_req8);    
     if (corrupt8.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of Numbers. 1 item)");
     } else {
@@ -1728,7 +1728,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req9->reference(), hex_req9->allocated(), false) << endl;
     hex_req9->corrupt(3);
 //    cerr << hexify(hex_req9->reference(), hex_req9->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt9 = http.parseEchoRequest(*hex_req9);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt9 = http.parseEchoRequest(*hex_req9);    
     if (corrupt9.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of Numbers. 2 items)");
     } else {
@@ -1738,7 +1738,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req10->reference(), hex_req10->allocated(), false) << endl;
     hex_req10->corrupt(2);
 //    cerr << hexify(hex_req10->reference(), hex_req10->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt10 = http.parseEchoRequest(*hex_req10);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt10 = http.parseEchoRequest(*hex_req10);    
     if (corrupt10.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of Numbers. 3 items)");
     } else {
@@ -1748,7 +1748,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req11->reference(), hex_req11->allocated(), false) << endl;
     hex_req11->corrupt(2);
 //    cerr << hexify(hex_req11->reference(), hex_req11->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt11 = http.parseEchoRequest(*hex_req11);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt11 = http.parseEchoRequest(*hex_req11);
     if (corrupt11.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 0)");
     } else {
@@ -1758,7 +1758,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req12->reference(), hex_req12->allocated(), false) << endl;
     hex_req12->corrupt(4);
 //    cerr << hexify(hex_req12->reference(), hex_req12->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt12 = http.parseEchoRequest(*hex_req12);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt12 = http.parseEchoRequest(*hex_req12);
     if (corrupt12.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 1)");
     } else {
@@ -1768,7 +1768,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req13->reference(), hex_req13->allocated(), false) << endl;
     hex_req13->corrupt(1);
 //    cerr << hexify(hex_req13->reference(), hex_req13->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt13 = http.parseEchoRequest(*hex_req13);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt13 = http.parseEchoRequest(*hex_req13);
     if (corrupt13.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -1)");
     } else {
@@ -1778,7 +1778,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req14->reference(), hex_req14->allocated(), false) << endl;
     hex_req14->corrupt(5);
 //    cerr << hexify(hex_req14->reference(), hex_req14->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt14 = http.parseEchoRequest(*hex_req14);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt14 = http.parseEchoRequest(*hex_req14);
     if (corrupt14.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 256)");
     } else {
@@ -1788,7 +1788,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req15->reference(), hex_req15->allocated(), false) << endl;
     hex_req15->corrupt(5);
 //    cerr << hexify(hex_req15->reference(), hex_req15->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt15 = http.parseEchoRequest(*hex_req15);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt15 = http.parseEchoRequest(*hex_req15);
     if (corrupt15.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -256)");
     } else {
@@ -1798,7 +1798,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req16->reference(), hex_req16->allocated(), false) << endl;
     hex_req16->corrupt(2);
 //    cerr << hexify(hex_req16->reference(), hex_req16->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt16 = http.parseEchoRequest(*hex_req16);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt16 = http.parseEchoRequest(*hex_req16);
     if (corrupt16.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 65536)");
     } else {
@@ -1808,7 +1808,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req17->reference(), hex_req17->allocated(), false) << endl;
     hex_req16x->corrupt(6);
 //    cerr << hexify(hex_req17->reference(), hex_req17->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt17 = http.parseEchoRequest(*hex_req16x);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt17 = http.parseEchoRequest(*hex_req16x);
     if (corrupt17.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -65536)");
     } else {
@@ -1818,7 +1818,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req19->reference(), hex_req19->allocated(), false) << endl;
     hex_req19->corrupt(1);
 //    cerr << hexify(hex_req19->reference(), hex_req19->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt19 = http.parseEchoRequest(*hex_req19);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt19 = http.parseEchoRequest(*hex_req19);
     if (corrupt19.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 1.5)");
     } else {
@@ -1828,7 +1828,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req20->reference(), hex_req20->allocated(), false) << endl;
     hex_req20->corrupt(4);
 //    cerr << hexify(hex_req20->reference(), hex_req20->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt20 = http.parseEchoRequest(*hex_req20);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt20 = http.parseEchoRequest(*hex_req20);
     if (corrupt20.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -1.5)");
     } else {
@@ -1838,7 +1838,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req21->reference(), hex_req21->allocated(), false) << endl;
     hex_req21->corrupt(8);
 //    cerr << hexify(hex_req21->reference(), hex_req21->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt21 = http.parseEchoRequest(*hex_req21);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt21 = http.parseEchoRequest(*hex_req21);
     if (corrupt21.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number NaN)");
     } else {
@@ -1848,7 +1848,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req22->reference(), hex_req22->allocated(), false) << endl;
     hex_req22->corrupt(1);
 //    cerr << hexify(hex_req22->reference(), hex_req22->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt22 = http.parseEchoRequest(*hex_req22);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt22 = http.parseEchoRequest(*hex_req22);
     if (corrupt22.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number Infinity)");
     } else {
@@ -1858,7 +1858,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req26->reference(), hex_req26->allocated(), false) << endl;
     hex_req26->corrupt(5);
 //    cerr << hexify(hex_req26->reference(), hex_req26->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt26 = http.parseEchoRequest(*hex_req26);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt26 = http.parseEchoRequest(*hex_req26);
     if (corrupt26.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Strict Array of Numbers, 3 items)");
     } else {
@@ -1868,7 +1868,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req27->reference(), hex_req27->allocated(), false) << endl;
     hex_req27->corrupt(3);
 //    cerr << hexify(hex_req27->reference(), hex_req27->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt27 = http.parseEchoRequest(*hex_req27);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt27 = http.parseEchoRequest(*hex_req27);
     if (corrupt27.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Strict Array - Number, undefines, Number)");
     } else {
@@ -1878,7 +1878,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req29->reference(), hex_req29->allocated(), false) << endl;
     hex_req29->corrupt(8);
 //    cerr << hexify(hex_req29->reference(), hex_req29->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt29 = http.parseEchoRequest(*hex_req29);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt29 = http.parseEchoRequest(*hex_req29);
     if (corrupt29.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(NULL String)");
     } else {
@@ -1888,7 +1888,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req30->reference(), hex_req30->allocated(), false) << endl;
     hex_req30->corrupt(7);
 //    cerr << hexify(hex_req30->reference(), hex_req30->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt30 = http.parseEchoRequest(*hex_req30);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt30 = http.parseEchoRequest(*hex_req30);
     if (corrupt30.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple String)");
     } else {
@@ -1898,7 +1898,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req31->reference(), hex_req31->allocated(), false) << endl;
     hex_req31->corrupt(2);
 //    cerr << hexify(hex_req31->reference(), hex_req31->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt31 = http.parseEchoRequest(*hex_req31);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt31 = http.parseEchoRequest(*hex_req31);
     if (corrupt31.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple String Array)");
     } else {
@@ -1908,7 +1908,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req40->reference(), hex_req40->allocated(), false) << endl;
     hex_req40->corrupt(6);
 //    cerr << hexify(hex_req40->reference(), hex_req40->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt40 = http.parseEchoRequest(*hex_req40);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt40 = http.parseEchoRequest(*hex_req40);
     if (corrupt40.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object CustomClass)");
     } else {
@@ -1918,7 +1918,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req41->reference(), hex_req41->allocated(), false) << endl;
     hex_req41->corrupt(1);
 //    cerr << hexify(hex_req41->reference(), hex_req41->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt41 = http.parseEchoRequest(*hex_req41);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt41 = http.parseEchoRequest(*hex_req41);
     if (corrupt41.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object CustomClass Array)");
     } else {
@@ -1928,7 +1928,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req42->reference(), hex_req42->allocated(), false) << endl;
     hex_req42->corrupt(2);
 //    cerr << hexify(hex_req42->reference(), hex_req42->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt42 = http.parseEchoRequest(*hex_req42);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt42 = http.parseEchoRequest(*hex_req42);
     if (corrupt42.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass)");
     } else {
@@ -1938,7 +1938,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req43->reference(), hex_req43->allocated(), false) << endl;
     hex_req43->corrupt(4);
 //    cerr << hexify(hex_req43->reference(), hex_req43->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt43 = http.parseEchoRequest(*hex_req43);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt43 = http.parseEchoRequest(*hex_req43);
     if (corrupt43.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass Array, 2 items)");
     } else {
@@ -1948,7 +1948,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req44->reference(), hex_req44->allocated(), false) << endl;
     hex_req44->corrupt(3);
 //    cerr << hexify(hex_req44->reference(), hex_req44->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt44 = http.parseEchoRequest(*hex_req44);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt44 = http.parseEchoRequest(*hex_req44);
     if (corrupt44.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass");
     } else {
@@ -1960,7 +1960,7 @@ test_rtmpt (void)
 #if 0
     hex_req45->corrupt(6);
 //    cerr << hexify(hex_req45->reference(), hex_req45->allocated(), false) << endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt45 = http.parseEchoRequest(*hex_req45);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt45 = http.parseEchoRequest(*hex_req45);
     if (corrupt45.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass");
     } else {
diff --git a/cygnal/testsuite/libnet.all/test_rtmp.cpp b/cygnal/testsuite/libnet.all/test_rtmp.cpp
index 2aa5f5a..fcd7d67 100644
--- a/cygnal/testsuite/libnet.all/test_rtmp.cpp
+++ b/cygnal/testsuite/libnet.all/test_rtmp.cpp
@@ -48,7 +48,7 @@
 #include "arg_parser.h"
 #include "gmemory.h"
 
-using namespace amf;
+using namespace cygnal;
 using namespace gnash;
 using namespace std;
 
@@ -174,9 +174,9 @@ test_split()
         }
     }
     
-//     boost::shared_ptr<amf::Buffer> tmpbuf = que1.front();
+//     boost::shared_ptr<cygnal::Buffer> tmpbuf = que1.front();
 //     que1.pop_front();
-    boost::shared_ptr<amf::Buffer> tmpbuf(new Buffer);
+    boost::shared_ptr<cygnal::Buffer> tmpbuf(new Buffer);
     if (notest) {
         runtest.untested("RTMP::split(1st packet header) of 2");
     } else {
@@ -447,10 +447,10 @@ test_system()
     
     RTMPClient client;
     
-    boost::shared_ptr<amf::Buffer> buf1(new amf::Buffer("00 00 00 00 00 00")); // clear buffer message
-    boost::shared_ptr<amf::Buffer> buf2(new amf::Buffer("00 06 cf 03 04 c3")); // ping client from server
-    boost::shared_ptr<amf::Buffer> buf3(new amf::Buffer("00 07 cf 03 04 c3")); // Pong, reply from client
-    boost::shared_ptr<amf::Buffer> buf4(new amf::Buffer("00 00 00 00 00 01")); // clear buffer message
+    boost::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer("00 00 00 00 00 00")); // clear buffer message
+    boost::shared_ptr<cygnal::Buffer> buf2(new cygnal::Buffer("00 06 cf 03 04 c3")); // ping client from server
+    boost::shared_ptr<cygnal::Buffer> buf3(new cygnal::Buffer("00 07 cf 03 04 c3")); // Pong, reply from client
+    boost::shared_ptr<cygnal::Buffer> buf4(new cygnal::Buffer("00 00 00 00 00 01")); // clear buffer message
     
     boost::shared_ptr<RTMP::rtmp_ping_t> ping1 = client.decodePing(*buf1);
     if (ping1->type == RTMP::PING_CLEAR) {
@@ -461,7 +461,7 @@ test_system()
     
 #if 0
     RTMPServer server;
-    boost::shared_ptr<amf::Buffer> enc1 = server.encodePing(RTMP::PING_CLEAR);
+    boost::shared_ptr<cygnal::Buffer> enc1 = server.encodePing(RTMP::PING_CLEAR);
     if ((memcmp(buf1->reference(), enc1->reference(), 6) == 0)) {
         runtest.pass("Encoded RTMP Ping Clear message");
     } else {
@@ -469,7 +469,7 @@ test_system()
     }
 
     boost::uint32_t time = *(reinterpret_cast<boost::uint32_t *>(buf2->reference() + 2));
-    boost::shared_ptr<amf::Buffer> enc2 = server.encodePing(RTMP::PING_CLIENT, htonl(time));
+    boost::shared_ptr<cygnal::Buffer> enc2 = server.encodePing(RTMP::PING_CLIENT, htonl(time));
 //     cerr << hexify(buf2->begin(), buf2->size(), false) << endl;
 //     cerr << hexify(enc2->begin(), enc2->size(), false) << endl;
     if ((memcmp(buf2->reference(), enc2->reference(), 6) == 0)) {
@@ -489,20 +489,20 @@ test_system()
     }    
 
     // SERVER message
-//     boost::shared_ptr<amf::Buffer> hex1 = hex2mem("02 00 00 00 00 00 04 05 00 00 00 00 00 13 12 d0");
-//     boost::shared_ptr<amf::Buffer> hex1 = hex2mem("00 13 12 d0");
+//     boost::shared_ptr<cygnal::Buffer> hex1 = hex2mem("02 00 00 00 00 00 04 05 00 00 00 00 00 13 12 d0");
+//     boost::shared_ptr<cygnal::Buffer> hex1 = hex2mem("00 13 12 d0");
 //     RTMPMsg *msg1 = client.decodeMsgBody(hex1);
     
     // Client message
-//     boost::shared_ptr<amf::Buffer> hex2 = hex2mem("02 00 00 00 00 00 05 06 00 00 00 00 00 13 12 d0 02");
-//     boost::shared_ptr<amf::Buffer> hex2 = hex2mem("00 13 12 d0 02");
+//     boost::shared_ptr<cygnal::Buffer> hex2 = hex2mem("02 00 00 00 00 00 05 06 00 00 00 00 00 13 12 d0 02");
+//     boost::shared_ptr<cygnal::Buffer> hex2 = hex2mem("00 13 12 d0 02");
 //     RTMPMsg *msg2 = client.decodeMsgBody(hex2);
 
 #if 0
     for (double dub=0; dub<=200; dub ++) {
         Element el11;
         el11.makeNumber(dub);
-        boost::shared_ptr<amf::Buffer> buf11 = el11.getBuffer();
+        boost::shared_ptr<cygnal::Buffer> buf11 = el11.getBuffer();
         cerr << "FIXME: " << el11.to_number() << ":     ";
         swapBytes(buf11->begin(), 8);
         cerr << hexify(buf11->begin(), buf11->size(), false) << endl;
@@ -522,8 +522,8 @@ test_header()
     
     // this is a sample 12 bytes RTMP header
 //    const char *x1 = "03 00 00 00 00 01 1f 14 00 00 00 00";
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("03 00 00 00 00 01 1f 14 00 00 00 00"));
-    boost::shared_ptr<amf::Buffer> head1 = client.encodeHeader(0x3, RTMP::HEADER_12, 287,
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("03 00 00 00 00 01 1f 14 00 00 00 00"));
+    boost::shared_ptr<cygnal::Buffer> head1 = client.encodeHeader(0x3, RTMP::HEADER_12, 287,
                                         RTMP::INVOKE, RTMPMsg::FROM_CLIENT);
 //     cerr << hexify(buf1->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
 //     cerr << hexify(head1->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
@@ -541,8 +541,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Invoke)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf2(new Buffer("02 00 00 00 00 00 06 04 00 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head2 = client.encodeHeader(0x2, RTMP::HEADER_12, PING_MSG_SIZE,
+     boost::shared_ptr<cygnal::Buffer> buf2(new Buffer("02 00 00 00 00 00 06 04 00 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head2 = client.encodeHeader(0x2, RTMP::HEADER_12, PING_MSG_SIZE,
                                      RTMP::USER, RTMPMsg::FROM_SERVER);
 //     cerr << hexify(head2->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf2->reference(), head2->reference(), 8) == 0)) {
@@ -551,8 +551,8 @@ test_header()
          runtest.fail("Encoded RTMP header(Ping 0)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf3(new Buffer("02 ff e3 6c 00 00 06 04 00 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head3 = client.encodeHeader(0x2, RTMP::HEADER_12, PING_MSG_SIZE,
+     boost::shared_ptr<cygnal::Buffer> buf3(new Buffer("02 ff e3 6c 00 00 06 04 00 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head3 = client.encodeHeader(0x2, RTMP::HEADER_12, PING_MSG_SIZE,
                                      RTMP::USER, RTMPMsg::FROM_SERVER);
 //     cerr << hexify(head3->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf2->reference(), head3->reference(), 8) == 0)) {
@@ -569,8 +569,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Ping)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf4(new Buffer("c2"));
-     boost::shared_ptr<amf::Buffer> head4 = client.encodeHeader(0x2, RTMP::HEADER_1);
+     boost::shared_ptr<cygnal::Buffer> buf4(new Buffer("c2"));
+     boost::shared_ptr<cygnal::Buffer> head4 = client.encodeHeader(0x2, RTMP::HEADER_1);
 //     cerr << hexify(head4->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf4->reference(), head4->reference(), 1) == 0)) {
          runtest.pass("Encoded RTMP header(size 1)");
@@ -581,8 +581,8 @@ test_header()
 // 43 00 00 00 00 00 15 14 02 00 08 6f 6e 42 57 44    onBWDone
 // 6f 6e 65 00 40 00 00 00 00 00 00 00 05
 
-     boost::shared_ptr<amf::Buffer> buf5(new Buffer("43 00 00 00 00 00 19 14"));
-     boost::shared_ptr<amf::Buffer> head5 = client.encodeHeader(0x3, RTMP::HEADER_8, 0x19, RTMP::INVOKE,
+     boost::shared_ptr<cygnal::Buffer> buf5(new Buffer("43 00 00 00 00 00 19 14"));
+     boost::shared_ptr<cygnal::Buffer> head5 = client.encodeHeader(0x3, RTMP::HEADER_8, 0x19, RTMP::INVOKE,
                                          RTMPMsg::FROM_CLIENT);
 //     head5->dump();
 //     cerr << hexify(head5->begin(), 8, false) << endl;
@@ -601,8 +601,8 @@ test_header()
      }
 
      // 4 byte header
-     boost::shared_ptr<amf::Buffer> buf6(new Buffer("83 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head6 = client.encodeHeader(0x3, RTMP::HEADER_4, 0x19, RTMP::INVOKE,
+     boost::shared_ptr<cygnal::Buffer> buf6(new Buffer("83 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head6 = client.encodeHeader(0x3, RTMP::HEADER_4, 0x19, RTMP::INVOKE,
                                          RTMPMsg::FROM_CLIENT);
      if ((memcmp(buf6->reference(), head6->reference(), 4) == 0)) {
          runtest.pass("Encoded RTMP header(size 4)");
@@ -626,12 +626,12 @@ test_results()
 //   64 65 64 2e 00 04 63 6f    64 65 02 00 1d 4e 65 74    ded...code...Net
 //   43 6f 6e 6e 65 63 74 69    6f 6e 2e 43 6f 6e 6e 65    Connection.Conne
 //   63 74 2e 53 75 63 63 65    73 73 00 00 c3 09          ct.Success....
-    boost::shared_ptr<amf::Buffer> hex2(new Buffer("02 00 07 5f 72 65 73 75 6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 15 43 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e 00 04 63 6f 64 65 02 00 1d 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 53 75 63 63 65 73 73 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex2(new Buffer("02 00 07 5f 72 65 73 75 6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 15 43 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e 00 04 63 6f 64 65 02 00 1d 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 53 75 63 63 65 73 73 00 00 09"));
 
     boost::shared_ptr<RTMPMsg> msg1 = rtmp.decodeMsgBody(*hex2);
     if (msg1) {
-        std::vector<boost::shared_ptr<amf::Element> > hell = msg1->getElements();
-        std::vector<boost::shared_ptr<amf::Element> > props = hell[0]->getProperties();        
+        std::vector<boost::shared_ptr<cygnal::Element> > hell = msg1->getElements();
+        std::vector<boost::shared_ptr<cygnal::Element> > props = hell[0]->getProperties();        
 //         printf("FIXME: %d, %d, %s:%s\n", props.size(), msg1->getStatus(),
 //                props[3]->getName(), props[3]->to_string());
         if ((msg1->getStatus() ==  RTMPMsg::NC_CONNECT_SUCCESS)
@@ -647,7 +647,7 @@ test_results()
 
 #if 0
     RTMPServer rtmpserv;
-    boost::shared_ptr<amf::Buffer> buf2 = rtmpserv.encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
+    boost::shared_ptr<cygnal::Buffer> buf2 = rtmpserv.encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
 //    cerr << hexify(buf2->begin(), 122, true) << endl;
     if ((memcmp(hex2->reference(), buf2->reference(), 122) == 0)) {
         runtest.pass("Encoded RTMP result(NC_CONNECT_SUCCESS)");
@@ -657,10 +657,10 @@ test_results()
     delete buf2;
 #endif
     
-    boost::shared_ptr<amf::Buffer> hex3(new Buffer("02 00 07 5f 72 65 73 75 6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 00 00 04 63 6f 64 65 02 00 1c 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 46 61 69 6c 65 64 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex3(new Buffer("02 00 07 5f 72 65 73 75 6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 00 00 04 63 6f 64 65 02 00 1c 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 46 61 69 6c 65 64 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg2 = rtmp.decodeMsgBody(*hex3);
-    std::vector<boost::shared_ptr<amf::Element> > hell = msg2->getElements();
-    std::vector<boost::shared_ptr<amf::Element> > props = hell[0]->getProperties();        
+    std::vector<boost::shared_ptr<cygnal::Element> > hell = msg2->getElements();
+    std::vector<boost::shared_ptr<cygnal::Element> > props = hell[0]->getProperties();        
 //     printf("FIXME: %d, %d, %s:%s\n", props.size(), msg1->getStatus(),
 //            props[3]->getName(), props[3]->to_string());
     if (msg2) {
@@ -694,9 +694,9 @@ test_results()
 //         PD_English_Low at 2001
 //     clientid
 //         dsLgYohb
-    boost::shared_ptr<amf::Buffer> hex4(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 52 65 73 65 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 2a 50 6c 61 79 69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex4(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 52 65 73 65 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 2a 50 6c 61 79 69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg4 = rtmp.decodeMsgBody(*hex4);
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg4->getStatus() ==  RTMPMsg::NS_PLAY_RESET)
         && (msg4->getMethodName() == "onStatus")
         && (msg4->size() >= 1)) {
@@ -709,7 +709,7 @@ test_results()
 // code
 //     NetStream
 // Data.Start
-    boost::shared_ptr<amf::Buffer> hex5(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 03 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 44 61 74 61 2e 53 74 61 72 74 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex5(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 03 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 44 61 74 61 2e 53 74 61 72 74 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg5 = rtmp.decodeMsgBody(*hex5);
     if ((msg5->getStatus() ==  RTMPMsg::NS_DATA_START)
         && (msg5->getMethodName() == "onStatus")
@@ -728,7 +728,7 @@ test_results()
 //         Started playing PD_English_Low at 2001
 //     details
 //         PD_English_Low at 20..clientid...dsLgYohb.
-    boost::shared_ptr<amf::Buffer> hex6(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 61 72 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 24 53 74 61 72 74 65 64 20 70 6c 61 79 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex6(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 61 72 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 24 53 74 61 72 74 65 64 20 70 6c 61 79 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg6 = rtmp.decodeMsgBody(*hex6);
     if ((msg6->getStatus() ==  RTMPMsg::NS_PLAY_START)
         && (msg6->getMethodName() == "onStatus")
@@ -743,7 +743,7 @@ test_results()
 // errors when using GCC 3.4 ?
     
 // ..............._error.?......... ..level...error..code...NetConnection.Connect.Rejected..description..A[ Server.Reject ] : Virtual host _defa.ultVHost_ is not available....
-    boost::shared_ptr<amf::Buffer> hex7(new Buffer("02 00 06 5f 65 72 72 6f 72 00 3f f0 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 04 63 6f 64 65 02 00 1e 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 52 65 6a 65 63 74 65 64 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 41 5b 20 53 65 72 76 65 72 2e 52 65 6a 65 63 74 20 5d 20 3a 20 56 69 72 74 75 61 6c 20 68 6f 73 74 20 5f 64 65 66 61 c3 75 6c 74 56 48 6f 73 74 5f 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex7(new Buffer("02 00 06 5f 65 72 72 6f 72 00 3f f0 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 04 63 6f 64 65 02 00 1e 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 2e 52 65 6a 65 63 74 65 64 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 41 5b 20 53 65 72 76 65 72 2e 52 65 6a 65 63 74 20 5d 20 3a 20 56 69 72 74 75 61 6c 20 68 6f 73 74 20 5f 64 65 66 61 c3 75 6c 74 56 48 6f 73 74 5f 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg7 = rtmp.decodeMsgBody(*hex7);
     if ((msg7->getStatus() ==  RTMPMsg::NC_CONNECT_REJECTED)
         && (msg7->getMethodName() == "_error")
@@ -754,10 +754,10 @@ test_results()
     }
     
 //.onStatus.............level...error..code...NetStream.Play.StreamNotFound..description..6Failed to play gate06_tablan_bcueu_; .stream not found...details...gate06_tablan_bcueu_..clientid.A.;..
-    boost::shared_ptr<amf::Buffer> hex8(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 04 63 6f 64 65 02 00 1d 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 72 65 61 6d 4e 6f 74 46 6f 75 6e 64 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 36 46 61 69 6c 65 64 20 74 6f 20 70 6c 61 79 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 3b 20 c4 73 74 72 65 61 6d 20 6e 6f 74 20 66 6f 75 6e 64 2e 00 07 64 65 74 61 69 6c 73 02 00 14 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 3b b4 e4 00 00 00 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex8(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 04 63 6f 64 65 02 00 1d 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 72 65 61 6d 4e 6f 74 46 6f 75 6e 64 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 36 46 61 69 6c 65 64 20 74 6f 20 70 6c 61 79 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 3b 20 c4 73 74 72 65 61 6d 20 6e 6f 74 20 66 6f 75 6e 64 2e 00 07 64 65 74 61 69 6c 73 02 00 14 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 3b b4 e4 00 00 00 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg8 = rtmp.decodeMsgBody(*hex8);
 //    msg4->dump();
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg8->getStatus() ==  RTMPMsg::NS_PLAY_STREAMNOTFOUND)
         && (msg8->getMethodName() == "onStatus")
         && (msg8->size() >= 1)) {
@@ -769,10 +769,10 @@ test_results()
 #endif
 
 //.....onStatus.............level...status..code...NetStream.Play.Stop..description..%Stopped playing gate06_tablan_bcueu_...details....gate06_tablan_bcueu_..clientid.A.;.......reason......     
-    boost::shared_ptr<amf::Buffer> hex9(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 13 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 6f 70 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 25 53 74 6f 70 70 65 64 20 70 6c 61 79 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 2e 00 07 64 65 74 61 69 6c 73 c4 02 00 14 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 3b b4 e4 00 00 00 00 06 72 65 61 73 6f 6e 02 00 00 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex9(new Buffer("02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 13 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 6f 70 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 25 53 74 6f 70 70 65 64 20 70 6c 61 79 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 2e 00 07 64 65 74 61 69 6c 73 c4 02 00 14 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 3b b4 e4 00 00 00 00 06 72 65 61 73 6f 6e 02 00 00 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg9 = rtmp.decodeMsgBody(*hex9);
 //    msg4->dump();
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg9->getStatus() ==  RTMPMsg::NS_PLAY_STOP)
         && (msg9->getMethodName() == "onStatus")
         && (msg9->size() >= 1)) {
@@ -788,7 +788,7 @@ test_types()
     GNASH_REPORT_FUNCTION;
     RTMP rtmp;
     
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("06 00 d2 04 00 00 00 00"));
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("06 00 d2 04 00 00 00 00"));
 }
 
 void
@@ -797,8 +797,8 @@ test_client()
     GNASH_REPORT_FUNCTION;
     RTMPClient rtmp;
 
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("02 00 07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 00 00 00 03 00 03 61 70 70 02 00 0f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 08 66 6c 61 73 68 56 65 72 02 00 0c 4c 4e 58 20 39 2c 30 2c 33 31 2c 30 00 06 73 77 66 55 72 6c 02 00 29 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 73 77 66 00 05 74 63 55 72 6c 02 00 21 72 74 6d 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 04 66 70 61 64 01 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 83 38 00 00 00 00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 5f 00 00 00 00 00 00 00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f 6e 00 3f f0 00 00 00 00 00 00 00 07 70 61 67 65 55 72 6c 02 00 2a 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 68 74 6d 6c 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 00 00 00 00 00 00 00 00 00 00 00 09"));
-    boost::shared_ptr<amf::Buffer> buf2 = rtmp.encodeConnect("mp3_app/id3test", "http://renaun.com/flex2/posts/MP3Test.swf", "rtmp://renaun.com/mp3_app/id3test", 615, 124, 1, "http://renaun.com/flex2/posts/MP3Test.html");
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("02 00 07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 00 00 00 03 00 03 61 70 70 02 00 0f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 08 66 6c 61 73 68 56 65 72 02 00 0c 4c 4e 58 20 39 2c 30 2c 33 31 2c 30 00 06 73 77 66 55 72 6c 02 00 29 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 73 77 66 00 05 74 63 55 72 6c 02 00 21 72 74 6d 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 04 66 70 61 64 01 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 83 38 00 00 00 00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 5f 00 00 00 00 00 00 00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f 6e 00 3f f0 00 00 00 00 00 00 00 07 70 61 67 65 55 72 6c 02 00 2a 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 68 74 6d 6c 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 00 00 00 00 00 00 00 00 00 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> buf2 = rtmp.encodeConnect("mp3_app/id3test", "http://renaun.com/flex2/posts/MP3Test.swf", "rtmp://renaun.com/mp3_app/id3test", 615, 124, 1, "http://renaun.com/flex2/posts/MP3Test.html");
 //     cerr << hexify(buf1->begin(), buf1->size(), false) << endl;
 //     cerr << hexify(buf2->begin(), buf1->size(), false) << endl;
     if ((memcmp(buf1->reference(), buf2->reference(), 50) == 0)) {
diff --git a/doc/C/Makefile.am b/doc/C/Makefile.am
index 45e5679..04dc073 100644
--- a/doc/C/Makefile.am
+++ b/doc/C/Makefile.am
@@ -132,7 +132,7 @@ MANPAGES = \
 	findwebcams.1
 #	dumpshm.1
 
-# These are just aliases for the defauklt gnash man page.
+# These are just aliases for the default gnash man page.
 EXTRAMANPAGES =
 
 if BUILD_GTK_GUI
@@ -398,7 +398,7 @@ install-man1: $(MANPAGES) $(EXTRAMANPAGES)
 	   $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$file; \
 	done
 
-install-data-hook: $(MANPAGES) install-man1 install-info-hook install-html-hook 
+install-data-hook: install-man1 install-info-hook install-html-hook 
 uninstall-hook: uninstall-info-hook uninstall-html-hook
 	-for file in $(MANPAGES) $(EXTRAMANPAGES); do \
 	   $(RM) $(DESTDIR)$(man1dir)/$$file; \
@@ -437,9 +437,23 @@ uninstall-omf-hook:
 	-rmdir $(DESTDIR)$(omf_dest_dir)
 	-$(SCROLLUPDATE) -v 
 
+# All but gnash.1 aren't generated, but are just copied from the source
+# tree. If building in thew source directory, we don't want to remove
+# these, but when building in a separate directory, we do want to remove them.
+MAN_ALIASES = \
+	`if test x"$(srcdir)" != x"."; then \
+	   echo $(EXTRAMANPAGES); \
+	fi`
+
+IMAGES = \
+	`if test x"$(srcdir)" != x"."; then \
+	   echo "images"; \
+	fi`
+
 CLEANFILES = \
         $(PDFS) \
 	$(MANPAGES) \
+	$(MAN_ALIASES) \
 	$(INFOS) \
         $(HTMLS) \
 	$(TEXIS) \
@@ -453,14 +467,7 @@ CLEANFILES = \
 	gnashref.txml \
 	gnashref.mxml \
 	omf_timestamp \
-	images \
-	dump-gnash.1 \
-	gtk-gnash.1 \
-	qt4-gnash.1 \
-	fb-gnash.1 \
-	sdl-gnash.1 \
-	gnash-gtk-launcher.1 \
-	gnash-qt-launcher.1
+	$(IMAGES)
 
 # This updates the copies of the manuals that are stored preformatted
 # so not everyone needs to get Docbook working well enough to produce
diff --git a/doc/C/gnash.man-xml b/doc/C/gnash.man-xml
index 26ca519..49cc3f0 100644
--- a/doc/C/gnash.man-xml
+++ b/doc/C/gnash.man-xml
@@ -133,10 +133,10 @@ gnash [option]... [URL]
   </varlistentry>
 
   <varlistentry>
-    <term>--hwaccel none|vaapi|xv</term>
+    <term>--hwaccel none|vaapi</term>
     <listitem>
       <para>
-        Hardware Video Accelerator to use none|vaapi|xv|omap (default: none)
+        Hardware Video Accelerator to use none|vaapi (default: none)
       </para>
     </listitem>
   </varlistentry>
diff --git a/doc/C/preformatted/gnash.1.in b/doc/C/preformatted/gnash.1.in
index a3da491..8f5d92d 100644
--- a/doc/C/preformatted/gnash.1.in
+++ b/doc/C/preformatted/gnash.1.in
@@ -46,8 +46,8 @@ Be very verbose about parsing. Must be used in conjunction with -v.
 -A file
 Audio dump file (wave format).
 .TP 
---hwaccel none|vaapi|xv
-Hardware Video Accelerator to use none|vaapi|xv|omap (default: none)
+--hwaccel none|vaapi
+Hardware Video Accelerator to use none|vaapi (default: none)
 .TP 
 -x xid, --xid xid
 The XID of the parent window Gnash should use instead of
diff --git a/doc/C/preformatted/gnashuser.html.in b/doc/C/preformatted/gnashuser.html.in
index 058b052..dfd94a4 100644
--- a/doc/C/preformatted/gnashuser.html.in
+++ b/doc/C/preformatted/gnashuser.html.in
@@ -428,8 +428,8 @@
 	    </pre>
 	  </td></tr><tr><td align="left">HWAccel</td><td align="left">string</td><td align="left">
 	    Specify the type of Hardware Video Decoder. Currently only
-	    <span class="emphasis"><em>vaapi</em></span>, <span class="emphasis"><em>omap</em></span>,
-	    <span class="emphasis"><em>xv</em></span> or <span class="emphasis"><em>none</em></span> are
+	    <span class="emphasis"><em>vaapi</em></span>
+	    or <span class="emphasis"><em>none</em></span> are
 	    supported. None disables any acceleration support (the
 	    default).
 	  </td></tr><tr><td align="left">Renderer</td><td align="left">string</td><td align="left">
diff --git a/doc/C/usermanual/gnashrc.xml b/doc/C/usermanual/gnashrc.xml
index 2651e25..a14258f 100644
--- a/doc/C/usermanual/gnashrc.xml
+++ b/doc/C/usermanual/gnashrc.xml
@@ -300,8 +300,8 @@
 	  <entry>string</entry>
 	  <entry>
 	    Specify the type of Hardware Video Decoder. Currently only
-	    <emphasis>vaapi</emphasis>, <emphasis>omap</emphasis>,
-	    <emphasis>xv</emphasis> or <emphasis>none</emphasis> are
+	    <emphasis>vaapi</emphasis>
+	    or <emphasis>none</emphasis> are
 	    supported. None disables any acceleration support (the
 	    default).
 	  </entry>
diff --git a/doc/changelogs/ChangeLog-0.8.9 b/doc/changelogs/ChangeLog-0.8.9
new file mode 100644
index 0000000..279d006
--- /dev/null
+++ b/doc/changelogs/ChangeLog-0.8.9
@@ -0,0 +1,7514 @@
+2011-02-10  John Gilmore <gnu at toad.com>
+
+	* README.git, gui/aos4/aos4.cpp, gui/gnash.cpp, gui/gtk/gtk.cpp,
+	plugin/npapi/plugin.cpp: Copyright displays for 2011 Here are some improvements that I found while building and
+	installing and testing the pre-release version from git.  The README.git change fixes the name of the libltdl on Ubuntu, and
+	alphabetizes them so they'll match the output of "dpkg -l" for
+	version checking.  The rest are 2011 updates to the copyright notices printed or
+	displayed by gnash.  Plugin, gtk, tty, and aos4 all have different
+	notices.  I'm still such a git newbie that I am not going to spend the time
+	right now to figure out how I might be able to actually check these
+	into the mainline repo and then maybe migrate them to the release
+	branch.  Somebody who knows what they're doing, please do so;
+	thanks.  	John
+
+2011-02-10  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/Makefile.am: Make sure our own dejagnu.h is used
+	(systemwide one doesn't always have support for expected failures)
+
+2011-02-10  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Unleash more tests, just avoid converting
+	to string what isn't a string (due to parsing bug)
+
+2011-02-10  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Oops, expected the wrong failure
+
+2011-02-10  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Expect the failure. Doesn't help rendering
+	the buildbot useless
+
+2011-02-10  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Show how broken parseInvoke is
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Include check.h functionality
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/external.cpp, plugin/npapi/test.cpp: Make parseInvoke
+	more robust when <invoke> tag isn't closed. Test that.
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Plug remaining leaks (regexp)
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Plug more leaks (in the test, not the core)
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/external.cpp: Properly initialize referenceCount for
+	NPNObject structs. The _correct_ way of creating an object would be
+	trough NPN_CreateObject but that's out of my reach atm. This one
+	fixes memory errors triggered by the test.cpp.
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/GnashNPVariant.h: Prevent GnashNPVariant self-copy
+	release of NPVariant member
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/test.cpp: Fix compiler warnings
+
+2011-02-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 18229cf345a49b12108d6148988823a0c382d1e8 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Feb 9 16:14:17 2011 +0100
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/flash/filters/BitmapFilter_as.cpp: Do not
+	instanciate a BitmapFilter: it is unused and left leaking
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/NetStream_as.cpp: Plug leak of decoded audio buffers
+	on NetStream deletion
+
+2011-02-09  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/NetStream_as.cpp: Detach aux streamer on NetStream
+	destruction. Should fix bug #32069
+
+2011-02-08  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* .gitignore: Add file under gui/pythonmod to .gitignore
+
+2011-02-08  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* gui/pythonmod/Makefile.am: Fix python module
+	https://bugzilla.redhat.com/669856
+
+2011-02-07  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* testsuite/swfdec/swfdec_gnash_tester: Add -a grep option to
+	process binfiles as text. Fix some openbsd tests
+
+2011-02-06  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 0ff1d321d1791db01f16964d1cb66b4714a01e08 Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Sat Feb 5 21:24:49 2011 +0100
+
+2011-02-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.cpp: Render whole scene.
+
+2011-02-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/ScreenShotter.cpp, gui/ScreenShotter.h, gui/dump/dump.cpp,
+	gui/gui.cpp, gui/gui.h: Don't render frames in dump-gnash unless
+	needed.
+
+2011-02-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.cpp, gui/gui.h: Allow callers to decide whether to display
+	or not.
+
+2011-02-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 16feba74d1d67eea051a90d04ee01daaa37145c3 Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Thu Feb 3 19:05:15 2011 +0100
+
+2011-02-01  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/Makefile.am: gnashrc is always needed, even w/out ming.
+	Double colon isn't
+
+2011-01-31  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-mtasc.all/level87.as,
+	testsuite/misc-mtasc.all/level99.as: Don't be picky about load
+	times. It is more helpful to have stable results. Should fix bug
+	#31971.
+
+2011-01-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/NullGui.cpp, gui/sdl/sdl.cpp: Don't use wrapper function where
+	unneeded.
+
+2011-01-30  Rob Savoye <rob at welcomehome.org>
+
+	* testsuite/misc-ming.all/Makefile.am: .as files used as paramaters
+	for makeswf need to have (srcdir)
+
+2011-01-30  Rob Savoye <rob at welcomehome.org>
+
+	* : add all needed files for testing to work to the source tarball.
+
+2011-01-30  Rob Savoye <rob at welcomehome.org>
+
+	* testsuite/Makefile.am, testsuite/misc-ming.all/Makefile.am: 
+	include the new .sh and .as files so make check works from the
+	source dist tarball.
+
+2011-01-30  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/Makefile.am: Avoid overriding the check-local rule,
+	hushing automake warning
+
+2011-01-30  Sandro Santilli <strk at keybit.net>
+
+	* gui/pythonmod/Makefile.am: Link python module to renderer libs
+	(see https://bugzilla.redhat.com/show_bug.cgi?id=669856)
+
+2011-01-24  Sandro Santilli <strk at keybit.net>
+
+	* TODO: AVM2 is kind of distinct from SWF9
+
+2011-01-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit cb5f0ec90ea63cfd9bb7f9d83020f1f5f798d202 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Mon Jan 24 12:58:19 2011
+	+0100
+
+2011-01-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp, libbase/GnashImagePng.cpp,
+	libbase/GnashImagePng.h: Hide implementation.
+
+2011-01-23  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 639f4da74fe2fa5728fc440ae67de6fdb40faa53 Author: Brad
+	SMith <brad at comstyle.com> Date:   Sun Jan 23 08:51:44 2011 -0700
+
+2011-01-23  Brad Smith <brad at comstyle.com>
+
+	* testsuite/swfdec/gen_run_swfdec_testsuite.sh: Fix shell script to
+	use md5(1) when appropriate.
+
+2011-01-21  Petter Reinholdtsen <pere at hungry.com>
+
+	* testsuite/Makefile.am: Fix some tests on Lenny
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/dbus/dbus_ext.cpp, extensions/dejagnu/dejagnu.cpp,
+	extensions/gtk2/gtkext.cpp: Try fixing all extensions, complete or
+	not.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/fileio/fileio.cpp, extensions/lirc/lirc_ext.cpp: Stupid
+	typo.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/fileio/fileio.cpp, extensions/lirc/lirc_ext.cpp: Fix
+	more extensions.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/mysql/mysql_db.cpp: Fix extensions.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/dbus/dbus_ext.cpp, extensions/dejagnu/dejagnu.cpp,
+	extensions/fileio/fileio.cpp, extensions/gtk2/gtkext.cpp,
+	extensions/launcher/launcher_ext.cpp, extensions/lirc/lirc_ext.cpp,
+	extensions/mysql/mysql_db.cpp, libcore/asobj/Accessibility_as.cpp,
+	libcore/asobj/Array_as.cpp, libcore/asobj/AsBroadcaster.cpp,
+	libcore/asobj/Boolean_as.cpp, libcore/asobj/Camera_as.cpp,
+	libcore/asobj/Color_as.cpp, libcore/asobj/ContextMenuItem_as.cpp,
+	libcore/asobj/ContextMenu_as.cpp, libcore/asobj/Date_as.cpp,
+	libcore/asobj/Error_as.cpp, libcore/asobj/Global_as.cpp,
+	libcore/asobj/Key_as.cpp, libcore/asobj/LoadVars_as.cpp,
+	libcore/asobj/LoadableObject.cpp,
+	libcore/asobj/LocalConnection_as.cpp, libcore/asobj/Math_as.cpp,
+	libcore/asobj/Microphone_as.cpp, libcore/asobj/Mouse_as.cpp,
+	libcore/asobj/MovieClipLoader.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/NetConnection_as.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/Number_as.cpp, libcore/asobj/Object.cpp,
+	libcore/asobj/Selection_as.cpp, libcore/asobj/SharedObject_as.cpp,
+	libcore/asobj/Sound_as.cpp, libcore/asobj/Stage_as.cpp,
+	libcore/asobj/String_as.cpp, libcore/asobj/System_as.cpp,
+	libcore/asobj/TextFormat_as.cpp, libcore/asobj/TextSnapshot_as.cpp,
+	libcore/asobj/XMLNode_as.cpp, libcore/asobj/XMLSocket_as.cpp,
+	libcore/asobj/XML_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilter_as.cpp,
+	libcore/asobj/flash/filters/BlurFilter_as.cpp,
+	libcore/asobj/flash/filters/ColorMatrixFilter_as.cpp,
+	libcore/asobj/flash/filters/ConvolutionFilter_as.cpp,
+	libcore/asobj/flash/filters/DisplacementMapFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/GlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/asobj/flash/geom/Matrix_as.cpp,
+	libcore/asobj/flash/geom/Point_as.cpp,
+	libcore/asobj/flash/geom/Rectangle_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp,
+	libcore/asobj/flash/net/FileReferenceList_as.cpp,
+	libcore/asobj/flash/net/FileReference_as.cpp,
+	libcore/asobj/flash/text/TextRenderer_as.cpp: Don't include
+	builtin_function.h where not needed.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Camera_as.cpp, libcore/asobj/Global_as.cpp,
+	libcore/asobj/Global_as.h, libcore/asobj/Microphone_as.cpp,
+	libcore/asobj/TextField_as.cpp: Hide builtin_function behind
+	as_function.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/Button.h, libcore/DisplayList.cpp,
+	libcore/DisplayObject.cpp, libcore/DisplayObjectContainer.cpp,
+	libcore/DisplayObjectContainer.h, libcore/Function.h,
+	libcore/MorphShape.h, libcore/MouseButtonState.h,
+	libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/MovieFactory.cpp, libcore/Timers.cpp, libcore/Timers.h,
+	libcore/abc/abc_function.h, libcore/as_object.cpp,
+	libcore/as_value.cpp, libcore/asobj/Array_as.cpp,
+	libcore/asobj/AsBroadcaster.cpp, libcore/asobj/AsBroadcaster.h,
+	libcore/asobj/Camera_as.cpp, libcore/asobj/Function_as.cpp,
+	libcore/asobj/Global_as.cpp, libcore/asobj/Key_as.cpp,
+	libcore/asobj/LoadVars_as.cpp, libcore/asobj/MovieClipLoader.cpp,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetStream_as.cpp, libcore/asobj/SharedObject_as.cpp,
+	libcore/asobj/Sound_as.cpp, libcore/asobj/TextField_as.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h,
+	libcore/parser/BitmapMovieDefinition.cpp,
+	libcore/parser/SWFMovieDefinition.cpp,
+	libcore/parser/SWFMovieDefinition.h,
+	libcore/parser/sprite_definition.cpp,
+	libcore/parser/sprite_definition.h,
+	libcore/swf/DefineButtonTag.cpp, libcore/swf/DefineShapeTag.cpp,
+	libcore/vm/ASHandlers.cpp, libcore/vm/ExecutableCode.h: Drop more
+	GNASH_USE_GC macros and intrusive_ptr usage.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/smart_ptr.h, libcore/Font.cpp, libcore/StaticText.cpp,
+	libcore/StaticText.h, libcore/parser/SWFMovieDefinition.cpp,
+	libcore/parser/sprite_definition.cpp,
+	libcore/parser/sprite_definition.h, libcore/vm/VM.cpp: Drop
+	GNASH_USE_GC annotations and some useless ifdefs.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/log.cpp: Drop unused log function.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/gtk2/gtkext.cpp, libcore/as_object.h,
+	libcore/vm/ActionExec.cpp: Drop unused ifdefs.
+
+2011-01-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h: Don't provide non-const access to vaapi
+	frames.
+
+2011-01-17  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* doc/C/gnash.man-xml, doc/C/preformatted/gnash.1.in: Update command
+	options in man page
+
+2011-01-15  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* testsuite/samples/Makefile.am: Replace abs_srcdir with srcdir. Fix
+	openbsd build
+
+2011-01-14  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* ChangeLog-0.8.0, ChangeLog-0.8.1, ChangeLog-0.8.2: Rename
+	anaylse-results.sh in changelogs
+
+2011-01-14  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* Makefile.am, testsuite/Makefile.am, testsuite/analyse-results.sh,
+	testsuite/anaylse-results.sh: Rename anaylse-results.sh
+
+2011-01-14  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* testsuite/libbase.all/Makefile.am: Typo
+
+2011-01-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 0726cd5d5eff8025fa789fabdd308cc59398632f Merge: a62d788
+	09cac2a Author: Rob Savoye <rob at welcomehome.org> Date:   Thu Jan 13
+	07:48:54 2011 -0700
+
+2011-01-13  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/launcher/Makefile.am: don't redefine AM_CPPFLAGS
+
+2011-01-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am: Add accumulator in dist.
+
+2011-01-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp, libbase/accumulator.h: Move accumulator into
+	separate file.
+
+2011-01-12  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/dbus/Makefile.am, extensions/gtk2/Makefile.am,
+	extensions/launcher/Makefile.am, extensions/lirc/Makefile.am: rename
+	INCLUDES to AM_CPPFLAGS to be consistent., Add to *_CPPFLAGS so
+	headers can be found on OpenBSD
+
+2011-01-12  Rob Savoye <rob at welcomehome.org>
+
+	* testsuite/libbase.all/Makefile.am: rename INCLUDES to AM_CPPFLAGS
+	to be consistent., Add to *_CPPFLAGS so headers can be found on
+	OpenBSD
+
+2011-01-12  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/dejagnu/Makefile.am, extensions/fileio/Makefile.am,
+	extensions/fileio/test.as: add boost cflags and libs
+
+2011-01-12  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/mysql/Makefile.am: add boost cflags and libs
+
+2011-01-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.cpp, libcore/TextField.cpp, librender/Renderer.h,
+	librender/agg/Renderer_agg.cpp, librender/cairo/Renderer_cairo.cpp,
+	librender/cairo/Renderer_cairo.h, librender/opengl/Renderer_ogl.cpp: 
+	Use a vector.
+
+2011-01-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp: Clean up.
+
+2011-01-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SharedMem.h: Correct include for w32.
+
+2011-01-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am, libbase/SharedMem.cpp, libbase/SharedMem.h,
+	libbase/SharedMemHaiku.cpp, libbase/SharedMemW32.cpp: Split w32
+	shared mem into separate file, drop ifdefs that aren't used.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* plugin/npapi/test.cpp: Fix tests.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, plugin/npapi/callbacks.cpp,
+	plugin/npapi/external.cpp, plugin/npapi/external.h,
+	plugin/npapi/plugin.cpp, plugin/npapi/pluginScriptObject.cpp: Put
+	the second ExternalInterface class in namespace plugin, as having
+	two definitions of gnash::ExternalInterface not only corrupts
+	execution, but is also silly and confusing.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.h: Fix typo.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.h: Drop useless declarations.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h: Drop
+	more unneeded functions.
+
+2011-01-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h: Drop
+	unused functions in illegally duplicated class.
+
+2011-01-08  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* configure.ac: revert all of libltdl
+
+2011-01-08  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* configure.ac: remove AC_SUBDIRS_
+
+2011-01-08  Markus Gothe <nietzsche at joyce.local>
+
+	* configure.ac: shut up libtool
+
+2011-01-08  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* libmedia/gst/VideoInputGst.cpp: fix warnings about constness
+
+2011-01-08  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* configure.ac, macros/archflag.m4: Updated --gcc-arch, thanks and
+	kudot to fftw.org
+
+2011-01-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 68db32d4c765b76a3d2cfbf2d218f7d58bad654d Author: Markus
+	Gothe <nietzsche at lysator.liu.se> Date:   Fri Jan 7 18:38:59 2011
+	+0100
+
+2011-01-07  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* configure.ac, gui/gtk/gtk_canvas.h, gui/gtk/gtk_glue_gtkglext.h,
+	macros/x11.m4: clean-up
+
+2011-01-07  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* macros/x11.m4: Fix x11-detection bug
+
+2011-01-07  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* gui/gtk/gtk.cpp: Cure some X11-headache on non-X11
+
+2011-01-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 8921362c3181647d649f739c8e18cde403dbc9b2 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Jan 4 17:34:24 2011 +0100
+
+2011-01-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Fix warning.
+
+2011-01-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/utility.h: Change UNUSED macro to work on references and
+	other non-assignable cases.
+
+2011-01-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SharedMem.cpp: Simplify ifdefs.
+
+2011-01-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SharedMem.cpp, libbase/SharedMem.h: Const correct and
+	simplify ifdefs.
+
+2011-01-03  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* configure.ac: Create configure temporary files in a secure way
+
+2011-01-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit e3b0cff5506ff6ed7ecfc19654c1e61a7ad3d621 Author: antrik
+	<antrik at users.sf.net> Date:   Thu Nov 25 11:49:04 2010 +0100
+
+2010-12-28  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: for libtool 1, add the libltdl source files to the
+	DIST
+
+2010-12-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit c4091d14127c9e42c30242dbe1f51502cd634282 Merge: 06d476f
+	6cd92f2 Author: Rob Savoye <rob at welcomehome.org> Date:   Sun Dec 26
+	20:32:38 2010 -0700
+
+2010-12-26  Rob Savoye <rob at welcomehome.org>
+
+	* testsuite/libbase.all/Makefile.am: add PTHREAD_CFLAGS
+
+2010-12-24  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* Makefile.am, packaging/redhat/gnash.spec, packaging/rpm.am: Fix
+	and improve rpm packaging, move rpm temp dir from $HOME to buildroot
+
+2010-12-23  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* macros/kde4.m4: Add /usr/lib64/kde4/devel to search kde4 lib path
+
+2010-12-22  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-swfc.all/Makefile.am: Drop use of $(shell) and warn
+	about portability issues
+
+2010-12-22  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/samples/Makefile.am:  seems to be a predefined variable, no need to be unportable for
+	 defining it. Thanks Petter for figuring this out.
+
+2010-12-21  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/Makefile.am: Another dir in EXTRA_DIST breaking lenny
+	build...
+
+2010-12-21  Sandro Santilli <strk at keybit.net>
+
+	* libsound/Makefile.am: Do not put a directory in EXTRA_DIST. It
+	isn't needed when content is explicitly used as sources (even if
+	conditional). Should fix distcheck on lenny.
+
+2010-12-20  Sandro Santilli <strk at keybit.net>
+
+	* .gitignore: ignore dump-gnash
+
+2010-12-20  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: define HAVE_LTDL for libtool 1.5, so the behaviour
+	is the same as libtool 2.x.
+
+2010-12-20  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Add -D and -S switches when building dump-gui.
+	Fixes bug #31829.
+
+2010-12-19  Sandro Santilli <strk at keybit.net>
+
+	* : commit e2c24291c780cb02f773ef9ae538130aaa1f59ed Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Dec 19 22:52:24 2010 +0100
+
+2010-12-19  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 3d1699b83689000fd27d763d04a26a310b800ac6 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Sun Dec 19 10:33:21 2010 -0700
+
+2010-12-19  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/Makefile.am: Oops, forgot this
+
+2010-12-19  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac, gui/Makefile.am, gui/dump/dump.am: dump-gui fully
+	moved in its dir
+
+2010-12-19  Sandro Santilli <strk at keybit.net>
+
+	* gui/Makefile.am: put dump stuff in dump .am
+
+2010-12-18  Brad Smith <brad at comstyle.com>
+
+	* configure.ac: Unbreak distcheck on OpenBSD.
+
+2010-12-17  Alessandro Pignotti <a.pignotti at sssup.it>
+
+	* plugin/npapi/plugin.cpp: Fix NPN_Invoke usage when executing
+	Javascript from the plugin
+
+2010-12-18  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 6852803ba5ff18d3efce77df28f7b55fb54a601d Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Sat Dec 18 21:10:37 2010 +0100
+
+2010-12-18  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* testsuite/Makefile.am, testsuite/actionscript.all/Makefile.am,
+	testsuite/as3compile.all/Makefile.am,
+	testsuite/misc-haxe.all/Makefile.am,
+	testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/action_order/Makefile.am,
+	testsuite/misc-ming.all/displaylist_depths/Makefile.am,
+	testsuite/misc-ming.all/loading/Makefile.am,
+	testsuite/misc-ming.all/loop/Makefile.am,
+	testsuite/misc-mtasc.all/Makefile.am,
+	testsuite/misc-swfc.all/Makefile.am,
+	testsuite/misc-swfmill.all/Makefile.am,
+	testsuite/misc-swfmill.all/trace-as2/Makefile.am,
+	testsuite/misc-swfmill.all/trace-as3/Makefile.am,
+	testsuite/network.all/Makefile.am: Replace gnumake idioms
+
+2010-12-18  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* testsuite/swfdec/Makefile.am: Replace gnumake idiom
+
+2010-12-17  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 6d1857cc6172e141a74a1a61587dfd21063f2f6d Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Fri Dec 17 23:24:48 2010 +0100
+
+2010-12-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-swfc.all/sound.sc: Accept 13766 as a valid sound
+	duration too (some liblame versions give that number to swfc...)
+
+2010-12-16  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* doc/C/Makefile.am: Fix info doc on openbsd
+
+2010-12-16  Sandro Santilli <strk at keybit.net>
+
+	* TODO: Error AS class is implemented
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 3eb8224f526719266b26fd32b4c23b8fb8c33936 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Dec 16 12:22:25 2010
+	+0100
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp, libcore/asobj/XMLNode_as.h,
+	libcore/swf/DefineButtonTag.cpp: Minor cleanups.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp: Drop unused assignment.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Geometry.cpp: Clean up includes.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/TextRecord.h: Const correct.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Geometry.cpp: Drop unused bool.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp, gui/gtk/gtk_canvas.cpp: Remove useless
+	assignments.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/fb/fb.cpp: Drop unused variable.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp: Drop useless conditional.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Move variable assignment to scope it's
+	used in.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/fb/InputDevice.cpp, gui/fb/InputDevice.h: Const correct.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.h: Operator= must return a reference to *this!
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.h: Const correct.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp: Style.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp, libcore/TextField.h: Drop useless variable
+	and const_cast.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp, libcore/TextField.h,
+	libcore/asobj/TextField_as.cpp: Drop some html text functions as
+	they are non-functioning stubs for an incorrect way to implement
+	this.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Const correct.
+
+2010-12-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp: Const correct.
+
+2010-12-16  Sandro Santilli <strk at keybit.net>
+
+	* macros/docbook.m4: Add brackets around control flow constructs to
+	make more readable
+
+2010-12-15  Sandro Santilli <strk at keybit.net>
+
+	* TODO: Load predictability item (really just a test for git poller
+	of buildbot)
+
+2010-12-15  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* Makefile.am: Add .lastmod to DISTCLEANFILES
+
+2010-12-15  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* Makefile.am: Replace stat with if -nt to compare modification
+	date. Fix openbsd build.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Makefile.am: Add file to dist.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* NEWS: Update news.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/agg/LinearRGB.h: Implement alpha.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/GradientFillTest.as: Test that alpha is
+	linear.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp, libcore/TextField.h: Adjust selection to
+	text length.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Selection.as: Add tests for crasher in
+	replaceSel().
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am: Run gradient tests.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/GradientFillTest.as: Add automatic testing
+	for gradient fills.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/agg/LinearRGB.h: Minor cleanups.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/agg/LinearRGB.h, librender/agg/Renderer_agg_style.h: 
+	Implement linearRGB for agg renderer.
+
+2010-12-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FillStyle.cpp, libcore/FillStyle.h,
+	libcore/asobj/MovieClip_as.cpp, libcore/parser/TypesParser.cpp: Add
+	actionscript support for interpolation mode.
+
+2010-12-14  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* packaging/deb.am: Remove hardcoded -j4 from debian packaging
+
+2010-12-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/libbase.all/Makefile.am,
+	testsuite/libbase.all/RcTest.cpp, testsuite/libbase.all/TCXXRc.cpp: 
+	Rename TCXXRc test... I never find it otherwise
+
+2010-12-13  Sandro Santilli <strk at keybit.net>
+
+	* : commit 65c3d209fe7e602c3bd9bb5b4b393ebdfb32106b Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Dec 13 22:34:34 2010 +0100
+
+2010-12-13  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* Makefile.am, packaging/deb.am: Add packageclean target to clean
+	after packaging
+
+2010-12-13  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: remove revno.h for distclean
+
+2010-12-12  Petter Reinholdtsen <pere at hungry.com>
+
+	* extensions/fileio/Makefile.am: Get rid of make file warnings in
+	fileio/Makefile.am Two new warnings were introduced into git recently:   Makefile:948: warning: overriding commands for target `test'   Makefile:941: warning: ignoring old commands for target `test' This patch get rid of them, by removing one of the two identical
+	test targets in Makefile.am:
+
+2010-12-12  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/dbus/Makefile.am, extensions/dejagnu/Makefile.am,
+	extensions/fileio/Makefile.am, extensions/gtk2/Makefile.am,
+	extensions/launcher/Makefile.am, extensions/lirc/Makefile.am,
+	extensions/mysql/Makefile.am: uninstall extensions properly so
+	distcheck is happy
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Fix warning.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineVideoStreamTag.cpp: Drop unneeded include again.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp, libcore/DisplayList.h,
+	libcore/DisplayObject.h, libcore/MovieClip.cpp, libcore/Video.cpp,
+	libcore/swf/PlaceObject2Tag.h: Store unsigned values as unsigned to
+	avoid the proliferation of silly checks throughout the code.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Video.cpp: Const correct.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Video.cpp, libcore/Video.h,
+	libcore/swf/DefineVideoStreamTag.cpp,
+	libcore/swf/DefineVideoStreamTag.h, libcore/swf/VideoFrameTag.cpp: 
+	Const correct, hide implementation, use ptr_containers.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashAlgorithm.h: Drop foreachFirst().
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashAlgorithm.h: Drop unused function; use ptr_containers
+	instead of this.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashAlgorithm.h: Drop RemovePointer; use boost's version
+	if needed again.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h, libcore/TextField.cpp: 
+	Use ObjectURI to index textfields.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/MovieTester.cpp: Fix testsuite.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h: Make another function non-virtual
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, librender/agg/Renderer_agg.cpp,
+	librender/cairo/Renderer_cairo.cpp,
+	librender/cairo/Renderer_cairo.h, librender/opengl/Renderer_ogl.cpp: 
+	Reduce the number of overloaded virtual functions with default
+	implementations.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, librender/agg/Renderer_agg.cpp: Drop unused
+	functions and const-correct used ones.
+
+2010-12-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, testsuite/MovieTester.cpp: Remove test-only
+	function from renderer interface.
+
+2010-12-11  Rob Savoye <rob at welcomehome.org>
+
+	* : commit fa50b232c7616225a31eb7cb6c3861d2512d593e Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Sun Dec 12 03:01:07 2010 +0100
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* .bzrignore: we don't need .bzrignore anymore...
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* : commit f4e343c142b44cc9b7dc753270b6f96e4da18e9c Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Dec 11 23:53:02 2010 +0100
+
+2010-12-11  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 07512ec2918aeec0677d02fd4b36a326565c652b Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Sat Dec 11 15:51:31 2010 -0700
+
+2010-12-11  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* .gitignore: Improve .gitignore
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Simplify counting commits using rev-list. Thanks
+	antrik for finding this out.
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: For openbsd the default gui set is: gtk=yes,
+	dump=auto (drop kde3)
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* macros/kde3.m4: Backslash ${prefix} for kde3 too...
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* macros/kde4.m4: Evaluate ${prefix} later to avoid NONE
+
+2010-12-11  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Make sure PLUGINS_INSTALL_POLICY is set before
+	GNASH_PATH_KDE* are called. Should fix distcheck (bug #31845)
+
+2010-12-10  Sandro Santilli <strk at keybit.net>
+
+	* .gitignore: Ignore gnash-* (packages) plus couple more missing
+	files
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashAlgorithm.h, libcore/Relay.cpp, libcore/Relay.h,
+	libcore/as_object.h, libcore/movie_root.cpp,
+	libcore/swf/DefineTextTag.cpp, libcore/vm/fn_call.h: Fix crashes and
+	const correct.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Sound_as.cpp: Ensure that the this object is valid.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 027f27df8b3dc04e51f5af8d54a9c8fe35c42373 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Dec 10 15:47:57 2010 +0100
+
+2010-12-10  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Remove unused HAVE_SDL conditional
+
+2010-12-10  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Check for input devices after deciding if FB should
+	be built or not. Should fix bug #31846
+
+2010-12-10  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Implement yes/no/auto for FB gui. Defaults to auto.
+	Build only on linux and if AGG renderer is enabled.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Makefile.am,
+	testsuite/actionscript.all/argstest.as: Add test to call as many
+	functions as possible with various arguments.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLNode_as.cpp: Cleanup of includes.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLNode_as.cpp: Drop more debugging.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/LoadableObject.cpp: Drop debugging message.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLSocket_as.cpp: Fix another crash.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLSocket_as.cpp: Fix a number of potential crashes
+	in XMLSocket.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Color_as.cpp: Don't use init_member because this
+	will cause a crash if the member is read-only.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClipLoader.cpp,
+	libcore/asobj/MovieClipLoader.h: Include header and make it
+	independent.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClipLoader.cpp: Fix crash.
+
+2010-12-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClipLoader.as: Cause crash.
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: don't build the Framebuffer GUI for BSD when
+	--enable-gui=all is used
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 72e27bb000a46cd4b20652f6a78aa340f29458a2 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Thu Dec 9 15:36:18 2010 -0700
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* gui/Makefile.am: don't add libltdl to GNASH_LIBS, it's already in
+	libgnashbase
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* gui/aos4/aos4.am, gui/aqua/aqua.am, gui/dump/dump.am,
+	gui/fb/Makefile.am, gui/fltk/fltk.am, gui/haiku/haiku.am,
+	gui/kde/kde3.am, gui/sdl/sdl.am: don't add (LIBLTDL) to LDFLAGS,
+	libltdl is part of libgnashbase.
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* gui/gtk/gtk.am, gui/kde/kde4.am: don't add (LIBLTDL) to LDFLAGS,
+	libltdl is part of libgnashbase.
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: make sure revno.h exists before trying to
+	grep it.
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: don't try to use git if it doesnj't exist.
+
+2010-12-09  Sandro Santilli <strk at keybit.net>
+
+	* gui/gtk/gtk.cpp: Add branch infor in printed version
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: don't use (shell), it tries to evaluate at
+	runtime instead of access time
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: add echo when rebuilding revno.h
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: add documentation for the revno,h target
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: always run libtool and libltdl tests
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: * Use AC_SUBST for git intstead of conditional * AC_PROG_LIBTOOL has to be after the other libtool tests * Don't build kde3 or fltk2 when building all guis
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: * Only regenerate revno.h after a git commit or pull.  * Build revno,.h in the build tree, not the source tree so this
+	  still works on NFS mounted filesystems.  * Default to the date if there are any problems with git * Only remove revno.h for a maintainer clean.
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* autogen.sh: delete old libtool m4 files from macros when
+	generating libltdl. When using libtoolize 1, the m4 macros are ihn
+	libltdl, so add that path so we get the right macros.
+
+2010-12-09  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am, packaging/snapshot.am: Revert "only rebuild revno,.h
+	if something has changed. Default to the date if GIT isn't found." This reverts commit fbc5d9e9d82f596a5872a4e162b65aa48428aefc.  The revert is due to misleading commit message:  - revno.h was only rebuilt if sources changed before this commit,
+	   while this commit forces removal of it and thus unconditional
+	 re-creation - this commit moves revno.h from source tree to build tree w/out
+	   saying so in the commit log Additionally (but would normally not trigger a revert)  - the date default is useless as revno.h should always be in
+	   packages obtained w/out git and you can always generate if you got
+	   the sources using git.  NOTE: I wouldn't revert commits if they weren't themselves reverts
+	      of mine in the first place. Please discuss changes on the
+	      development mailing list to avoid commit wars...
+
+2010-12-09  Petter Reinholdtsen <pere at hungry.com>
+
+	* utilities/findwebcams.cpp: Get rid of warnings in findwebcams.cpp [Petter Reinholdtsen] > I had a look at the following warnings from
+	the current build on > squeeze-kfreebsd.  > > findwebcams.cpp:132:
+	warning: comparison between signed and unsigned integer expressions
+	> findwebcams.cpp:161: warning: comparison between signed and
+	unsigned integer expressions > findwebcams.cpp:170: warning:
+	comparison between signed and unsigned integer expressions >
+	findwebcams.cpp:173: warning: format '%d' expects type 'int', but
+	argument 2 has type 'size_t' > findwebcams.cpp:208: warning:
+	comparison between signed and unsigned integer expressions > > I
+	believe this patch solve the issues, bu using size_t for >
+	non-negative values and casting the size_t argument to %d to (int).  Here is an updated patch, based on the current git repository.  The
+	format issue is already fixed in git, so only the signed/unsigned
+	issues are fixed in this patch.  Signed-off-by: Sandro Santilli <strk at keybit.net>
+
+2010-12-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am, packaging/snapshot.am: only rebuild revno,.h if
+	something has changed. Default to the date if GIT isn't found.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/AMF.cpp, libbase/AMF.h, libcore/AMFConverter.cpp: Hide
+	swapBytes, use writePlainNumber().
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/AMFConverter.cpp: Don't duplicate code.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/AMFConverter.cpp: Correct log message.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetStream_as.cpp: Use exising AMF functions to clean
+	up.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/asobj/MovieClip_as.cpp: Tidy up code style
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Font.cpp, libcore/Font.h: Drop unused function
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineVideoStreamTag.cpp: Remove unused function.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp: Fix silly type usage.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h: Drop unused function.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp: Attempts to clone root or non-movieclips
+	are AS coding errors.
+
+2010-12-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Use aserror instead
+	of error.
+
+2010-12-09  Sandro Santilli <strk at keybit.net>
+
+	* : commit c103bbe686e0d2335e4de1aa40a7f19317438960 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Dec 9 09:19:05 2010 +0100
+
+2010-12-09  Sandro Santilli <strk at keybit.net>
+
+	* packaging/snapshot.am: Take REVNO variable from revno.h as well,
+	so use of GIT is centralized in a single rule
+
+2010-12-09  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Add COMMIT_ID macro in revno.h and revert
+	BRANCH_REVNO to a sequential number
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/rpm.am: use PACKAGE_VERSION instead of hardcoded
+	gnash-master when renaming the snapshot directory
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 71ac404e2fc9695daa0d2be85e81d045e8b9a88a Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Wed Dec 8 15:53:35 2010 -0700
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Revert "don't look for git here, we do it at
+	runtime" This reverts commit 045c4630ae4327b307880034e48de77377445885.
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Revert "Look for git at runtime. Default to the date
+	if no git. Create revno.h in the build tree" This reverts commit bfa00dee0eb79cb74e197e78c73a062bdd7eb1ce.
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit 8130f3a33368e58fe65e9e5f56ed35e983b3d209 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Dec 8 23:34:08 2010 +0100
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: Look for git at runtime. Default to the date if no
+	git. Create revno.h in the build tree
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: don't look for git here, we do it at runtime
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: create a revno for the package that's
+	different from the git revno.
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* macros/ffmpeg.m4: add /usr/include/ffmpeg to the front of the
+	incllist, so swscale gets found too
+
+2010-12-08  Rob Savoye <rob at welcomehome.org>
+
+	* : commit ed01ef8b5a6331b10f91c15e30085fca519f00a3 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Wed Dec 8 12:42:36 2010 -0700
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.h: Fix documentation.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/RTMP.cpp: Header order.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp: Header order.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/VideoDecoderFfmpeg.cpp: Header order.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/AudioDecoder.h, libmedia/ffmpeg/AudioDecoderFfmpeg.h: 
+	Drop incorrect ifdef markers.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp,
+	libmedia/ffmpeg/AudioDecoderFfmpeg.h: Break long lines.
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Be even nicer on update (don't show diff output at
+	all)
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Be nicer when reporting revno.h activity in the case
+	in which revno.h is not there
+
+2010-12-08  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* .gitignore: Add testsuite/swfdec/src to .gitignore
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit 59991fcc5e60a652cf1ce5c5c6834657adfaa5b8 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Dec 8 13:48:16 2010 +0100
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/processor.cpp: Handle more options in gprocessor.
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Simplify commit extraction, and use abbreviated
+	commit id
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* packaging/debian/rules: Find revno.h in source dir, not build dir
+
+2010-12-08  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am, configure.ac: Update revno.h at every make
+	invocation. Make sure to generate in source dir (not build dir) for
+	proper distribution. Report failure reasons. Never use a stub.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 421d14fcdaa31ef6d6e81b462375f4fe39c19eb3 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Dec 8 10:00:18 2010 +0100
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp: Use NOTIFY_ERROR in Player too.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/HostInterface.h, libcore/asobj/NetStream_as.cpp: Don't use
+	ERROR because some implementations incorrectly use it as a macro.
+	Fix volume adjustment and document.
+
+2010-12-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/System_as.cpp: Use char.
+
+2010-12-07  Sandro Santilli <strk at keybit.net>
+
+	* macros/mysql.m4: Fix reporting of mysql_config detection
+
+2010-12-07  Sandro Santilli <strk at keybit.net>
+
+	* macros/mysql.m4: Fix reporting of MySQL libraries detection
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Mouse_as.cpp, utilities/processor.cpp: Fix swapped
+	arguments.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gtk/gtk.cpp, gui/gtk/gtksup.h, gui/gui.cpp,
+	gui/gui.h, libcore/movie_root.h, utilities/processor.cpp: Implement
+	clipboard setting.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gtk/gtk.cpp, gui/gtk/gtksup.h, gui/gui.h: 
+	Const correct and improve interface.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.h: Include required headers.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/System_as.cpp: Use the pp's order for
+	System.capabilities, more for easier checking than compatibility.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.h: Return "color" by default.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/System_as.cpp: Add a note on pixel aspect ratio.
+
+2010-12-07  Sandro Santilli <strk at keybit.net>
+
+	* libbase/GnashFileUtilities.cpp, libbase/GnashFileUtilities.h: Fix
+	mkdirRecursive support for _absolute_ paths (sorry). Document both
+	mkdirRecursive and mkdirUserPermissions
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/Player.h, libcore/HostInterface.cpp,
+	libcore/HostInterface.h, libcore/Makefile.am,
+	libcore/asobj/Mouse_as.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/System_as.cpp, libcore/movie_root.cpp,
+	libcore/movie_root.h, utilities/processor.cpp: Add new host
+	interface.
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libsound/sound_handler.h: There is no page
+
+2010-12-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/ClockTime.cpp, libbase/ClockTime.h: Put clocktime under
+	Gnash namespace
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: Log an error when whence
+	parameter as unexpected value
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libbase/GnashFileUtilities.cpp: Do not assume directories passed
+	to mkdirRecursive have to be absolute. Fixes bug #31811.
+
+2010-12-06  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 277d8f08c1c7b02d156322ecc878d4dd1ad9e46e Author: Gabriele
+	Giacone <1o5g4r8o at gmail.com> Date:   Mon Dec 6 11:39:29 2010 +0100
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: Still useful to see the
+	actual seek requested, so include in the exception thrown
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: Oops, forgot debugging
+	lines in
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: Fix comments in seek
+	function, throw an exception rather than ask IOChannel to seek to
+	negative positions (to have more precise error message, nothing
+	more..)
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libbase/curl_adapter.cpp: Throw an exception rather than aborting
+	when asked to seek at negative position
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Log debug line on ffmpeg
+	audio decoder initialization (symmetrically with video decoder
+	behaviour)
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: formatting, no functional
+	changes
+
+2010-12-06  Sandro Santilli <strk at keybit.net>
+
+	* libbase/curl_adapter.cpp: typo
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp: Reorder includes.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/Player.h: Drop odd define and use std:: for
+	stdlib functions.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/System_as.cpp: Drop static.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.cpp: Don't waste space.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.cpp: Remove silly and unreachable logging
+	message.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.cpp, libcore/asobj/flash/flash_pkg.cpp: 
+	Remove silly switch.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClip_as.cpp: Small changes.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Simplify more.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Simplify.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Implement
+	Rectangle.offsetPoint
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Implement
+	Rectangle.offset
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Reorder includes
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/swfdec/PASSING: Swfdec tests pass.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Implement
+	Rectangle.equals().
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Use as_error and
+	simplify.
+
+2010-12-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Rectangle_as.cpp: Simplify contains().
+
+2010-12-04  Rob Savoye <rob at welcomehome.org>
+
+	* plugin/npapi/Makefile.am: Add X11_CFLAGS to keep OpenBSD happy
+
+2010-12-04  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 17939244d678bbc6dfdfa1757c2e99f879cdd3e5 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Sat Dec 4 15:35:54 2010 -0700
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: cleanup warning text
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* macros/kde4.m4: Don't set has_kde4 if headers are not found too
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: update informations about disabling kde4 gui
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Set kde3 gui off by default. It's broken... see
+	https://savannah.gnu.org/bugs/index.php?31782
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* macros/qt4.m4: qt4 macro file shouldn't set kde4 stuff
+
+2010-12-04  Markus Gothe <nietzsche at lysator.liu.se>
+
+	* : commit 99e6c5f5f7a91164f3499b1b0e9691b81619470b Author: Markus
+	Gothe <nietzsche at zarathustra.local> Date:   Sat Dec 4 18:39:27 2010
+	+0100
+
+2010-12-04  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* gui/Makefile.am: fixed gnu make idiom
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Implement yes/no/auto for kde3, default to auto
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Implement yes/no/auto semantic for kde4 gui. Default
+	to auto.
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Get rid of HAVE_GTK2 conditional (never used) and
+	has_gtk2 (marked as FIXME: shouldn't be here)
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Use tabs consistently
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: QT is not a GUI, KDE and QTOPIA are. Behave
+	accordingly.
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* macros/qt3.m4: Fix syntax error (missing test invocation)
+
+2010-12-03  Gabriele Giacone <>
+
+	* macros/qt4.m4: add uic4 and moc4 as alternatives
+
+2010-12-03  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac, macros/curl.m4: += doesn't work with bourne shell
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* : commit f0fd2e892d6c58bf1df3d3ced3fe08772e06f1a9 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Dec 4 00:41:21 2010 +0100
+
+2010-12-04  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac, macros/qt3.m4, macros/qt4.m4: Do not use build_qt3
+	and build_qt4 variables within GNASH_PATH_QT3 and GNASH_PATH_QT4,
+	rather avoid calling that macro as a whole if those variables aren't
+	set to request such builds
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* doc/C/refmanual/internals.xml: Directory was renamed.
+
+2010-12-03  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Implement yes/no/auto semantic for ffmpeg
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/MovieClip.cpp,
+	libcore/event_id.h, libcore/movie_root.cpp,
+	libcore/swf/PlaceObject2Tag.cpp, libcore/swf/PlaceObject2Tag.h,
+	libcore/swf_event.h: Use ptr_container, const correct, make event_id
+	ctor explicit.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/MovieClip.cpp: Const correct
+	and use to_movie
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h: Const correct
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h: Use a ptr_list for
+	clarity.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit e79e72f7629bf12fd541ff47e1154b73faad8e74 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Fri Dec 3 16:25:14 2010 +0100
+
+2010-12-03  Petter Reinholdtsen <pere at hungry.com>
+
+	* configure.ac: Implement auto/yes/no semantic for OGL renderer
+
+2010-12-03  Petter Reinholdtsen <pere at hungry.com>
+
+	* utilities/findwebcams.cpp: Replace g_print with iostreams.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* cygnal/cvm.cpp, gui/gui.cpp, libcore/movie_root.h,
+	utilities/processor.cpp: Do another TODO.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.h: Do TODO.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Tabs to spaces.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/TextField.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h: Return a pair from
+	mousePosition instead of using out parameters.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp: Cleanup, drop unneeded helper functions.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp, libcore/movie_root.h: Use shared_ptr for
+	the timers to avoid potential bugs when iterators are invalidated
+	during action execution.
+
+2010-12-03  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 5b7c0de2385f5b9d6fbc40cef6447aaebae67d00 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Thu Dec 2 18:51:41 2010 -0700
+
+2010-12-02  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/GnashImagePng.cpp: use PNG_LIBPNG_VER_MINOR instead of
+	PNG_LIBPNG_VER_RELEASE
+
+2010-12-02  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.cpp, libcore/movie_root.cpp,
+	libcore/movie_root.h: Use ptr_containers, be a bit stricter with
+	timer id types.
+
+2010-12-02  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 124d3651e327dd0cabafa1779ef958c460d69605 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Thu Dec 2 12:11:53 2010 -0700
+
+2010-12-02  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieLoader.cpp, libcore/MovieLoader.h: Use
+	ptr_containers.
+
+2010-12-02  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp, libcore/movie_root.h,
+	libcore/swf/DefineButtonTag.cpp, libcore/swf/DefineButtonTag.h: Use
+	ptr_containers to make pointer handling simpler.
+
+2010-12-02  Sandro Santilli <strk at keybit.net>
+
+	* libcore/SWFMatrix.cpp: Explicitly use double std::pow(double,
+	int). Should fix build on openbsd
+
+	(http://gnashdev.org:8010/builders/4.8-release-openbsd-amd64/builds/6/steps/compile/logs/stdio)
+
+2010-12-01  Rob Savoye <rob at welcomehome.org>
+
+	* libcore/SWFMatrix.cpp: fix compile problem on OpenBSD and Ltib
+
+2010-12-01  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/ltib/gnash.spec: simplify spec file
+
+2010-12-01  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/Makefile.am: add OPENGL_CFLAGS to CPPFLAGS for OpenBSD
+
+2010-12-01  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 06907b931859501ae1daf193d1c1576aecda1124 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Wed Dec 1 15:49:02 2010 -0700
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/findmicrophones.cpp, utilities/findwebcams.cpp,
+	utilities/rtmpget.cpp: Include iostream.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.h: Don't include thread.hpp arbitrarily.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FreetypeGlyphsProvider.cpp: Don't exit; throw an exception
+	and let callers handle it.  Use Gnash logging instead of iostreams.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Range2d.h, libbase/URLAccessManager.cpp,
+	libbase/sharedlib.cpp, libcore/DisplayList.cpp,
+	libcore/FillStyle.cpp, libcore/SWFRect.h,
+	libcore/asobj/NetConnection_as.cpp, libcore/movie_root.cpp,
+	libcore/swf/DefineFontAlignZonesTag.cpp,
+	libcore/swf/DefineFontAlignZonesTag.h, libcore/swf/SWF.cpp,
+	libcore/vm/VM.cpp, libsound/WAVWriter.cpp: Include <ostream>, not
+	<iostream> for std::ostream.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/rc.h: Use forward declaration of streams.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/IOChannel.h: Reorder includes.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/rc.cpp: Rearrange includes.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/noseek_fd_adapter.cpp: Include <iostream>.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/memory.cpp: Include <iostream> for cerr and cout.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/log.cpp: Include required headers.
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2ca64b42a538274d957c7b2c6786e15d006f2250 Merge: e6e9d9f
+	19443da Author: Benjamin Wolsey <bwy at benjaminwolsey.de> Date:   Wed
+	Dec 1 10:47:37 2010 +0100
+
+2010-12-01  Sandro Santilli <strk at keybit.net>
+
+	* libcore/parser/action_buffer.cpp: another <cstring> include
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/utf8.cpp, libcore/vm/ASHandlers.cpp: Required includes
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/utf8.cpp, libbase/utf8.h, libcore/vm/ASHandlers.cpp: Move
+	functions to utf8.h for better implementation hiding.
+
+2010-12-01  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/AudioInputGst.cpp: Include <cstring> for string calls
+
+2010-12-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SharedMem.cpp: Include header required for std::strerror.
+
+2010-11-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/ltib/gnash.spec: remove packages for stuff we don't need
+	on ltib.
+
+2010-11-30  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: move libltdl tests below --enable-extensions test,
+	and don't enable libltdl unless extensions are enabled. By defaullt
+	no extensions are build, so by default, libltdl will not be built or
+	used.
+
+2010-11-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/swfdec/REALTIME: Revert "Run some tests in realtime"
+	because it doesn't work.  This reverts commit 4b9bf6a6ea6de1cc2113ce6851526c4e252f086b.
+
+2010-11-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/swfdec/REALTIME: Run some tests in realtime.
+
+2010-11-30  Sandro Santilli <strk at keybit.net>
+
+	* : commit 7e8e4fb260fa2a5a12bee9dfc3236cfc3bc37725 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 30 10:06:19 2010 +0100
+
+2010-11-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit f0bd43adebbcf3bb2508d20aafadfaaaba0b08ff Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 30 09:57:28 2010 +0100
+
+2010-11-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit ac24041672fa1f6810e3ee03a60507a43764d280 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Nov 29 17:17:35 2010 +0100
+
+2010-11-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/Makefile.am: Utilities don't need to link to X11.
+
+2010-11-29  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/Makefile.am,
+	testsuite/misc-swfc.all/Makefile.am: Use  for finding abs paths, so
+	CPP doesn't have to deal with backticks...
+
+2010-11-29  Sandro Santilli <strk at keybit.net>
+
+	* : commit 30894d92e4cf931c5b7c5ab8ba424ff11b65342c Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Mon Nov 29 09:09:56 2010
+	+0100
+
+2010-11-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/log.h, librender/opengl/Renderer_ogl.cpp: Don't include
+	thread.hpp unnecessarily.
+
+2010-11-28  Sandro Santilli <strk at keybit.net>
+
+	* extensions/fileio/fileio.cpp: Fix use of Array_as
+
+2010-11-28  Sandro Santilli <strk at keybit.net>
+
+	* gui/Makefile.am: Don't forget to escape newline, or boost and
+	pthread libs are left out (as lucid-linux-x86 shows)
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* utilities/processor.cpp: Drop old/obsoleted code
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-mtasc.all/Makefile.am: Sleep even more
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* : commit aa53c0408dbf8cb78cb5728aac6194d9dee61cd7 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Nov 26 15:51:17 2010 +0100
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/generic-testrunner.sh: Allow specifying milliseconds
+	between advances
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/rtmpytest.as: Prove that $version is used,
+	and since Gnash doesn't use it the test fails.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp,
+	testsuite/misc-ming.all/rtmpytest.as: Pass argument with remote
+	function calls, fixing failing tests.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/rtmpytest.as: Add more tests.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/rtmpytest.as: Run test and expect pass.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/rtmpy-echo-server.py: Minor changes to server.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac, testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/red5test.as,
+	testsuite/misc-ming.all/rtmpytest.as,
+	testsuite/rtmpy-echo-server.py: Add rtmpy test.
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* : commit 822c7c68dc00e95746ef479eab217f2d41932ee8 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Nov 26 10:42:21 2010 +0100
+
+2010-11-26  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/AudioInputGst.h: don't need a semicolon at function
+	body end
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit b902917c56b485381e6de496a125502d0840cd87 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Nov 26 09:32:54 2010 +0100
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ClassHierarchy.cpp: Drop unneeded include.
+
+2010-11-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ClassHierarchy.cpp, libcore/ClassHierarchy.h,
+	libcore/asobj/Global_as.cpp: Include the required headers.
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/simple.exp: shorten timeout to 5 minutes, let's see if
+	that's enough for all tests being run
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Don't cd into a yet-to-be-created dir
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/swfdec/Makefile.am: Make swfdec test runners dependent
+	on Makefile
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Allow omitting arg to --with-swfdec-testsuite to
+	default to where 'make fetch-swfdec' will put things
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* : commit c3849965522c9f2a460a10137d5dba720860e266 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Nov 25 20:59:42 2010 +0100
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Transform.as: Expect failures.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Transform.as: Fix test results for pp.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/pythonmod/gnash-view.cpp: Adapt python module to getURI
+	interface.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit e298d9b8fcd7637f2e79a7569a02abc363519901 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Nov 25 15:55:16 2010
+	+0100
+
+2010-11-25  Sandro Santilli <strk at keybit.net>
+
+	* : commit 4c18be0d39151da1bed49c31638e313cd8136939 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Nov 25 15:25:38 2010 +0100
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: Tests pass.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Send reply from server rather
+	than making our own.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: Test failed call.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: Tabs to spaces.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/SWFMatrix.cpp: Fix silly
+	spacing, use std::pow
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.cpp: Only log error when requested, and drop
+	misleading info.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClip_as.cpp: Convert error to aserror.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Convert error to a swferror.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Don't log aserror if not
+	wanted.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashNumeric.h, libcore/SWFMatrix.cpp,
+	libcore/vm/ASHandlers.cpp: Restore undefined behaviour because Lenny
+	doesn't have boost 1.35
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashNumeric.h: Functions don't have ; after the close
+	brace.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/red5test.as: Enable red5test and add sanity
+	check.
+
+2010-11-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 323c94c78e15453d7a8f8b127bd24c92111fe472 Author: Tim
+	Retout <tim at retout.co.uk> Date:   Wed Nov 24 18:51:32 2010 +0000
+
+2010-11-24  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: make it possible to configure no sound handler
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFMatrix.cpp, testsuite/libcore.all/MatrixTest.cpp: Fix
+	typos.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/MatrixTest.cpp: Fix testsuite.
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/VideoDecoderGst.cpp: Tell more about which codec
+	failed VideoDecoderGst initialization
+
+2010-11-24  Petter Reinholdtsen <pere at hungry.com>
+
+	* plugin/npapi/test.cpp: Reduce compiler warnings in plugin test.cpp I had a look at the compiler warnings shown when doing make check,
+	more specifically these warnings: test.cpp: In function 'int main(int, char**)': test.cpp:120:
+	warning: unused variable 'obj' test.cpp: At global scope:
+	test.cpp:41: warning: unused parameter 'argc' test.cpp:41: warning:
+	unused parameter 'argv' test.cpp: In function 'void*
+	NPN_GetStringIdentifier(const NPUTF8*)': test.cpp:308: warning: no
+	return statement in function returning non-void test.cpp: At global
+	scope: test.cpp:306: warning: unused parameter 'name' test.cpp: In
+	function 'nsPluginInstanceBase*
+	NS_NewPluginInstance(nsPluginCreateData*)': test.cpp:313: warning:
+	no return statement in function returning non-void test.cpp: At
+	global scope: test.cpp:311: warning: unused parameter
+	'aCreateDataStruct' test.cpp: In function 'NPError
+	NS_PluginGetValue(NPPVariable, void*)': test.cpp:318: warning: no
+	return statement in function returning non-void test.cpp: At global
+	scope: test.cpp:316: warning: unused parameter 'aVariable'
+	test.cpp:316: warning: unused parameter 'aValue' test.cpp: In
+	function 'NPError NS_PluginInitialize()': test.cpp:323: warning: no
+	return statement in function returning non-void test.cpp: At global
+	scope: test.cpp:338: warning: unused parameter 'aPlugin' test.cpp:
+	In function 'bool NPN_SetProperty(NPP_t*, NPObject*, void*, const
+	NPVariant*)': test.cpp:348: warning: no return statement in function
+	returning non-void test.cpp: At global scope: test.cpp:344: warning:
+	unused parameter 'npp' test.cpp:344: warning: unused parameter 'obj'
+	test.cpp:351: warning: unused parameter 'npp' test.cpp:351: warning:
+	unused parameter 'obj' test.cpp:351: warning: unused parameter
+	'value' test.cpp:358: warning: unused parameter 'npp' test.cpp:358:
+	warning: unused parameter 'obj' test.cpp:358: warning: unused
+	parameter 'value' test.cpp: In function 'bool
+	NPN_HasProperty(NPP_t*, NPObject*, void*, const NPVariant*)':
+	test.cpp:366: warning: control reaches end of non-void function I left the unused variables alone, assume someone left them around
+	for a purpose, and concentrated on the non-void functions lacking
+	return values instead.  This patch should get rid of them.  The file have inconsistent
+	indentation, so I went with the indentation used directly above the
+	code I inserted.  Allmost all the functions with missing return
+	values are stubs, so I did not put much effort into generating a
+	sensible return value.  Signed-off-by: Sandro Santilli <strk at keybit.net>
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/AudioDecoderGst.cpp: Tell more about which codec
+	failed AudioDecoderGst initialization
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/Makefile.am: Use a TEST_ENV variable to
+	store env variables we want to use on make check. Put the
+	GST_PBUTILS there.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFMatrix.cpp: More rationalizing.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFMatrix.cpp: Reduce duplication and make the code safer.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFMatrix.cpp, libcore/SWFMatrix.h,
+	libcore/TextField.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/TextSnapshot_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp,
+	libcore/swf/TextRecord.cpp, librender/agg/Renderer_agg.cpp,
+	librender/agg/Renderer_agg_style.h,
+	librender/cairo/Renderer_cairo.cpp,
+	librender/opengl/Renderer_ogl.cpp: Provide accessors to SWFMatrix
+	and hide data.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.h: Include required header.
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: *-kfreebsd is a bsd too... see
+	https://savannah.gnu.org/patch/?7403
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/gst_install_plugins_helper.sh: Add wrapper script for
+	gst_install_plugins_helper
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/Makefile.am: Set
+	GST_INSTALL_PLUGINS_HELPER to the testsuite script
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashNumeric.h, libcore/SWFMatrix.cpp,
+	libcore/vm/ASHandlers.cpp: Handle overflows without UB.
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/Makefile.am: Add a note about red5test not
+	being executed on 'make check'
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/simple.exp: Don't enforce a specific locale, as Gnash
+	should pass tests under all locales.
+
+2010-11-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Transform_as.cpp: Make some errors into
+	aserrors.
+
+2010-11-24  Sandro Santilli <strk at keybit.net>
+
+	* plugin/klash4/klash_part.cpp: Fix warning in klash4, thanks Petter
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* macros/haxe.m4: fix haxe version detection
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/movies.all/gravity_embedded-TestRunner.cpp: Have
+	gravity_embedded-TestRunner wait for gravity.swf load
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/MovieTester.cpp, testsuite/MovieTester.h: Add
+	findDisplayItemByTarget in MovieTester
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/masks_testrunner.cpp: Increase test
+	tolerance to 3 to cope with agg's RGB555 format.
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am, gui/Makefile.am, gui/fb/Makefile.am,
+	libmedia/Makefile.am, utilities/Makefile.am: Update references to
+	pbutils package
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: For pbutils, use a name pkgconfig knows about
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: If gstpbutils headers are not found, set
+	has_gstpbutils=no (otherwise it'd be = yes if just libs are found);
+	have final configure lines check for has_gstpbutils, not
+	has_modern_gstpbutils (which nobody even tries to set); have
+	RECOMEND line suggest use of --with-gstpbutils-incl, which helps
+	autoconf figuring out
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* : commit 77017023ca7f31a093925b82bdad64bf4c9834a7 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 23 18:46:18 2010 +0100
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Date.as: Use a smaller number to avoid
+	discrepencies with floating point optimizations.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/String_as.cpp: Minor cleanup.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SWFCtype.cpp: Sort map assignments for fun.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/caseconv.as: Drop left-over code.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SWFCtype.cpp, libbase/SWFCtype.h: Add boilerplate and an
+	else.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/SWFCtype.cpp: Simplify SWCtype mapping.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/caseconv.as: Don't run tests for
+	version 5.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am, libbase/SWFCtype.cpp, libbase/SWFCtype.h,
+	libbase/utf8.h, libcore/asobj/String_as.cpp: Add a ctype facet for
+	Flash case conversion.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/utf8.cpp: For Adobe, some invalid unicode is valid.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Makefile.am,
+	testsuite/actionscript.all/caseconv.as: Add a test for all case
+	conversions.
+
+2010-11-23  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/utf8.cpp: Drop support for 5- and 6-byte utf-8, as Adobe
+	doesn't support it.
+
+2010-11-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/String_as.cpp: it's strings, not displayobjects,
+	we're trying to convert to upper/lower case
+
+2010-11-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 1b68dac7fb05d3b529fa127ad4eb738dd9f0a36b Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Nov 22 17:41:15 2010 +0100
+
+2010-11-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/String_as.cpp: Spacing.
+
+2010-11-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/parser/SWFMovieDefinition.cpp: Do not log an error about
+	missing export symbols when export symbols ARE FOUND!
+
+2010-11-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/parser/SWFMovieDefinition.cpp: do not translate debug
+	messages
+
+2010-11-22  Petter Reinholdtsen <pere at hungry.com>
+
+	* libmedia/gst/AudioInputGst.cpp, libmedia/gst/AudioInputGst.h: Keep
+	original gain value to avoid rounding errors on query.
+
+2010-11-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit cd0a943529ebc4db3d64801fdd7be12e08417750 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Mon Nov 22 09:58:18 2010
+	+0100
+
+2010-11-22  Gabriele Giacone <1o5g4r8o at gmail.com>
+
+	* .gitignore: Simplified and improved .gitignore, see
+	https://savannah.gnu.org/patch/?7400
+
+2010-11-21  Sandro Santilli <strk at keybit.net>
+
+	* README: SDL is not only used for FFmpeg media
+
+2010-11-21  Sandro Santilli <strk at keybit.net>
+
+	* README.git: tab to space in the table of tools version
+
+2010-11-21  Sandro Santilli <strk at keybit.net>
+
+	* utilities/findmicrophones.cpp: Fix comparison between signed and
+	unsigned integer
+
+2010-11-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/gst/AudioInputGst.cpp, libmedia/gst/AudioInputGst.h: 
+	Don't store the vector size; vector does that.
+
+2010-11-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Camera_as.cpp, libcore/asobj/Microphone_as.cpp: 
+	Don't leak inputs.
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* .gitignore: Ignore *.o and *.moc + some others
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* .gitignore: .configline is in top-level dir now
+
+2010-11-20  Petter Reinholdtsen <pere at hungry.com>
+
+	* utilities/findwebcams.cpp: Fix compiler warning
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/samples/Makefile.am: Actually, dro the _DEPENDENCY,
+	which isn't needed at all in this case
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/samples/Makefile.am: Make sure that when _DEPENDENCIES
+	is used, _LDADD is added to it. Should fix lack of rebuild of some
+	test runners when MovieTester is updated
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* : commit d9542a13acc1a2ef847a52fb1842f5ce84923d93 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Nov 20 08:36:56 2010 +0100
+
+2010-11-20  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/loading/Makefile.am: use rm -f to not get
+	error on unexistant files (should we be using CLEAN_FILES instead ?)
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* libcore/TextField.cpp: Tell more about "Unexpected color value"
+	(which is likely another case in which we do not want to log an
+	_error_)
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* libcore/movie_root.cpp: Since we're logging an error for missing
+	_interfaceHandler (which we maybe shuldn't), do it with more
+	informations
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/MovieTester.cpp: Do not log an error when media handler
+	_exists_ (just spreading terror)
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/simple.exp: print ERROR logs coming out on 'make check'
+	when RUNTESTFLAGS=-v
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp: no
+	functional change, style only
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 84a5cd7ce35b3382ca1b6e8a0c2cceb0f9c42bc4 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Nov 19 14:27:04 2010 +0100
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash.am: Drop commented out code.
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/MovieTester.cpp: Do not show invalidated bounds on
+	advance (not useful unless you're preparing a test _runner_ and want
+	to know)
+
+2010-11-19  Sandro Santilli <strk at keybit.net>
+
+	* : commit 6fb63b99267a934d23ffb5aeb1b77ac8615e364c Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Nov 19 13:32:29 2010 +0100
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropFlags.h, libcore/Property.h,
+	libcore/PropertyList.cpp, libcore/as_object.h,
+	libcore/asobj/Object.cpp, testsuite/libcore.all/PropFlagsTest.cpp: 
+	Simplify PropFlags and add better tests.
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/agg/Renderer_agg.cpp: Fix compiler warnings.
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, libcore/as_function.h,
+	libcore/asobj/Function_as.cpp, libcore/asobj/Function_as.h,
+	libcore/asobj/Global_as.cpp, libcore/asobj/flash.am: Move AS
+	function implementation into its own file.
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Function.cpp: Minor cleanup of Function.
+
+2010-11-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 5d3a8197de3806a18806fdf3bcaa97cf61382b1a Merge: 7b412a6
+	39ee7fe Author: Rob Savoye <rob at welcomehome.org> Date:   Thu Nov 18
+	18:58:44 2010 -0700
+
+2010-11-18  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/ltib/gnash.spec: build Gnash under tlib, which uses RPM
+	spec files to cross build for the ARM.
+
+2010-11-18  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Make gstreamer base plugins compulsory for gst media
+	build. Fixes bug #31700
+
+2010-11-18  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Properly quote description of config macro
+
+2010-11-18  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac, testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/red5test.as: Have red5test.as use what's
+	given with --enable-red5-testing as hostname, and have it default to
+	www.gnashdev.org
+
+2010-11-18  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/RTMP.cpp, libbase/RTMP.h: Drop unused function.
+
+2010-11-18  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: Make sure the test results
+	are displayed.
+
+2010-11-18  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/red5test.as: Enable red5 testing.
+
+2010-11-18  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: More tests.
+
+2010-11-18  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/red5test.as: Start a working red5 test.
+
+2010-11-18  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/TODO: Add note about incomplete
+	red5test.as
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ActionExec.cpp, libcore/vm/ActionExec.h: Update
+	comments, drop unneeded function.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp, libcore/vm/ActionExec.cpp,
+	libcore/vm/ActionExec.h: We don't need a special function to delete
+	an object property.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/timeline_var_test.c: Test that target
+	change in event code doesn't affect later code.  Gnash did this, but
+	didn't test that it did.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ExecutableCode.h: Drop obsolete comments and ifdefs.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp, libcore/as_environment.cpp,
+	libcore/as_environment.h, libcore/asobj/Global_as.h,
+	libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/asobj/flash/geom/Matrix_as.cpp,
+	libcore/asobj/flash/geom/Rectangle_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp: Move findObject out of
+	class.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h, libcore/Function.cpp,
+	libcore/Function2.cpp, libcore/MovieClip.h, libcore/TextField.cpp,
+	libcore/as_environment.cpp, libcore/as_environment.h,
+	libcore/asobj/Object.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/vm/ASHandlers.cpp, libcore/vm/ActionExec.cpp: Rename
+	get_target() to target() to see where it's used.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp: Rearrange.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h,
+	libcore/vm/ActionExec.cpp: Move delVariable out of class.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h: 
+	Documentation, variable rename.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h,
+	libcore/vm/ActionExec.cpp: Move get and set variable out of
+	as_environment class.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h: Clean up.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Function.cpp: Don't need extra null check.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Function.cpp: Don't need a try block.
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Don't forget initialization!
+
+2010-11-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h,
+	libcore/asobj/Color_as.cpp, libcore/asobj/MovieClipLoader.cpp,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/Selection_as.cpp,
+	libcore/vm/ASHandlers.cpp: Move find_target out of class.
+
+2010-11-16  Sandro Santilli <strk at keybit.net>
+
+	* : commit 22a70dc0672b85a0fb83d28e6cb2bd6db0252f96 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 16 19:56:40 2010 +0100
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h: Update more
+	comments, clean up.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h: Update
+	comments.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp: More rearranging.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_environment.h: Rearrange
+	as_environment.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit a48358d511b81a3374ab80d4be43501ed7eeb420 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Nov 16 15:07:27 2010
+	+0100
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.h: Drop another unused function declaration.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.h: Drop unused function declaration.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.h, libcore/vm/fn_call.h: Rearrange class
+	and forward declarations.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.h: Drop unused proxying function.
+
+2010-11-16  Sandro Santilli <strk at keybit.net>
+
+	* : commit cabc06876c9d481296e6b0263f809178e61ad20c Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 16 13:41:29 2010 +0100
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/ref_counted.h, libcore/parser/SWFMovieDefinition.h,
+	libcore/parser/movie_definition.h,
+	libcore/parser/sprite_definition.h,
+	libcore/swf/DefineSceneAndFrameLabelDataTag.h,
+	libcore/swf/DoABCTag.h, libcore/swf/DoActionTag.h,
+	libcore/swf/DoInitActionTag.h, libcore/swf/ExportAssetsTag.h,
+	libcore/swf/ImportAssetsTag.h, libcore/swf/PlaceObject2Tag.cpp,
+	libcore/swf/RemoveObjectTag.cpp, libcore/swf/ScriptLimitsTag.h,
+	libcore/swf/SetBackgroundColorTag.h, libcore/swf/StartSoundTag.cpp,
+	libcore/swf/StreamSoundBlockTag.cpp, libcore/swf/SymbolClassTag.h: 
+	Use intrusive_ptr to prevent possible leaks.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/smart_ptr.h: Drop unneeded include.
+
+2010-11-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/StreamSoundBlockTag.cpp: Clean up on error.
+
+2010-11-15  Sandro Santilli <strk at keybit.net>
+
+	* libbase/GC.cpp: Take the default GC threshold back to 64.  It was
+	erroneously brought down to zero by commit
+	b5161cb32e3b45c33b96004a3b00411338344a2f (Drop GC singleton)
+
+2010-11-15  Sandro Santilli <strk at keybit.net>
+
+	* : commit 92d1a7d87cddffa45c5b61d07ffc0cc7dd8115ca Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Nov 15 21:39:35 2010 +0100
+
+2010-11-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* NEWS: Add news and use dots consistently.
+
+2010-11-14  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: Add note about fb-gnash improvements
+
+2010-11-14  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/InputDevice.h: typo in comment
+
+2010-11-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Allow multiple -P options again.
+
+2010-11-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	*
+	testsuite/misc-haxe.all/classes.all/accessibility/Accessibility_as.
+	hx, testsuite/misc-haxe.all/classes.all/net/LocalConnection_as.hx: 
+	Drop some more odd characters.
+
+2010-11-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	*
+	testsuite/misc-haxe.all/classes.all/accessibility/Accessibility_as.
+	hx, testsuite/misc-haxe.all/classes.all/net/LocalConnection_as.hx,
+	testsuite/misc-haxe.all/classes.all/system/System_as.hx,
+	testsuite/misc-haxe.all/classes.all/text/TextSnapshot_as.hx: Don't
+	use windows line endings.
+
+2010-11-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	*
+	testsuite/misc-haxe.all/classes.all/accessibility/Accessibility_as.
+	hx: Drop original testing change.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/ASnative_as.hx,
+	testsuite/misc-haxe.all/classes.all/Array_as.hx,
+	testsuite/misc-haxe.all/classes.all/AsBroadcaster_as.hx: Remove
+	unused tests.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/Array_as.hx,
+	testsuite/misc-haxe.all/classes.all/accessibility/AccessibilityProp
+	erties_as.hx,
+	testsuite/misc-haxe.all/classes.all/display/BitmapData_as.hx,
+	testsuite/misc-haxe.all/classes.all/display/DisplayObject_as.hx: 
+	Remove more heres.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/text/TextField_as.hx: Remove
+	more "here" usage.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	*
+	testsuite/misc-haxe.all/classes.all/accessibility/Accessibility_as.
+	hx: Drop obsolete 'here' use.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/DejaGnu.hx: Use optional
+	haxe.PosInfos argument to get line numbers automatically.
+
+2010-11-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* doc/C/Makefile.am: Fix typo for texi generation.
+
+2010-11-11  Markus Gothe <nietzsche at zarathustra.local>
+
+	* : commit aa503664a3226c172bed5523a78eb0f3ef739519 Author: Markus
+	Gothe <nietzsche at zarathustra.local> Date:   Thu Nov 11 23:01:54 2010
+	+0100
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: Allow -X and -Y to take a negative value to express
+	offset from right or bottom
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp, gui/fb/fbsup.h: Add support for -X/-Y to fb gui
+	(works only with --enable-doublebuf)
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/gui.h: drop obsoleted question
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: Drop DEBUG_SHOW_FPS blocks, as that's handled by
+	base Gui already
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: comment out more GNASH_REPORT_FUNCTION
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: spacing
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: Clamp values passed with -j/-k to avoid segfaults..
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* libbase/GnashNumeric.h: use of assert() requires <cassert> include
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: don't log_debug 100 times per second :)
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: initialize validbounds on ::init, log_debug sizes
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* : commit a2dc30349df950964eb19e09606a1f9260c682cf Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Nov 11 16:57:25 2010 +0100
+
+2010-11-11  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: fix typo in test
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Fix call to clamp (value-to-clamp must be given
+	first)
+
+2010-11-11  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Translate 'Options' too
+
+2010-11-10  Rob Savoye <rob at welcomehome.org>
+
+	* : commit d2add168d389c369ae631a3e6bb435c8cccd6109 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Wed Nov 10 20:53:09 2010 -0700
+
+2010-11-10  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Fix build with --enable-fps-debug
+
+2010-11-10  Markus Gothe <nietzsche at zarathustra.local>
+
+	* macros/haxe.m4: Fix parsing of version info
+
+2010-11-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Makefile.am, librender/Makefile.am: Revert unintentional
+	changes to Makefiles.
+
+2010-11-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit ffddd2065bf73600f38457e37dbbf0597a0f3712 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Nov 10 08:12:47 2010
+	+0100
+
+2010-11-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Fix FPS debugging.
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 958f3eb30a970734104a8b47c5a233afe4381993 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Tue Nov 9 09:53:43 2010 -0700
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Make interface more like boost::program_options's.
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Add an accumulator value_semantic to keep options
+	as they were.
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Use program_options for options; verbosity doesn't
+	work like it used to.
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.h: Const correct.
+
+2010-11-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Use program_options interface for default values.
+
+2010-11-09  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Define supported options using
+	boost::program_options, use the definition for the help string.
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* packaging/deb.am: Do not make expectances on gnash version string,
+	but accept any version
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit ab9153d1475f22a2f6efa7a4ce85c1d55cc06be8 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Nov 8 22:27:37 2010 +0100
+
+2010-11-08  Rob Savoye <rob at welcomehome.org>
+
+	* macros/boost.m4: program-options is header only.
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* packaging/debian/control: Encode dependency on
+	libboost-program-options-dev package
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* macros/boost.m4: boost program-options is actually a library
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* librender/agg/Renderer_agg.cpp: <climits> is needed for INT_MAX in
+	agg2 headers
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Fix bogus shell syntax in Ming detection
+
+2010-11-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit dd7ca7472ba4bd58789a655d1991f5b38dc4b23f Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Nov 8 19:00:15 2010 +0100
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Makefile.am, gui/fb/Makefile.am, gui/pythonmod/Makefile.am,
+	libbase/Makefile.am, libbase/tu_opengl_includes.h,
+	librender/Makefile.am, librender/PathParser.cpp,
+	librender/PathParser.h, librender/Renderer_agg.cpp,
+	librender/Renderer_agg.h, librender/Renderer_agg_bitmap.h,
+	librender/Renderer_agg_style.h, librender/Renderer_cairo.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp,
+	librender/Renderer_ogl.h, librender/agg/Renderer_agg.cpp,
+	librender/agg/Renderer_agg.h, librender/agg/Renderer_agg_bitmap.h,
+	librender/agg/Renderer_agg_style.h, librender/cairo/PathParser.cpp,
+	librender/cairo/PathParser.h, librender/cairo/Renderer_cairo.cpp,
+	librender/cairo/Renderer_cairo.h,
+	librender/opengl/Renderer_ogl.cpp, librender/opengl/Renderer_ogl.h,
+	librender/opengl/tu_opengl_includes.h, testsuite/Makefile.am,
+	utilities/Makefile.am: Split renderer files into separate
+	directories; clean up agg includes.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* po/cs.po, po/de.po, po/es.po, po/fi.po, po/fr.po, po/gnash.pot,
+	po/it.po, po/ja.po: Update po files.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac: Drop obsolete code and options.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp: Drop debugger option.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp: Drop debugger option.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/processor.cpp: Remove debugger options.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Makefile.am, libcore/debugger.cpp, libcore/debugger.h: 
+	Remove obsolete debugger.
+
+2010-11-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac: Use more standard variable in configure.
+
+2010-11-07  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Set version to 0.8.9dev (give some better hint than
+	'master')
+
+2010-11-07  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am: Drop duplicated rule for building revno.h
+
+2010-11-07  Sandro Santilli <strk at keybit.net>
+
+	* Makefile.am, gui/Makefile.am, gui/fb/Makefile.am: Build
+	.configline in top-level dir (where configure is run anyway)
+
+2010-11-07  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac, gui/Makefile.am, gui/fb/Makefile.am, gui/fb/fb.am: 
+	Change gui/fb into a first-class subdir. Moving toward GUI
+	independence here..
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp: Log a debug line when browser doesn't
+	support reading cookies
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: More cleanup of gettext strings
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Split gui key print in separate usage function. Use
+	better internationalizable strings.
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp: Kind of revert the support for -j/-k as that one
+	would then need a support for --fullscreen in turn, which messes up
+	a lot of the command line handling. This is another gui that needs
+	to be handling its own command line switches!
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp, gui/fb/fbsup.h: Add support for -j and -k in FB gui
+	(still not completely happy with it, but does something now)
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp, gui/fb/fbsup.h: Add support for --timeout in fb-gui
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp: Cleanup logging lines (don't duplicate
+	ERROR label, make proper use of boost::format). Thanks
+
+2010-11-06  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: it's _totalframes, not _framestotal
+
+2010-11-05  Maximiliano Castañón Araneda <maximi89 at gmail.com>
+
+	* gui/gtk/gtk.cpp: Add gnash icon to about window (patch #7369)
+
+2010-11-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp: Fix testsuite.
+
+2010-11-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/Player.h, gui/gui.cpp, gui/gui.h,
+	gui/pythonmod/gnash-view.cpp, libcore/movie_root.cpp,
+	libcore/movie_root.h, testsuite/MovieTester.cpp,
+	utilities/processor.cpp: Don't pass things unnecessarily.
+
+2010-11-05  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp: Drop obsolete sections of code.
+
+2010-11-04  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp: Don't wait for data in
+	::readBrowser, read only if data is available..
+
+2010-11-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac: Disable ming for versions less than 0.4, as neither
+	misc-ming.all nor actionscript.all will build, and the tests that do
+	often don't give the expected results.
+
+2010-11-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit ccf8da18f9b3adfa2c38d5dc025e3890be1a0319 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Nov 4 09:01:28 2010 +0100
+
+2010-11-04  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 33ede786aa0ccd7556123c270021d760a9a041bd Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Nov 4 08:27:51 2010 +0100
+
+2010-11-03  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/scriptable-test.html: Make SetVariable set an
+	incrementing value.. to test it really does it
+
+2010-11-02  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/pluginScriptObject.cpp: Properly quote identifiers in
+	debug message
+
+2010-11-02  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp: Include pointer to cookie file in
+	launcher
+
+2010-11-02  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Drop unneeded includes
+
+2010-11-02  Maximiliano Castañón Araneda <maximi89 at gmail.com>
+
+	* gui/gtk/gtk.cpp: Make urls in about dialog clickable
+
+2010-11-02  Sandro Santilli <strk at keybit.net>
+
+	* : commit 3614f214d190f7cdd010493e504d7cf7f3821359 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Nov 2 14:34:46 2010 +0100
+
+2010-11-01  Sandro Santilli <strk at keybit.net>
+
+	* : commit bd70e27b2b2ba373bb7e377e93bf8553ea2ae056 Merge: c7dab7b
+	beb95bd Author: Benjamin Wolsey <bwy at benjaminwolsey.de> Date:   Mon
+	Nov 1 12:18:32 2010 +0100
+
+2010-11-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/LoadBitmapTest.c: Fix copypasta error.
+
+2010-11-01  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/loop/Makefile.am: loop_test10.swf runner
+	needs to allow more frames to reach consistency checking
+
+2010-11-01  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/loop/loop_test10.c: Fix expected test
+	count
+
+2010-11-01  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac, testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/displaylist_depths/Makefile.am,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test.
+	c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test1
+	0.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test1
+	1.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test2
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test3
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test4
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test5
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test6
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test7
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test8
+	.c,
+	testsuite/misc-ming.all/displaylist_depths/displaylist_depths_test9
+	.c, testsuite/misc-ming.all/displaylist_depths_test.c,
+	testsuite/misc-ming.all/displaylist_depths_test10.c,
+	testsuite/misc-ming.all/displaylist_depths_test11.c,
+	testsuite/misc-ming.all/displaylist_depths_test2.c,
+	testsuite/misc-ming.all/displaylist_depths_test3.c,
+	testsuite/misc-ming.all/displaylist_depths_test4.c,
+	testsuite/misc-ming.all/displaylist_depths_test5.c,
+	testsuite/misc-ming.all/displaylist_depths_test6.c,
+	testsuite/misc-ming.all/displaylist_depths_test7.c,
+	testsuite/misc-ming.all/displaylist_depths_test8.c,
+	testsuite/misc-ming.all/displaylist_depths_test9.c: move DisplayList
+	depths tests in their own dir
+
+2010-10-31  Sandro Santilli <strk at keybit.net>
+
+	* TODO: toggle quality opcode is implemented
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac: Drop left over code from old GUIs.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am: Don't build
+	BitmapSmoothingTest for ming version below 0.4.3.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/BitmapDataDraw.c,
+	testsuite/misc-ming.all/BitmapSmoothingTest.c,
+	testsuite/misc-ming.all/LoadBitmapTest.c: Fix testsuite for old
+	mingers.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gui.cpp, libbase/StreamProvider.h,
+	libcore/MovieClip.cpp, libcore/MovieLoader.cpp,
+	libcore/asobj/LoadableObject.cpp,
+	libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/SharedObject_as.cpp, libcore/asobj/Sound_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h,
+	libcore/swf/ImportAssetsTag.h: Rename to baseURL, since that's what
+	it is.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/BitmapSmoothingTest.c,
+	testsuite/misc-ming.all/LoadBitmapTest.c: More changes for old ming
+	versions.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/BitmapDataDraw.c: Use older function for
+	old mingers.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/StreamProvider.h: Documentation.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gui.cpp, gui/pythonmod/gnash-view.cpp,
+	libbase/StreamProvider.cpp, libbase/StreamProvider.h,
+	libcore/Makefile.am, libcore/RunResources.h,
+	libcore/URLAccessManager.cpp, libcore/URLAccessManager.h,
+	testsuite/MovieTester.cpp, testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp, utilities/processor.cpp: 
+	Pass the original URL to StreamProvider, document what the class is,
+	and what it should do in future.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am, libbase/URLAccessManager.cpp,
+	libbase/URLAccessManager.h: Move URLAccessManager to libbase.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am, libbase/StreamProvider.cpp,
+	libbase/StreamProvider.h, libcore/Makefile.am,
+	libcore/StreamProvider.cpp, libcore/StreamProvider.h: Move
+	StreamProvider to libbase.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am: Don't build unsupported
+	tests.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* NEWS: Update NEWS.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am: Don't build button test for
+	ming that doesn't support it.
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/duplicate_movie_clip_test.c: Fix another
+	test for old ming
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/attachMovieTest.c: Fix for old ming
+	version.
+
+2010-10-31  Sandro Santilli <strk at keybit.net>
+
+	* libcore/URLAccessManager.h: Document use of baseurl by
+	URLAccessManager::allow
+
+2010-10-31  Sandro Santilli <strk at keybit.net>
+
+	* libcore/URLAccessManager.h: typo
+
+2010-10-31  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/spritehier.c: Include ming_utils.h for old
+	ming versions.
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Survive
+	avcodec_decode_audio failure or empty return (fixes SIGFPE running
+	NetStrem-SquareTest with plain ffmpeg from ubuntu 10.04)
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: Note the relative urls resolution change
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* : commit 85b561b4adb19aed744af65fbdfac23b863ea1a7 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Oct 30 20:38:10 2010 +0200
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* gui/Player.cpp: "base" parameter is always to be considered a
+	directory. All cases in plugin/test/baseuri/ succeed now
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* plugin/test/baseuri/test.html: Test that "base" parameter is
+	always taken as a directory, never a file!
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/BitmapDataTest.c,
+	testsuite/misc-ming.all/BitmapSmoothingTest.c,
+	testsuite/misc-ming.all/ButtonEventsTest.c,
+	testsuite/misc-ming.all/DefineEditTextVariableNameTest.c,
+	testsuite/misc-ming.all/DefineTextTest.c,
+	testsuite/misc-ming.all/DepthLimitsTest.c,
+	testsuite/misc-ming.all/DragDropTestRunner.cpp,
+	testsuite/misc-ming.all/TextSnapshotTest.c,
+	testsuite/misc-ming.all/Video-EmbedSquareTest.c,
+	testsuite/misc-ming.all/Video-EmbedSquareTestRunner.cpp,
+	testsuite/misc-ming.all/action_execution_order_test3.c,
+	testsuite/misc-ming.all/action_execution_order_test4.c,
+	testsuite/misc-ming.all/action_execution_order_test9.c,
+	testsuite/misc-ming.all/attachMovieTest.c,
+	testsuite/misc-ming.all/displaylist_depths_test10.c,
+	testsuite/misc-ming.all/displaylist_depths_test11.c,
+	testsuite/misc-ming.all/displaylist_depths_test2.c,
+	testsuite/misc-ming.all/displaylist_depths_test3.c,
+	testsuite/misc-ming.all/displaylist_depths_test4.c,
+	testsuite/misc-ming.all/displaylist_depths_test5.c,
+	testsuite/misc-ming.all/displaylist_depths_test6.c,
+	testsuite/misc-ming.all/displaylist_depths_test7.c,
+	testsuite/misc-ming.all/displaylist_depths_test8.c,
+	testsuite/misc-ming.all/displaylist_depths_test9.c,
+	testsuite/misc-ming.all/eventSoundTest1-Runner.cpp,
+	testsuite/misc-ming.all/goto_frame_test.c,
+	testsuite/misc-ming.all/instanceNameTest.c,
+	testsuite/misc-ming.all/key_event_test.c,
+	testsuite/misc-ming.all/loop/loop_test.c,
+	testsuite/misc-ming.all/loop/loop_test10.c,
+	testsuite/misc-ming.all/loop/loop_test2.c,
+	testsuite/misc-ming.all/loop/loop_test3.c,
+	testsuite/misc-ming.all/loop/loop_test4.c,
+	testsuite/misc-ming.all/loop/loop_test5.c,
+	testsuite/misc-ming.all/loop/loop_test6.c,
+	testsuite/misc-ming.all/loop/loop_test7.c,
+	testsuite/misc-ming.all/loop/loop_test8.c,
+	testsuite/misc-ming.all/loop/loop_test9.c,
+	testsuite/misc-ming.all/morph_test1runner.cpp,
+	testsuite/misc-ming.all/moviecliploader_test.c,
+	testsuite/misc-ming.all/place_object_test.c,
+	testsuite/misc-ming.all/registerClassTest2.c,
+	testsuite/misc-ming.all/replace_buttons1test.c,
+	testsuite/misc-ming.all/shape_test.c,
+	testsuite/misc-ming.all/spritehier.c,
+	testsuite/misc-ming.all/unload_movieclip_test1.c: Fix various
+	warnings in misc-ming.all.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h: Drop bogus (and unneeded) forward
+	declaration.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/StreamTest.cpp: Fix testsuite.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/ScreenShotter.cpp, libbase/tu_file.cpp, libbase/tu_file.h,
+	libcore/StreamProvider.cpp,
+	testsuite/libbase.all/CurlStreamTest.cpp,
+	testsuite/libbase.all/NoSeekFileTest.cpp: Hide tu_file.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/VideoDecoderFfmpeg.cpp: Drop const_cast; it's not
+	needed for min FFmpeg version.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libvaapi/VaapiSurfaceGLX.cpp: That made another function unused.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libvaapi/VaapiSurfaceGLX.cpp: Comment out unused functions; no
+	idea what they're for.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/VideoDecoderFfmpeg.cpp: We always support VP6.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* macros/ffmpeg.m4: Raise required ffmpeg version, drop warnings
+	related to now-unsupported versions.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Drop const_cast.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Tabs to spaces.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Drop support for
+	avcodec_decode_audio (Debian stable has the newer function).
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: We always use aligned
+	memory, so drop the alternative.
+
+2010-10-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/MediaParserFfmpeg.cpp: Stop spamming the logs so
+	much.
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp: Use window.document.baseURI rather than
+	window.document.location.href. The former honours <base> tags,
+	fixing bug  #31497  (aka easy come, easy go)
+
+2010-10-30  Sandro Santilli <strk at keybit.net>
+
+	* plugin/test/baseuri/README, plugin/test/baseuri/sub/test.as,
+	plugin/test/baseuri/sub/test.html,
+	plugin/test/baseuri/sub/test.xml, plugin/test/baseuri/test.as,
+	plugin/test/baseuri/test.html, plugin/test/baseuri/test.xml,
+	plugin/test/baseuri/test_base.html: Add a non-automated test for
+	relative urls resolution. Gnash fails. The test suggests that
+	document.baseURI might be the answer (on the plugin side). Worth
+	testin with other browsers to see if that variable is always
+	available.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Fix warning.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Object.as: Add test that reproduces the
+	bug fixed in previous commit.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Object.cpp: Don't touch the prototype in Object's
+	constructor; everything necessary has already been done.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp: Minor cleanup.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/LoadVars_as.cpp: Drop another incorrect
+	isInstantiation() use.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Error_as.cpp, libcore/asobj/Object.cpp: Drop
+	incorrect isInstantiation use.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetConnection_as.h: Renames, move things into unnamed
+	namespace.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Rationalize and document
+	returns. Fixes all tests.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Handle requests using
+	HTTPRequest; almost works, but some tests fail.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Add HTTP request class.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Make ConnectionHandler
+	noncopyable, use pre-existing functions, clean up access.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/log.h: Drop unused log_amferror and don't use reserved
+	names.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/Makefile.am,
+	testsuite/misc-haxe.all/classes.all/filesystem/FileMode_as.hx,
+	testsuite/misc-haxe.all/classes.all/filesystem/FileStream_as.hx,
+	testsuite/misc-haxe.all/classes.all/filesystem/File_as.hx,
+	testsuite/misc-haxe.all/classes.all/filesystem/filesystem.am,
+	testsuite/misc-haxe.all/classes.all/filters/BevelFilter_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/BitmapFilterQuality_as.
+	hx,
+	testsuite/misc-haxe.all/classes.all/filters/BitmapFilterType_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/BitmapFilter_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/BlurFilter_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/ColorMatrixFilter_as.hx
+	,
+	testsuite/misc-haxe.all/classes.all/filters/ConvolutionFilter_as.hx
+	,
+	testsuite/misc-haxe.all/classes.all/filters/DisplacementMapFilterMo
+	de_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/DisplacementMapFilter_a
+	s.hx,
+	testsuite/misc-haxe.all/classes.all/filters/DropShadowFilter_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/GlowFilter_as.hx,
+	testsuite/misc-haxe.all/classes.all/filters/GradientBevelFilter_as.
+	hx,
+	testsuite/misc-haxe.all/classes.all/filters/GradientGlowFilter_as.h
+	x, testsuite/misc-haxe.all/classes.all/filters/filters.am,
+	testsuite/misc-haxe.all/classes.all/sampler/DeleteObjectSample_as.h
+	x,
+	testsuite/misc-haxe.all/classes.all/sampler/NewObjectSample_as.hx,
+	testsuite/misc-haxe.all/classes.all/sampler/Sample_as.hx,
+	testsuite/misc-haxe.all/classes.all/sampler/StackFrame_as.hx,
+	testsuite/misc-haxe.all/classes.all/sampler/sampler.am: Drop more
+	files that haxe can't compile.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/Makefile.am,
+	testsuite/misc-haxe.all/classes.all/html/HTMLHistoryItem_as.hx,
+	testsuite/misc-haxe.all/classes.all/html/HTMLHost_as.hx,
+	testsuite/misc-haxe.all/classes.all/html/HTMLLoader_as.hx,
+	testsuite/misc-haxe.all/classes.all/html/HTMLPDFCapability_as.hx,
+	testsuite/misc-haxe.all/classes.all/html/HTMLWindowCreateOptions_as
+	.hx, testsuite/misc-haxe.all/classes.all/html/html.am,
+	testsuite/misc-haxe.all/classes.all/security/IURIDereferencer_as.hx
+	,
+	testsuite/misc-haxe.all/classes.all/security/RevocationCheckSetting
+	s_as.hx,
+	testsuite/misc-haxe.all/classes.all/security/SignatureStatus_as.hx,
+	testsuite/misc-haxe.all/classes.all/security/SignerTrustSettings_as
+	.hx,
+	testsuite/misc-haxe.all/classes.all/security/XMLSignatureValidator_
+	as.hx, testsuite/misc-haxe.all/classes.all/security/security.am: 
+	Drop files that haxe can't compile.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/internal.all/ExternalInterface.hx,
+	testsuite/misc-haxe.all/internal.all/Function_as.hx,
+	testsuite/misc-haxe.all/internal.all/flash_as.hx: Drop other
+	duplicate actionscript.all files.
+
+2010-10-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/internal.all/ASnative.as,
+	testsuite/misc-haxe.all/internal.all/Global.as,
+	testsuite/misc-haxe.all/internal.all/HitTest.as,
+	testsuite/misc-haxe.all/internal.all/Inheritance.as,
+	testsuite/misc-haxe.all/internal.all/Instance.as,
+	testsuite/misc-haxe.all/internal.all/LoadVars.as,
+	testsuite/misc-haxe.all/internal.all/Microphone.as,
+	testsuite/misc-haxe.all/internal.all/Sound.as,
+	testsuite/misc-haxe.all/internal.all/getvariable.as: Drop stray
+	makeswf files.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* po/cs.po, po/de.po, po/es.po, po/fi.po, po/fr.po, po/gnash.pot,
+	po/it.po, po/ja.po: Update PO files.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* plugin/mozplugger/README, plugin/mozplugger/mozpluggerrc.patch: 
+	Drop mozplugger patch.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h,
+	testsuite/actionscript.all/ExternalInterface.as: Don't try to attach
+	anything to the 'this' object of ExternalInterface.addCallback: 1. It's wrong.  2. It might be null.  This means we don't store it anywhere now, but since it was stored
+	and never accessed before that's no loss.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp: -1 doesn't convert to false.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Clean up.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp: We can return
+	undefined without using a separate function.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.h: Drop another unused function.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp: Drop another unused function
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h: Drop
+	unused function.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h: Move
+	functions out of header.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/vm/ASHandlers.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Implement _utoAS
+	correctly. Add tests.
+
+2010-10-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.h: Don't forward
+	declare more than necessary.
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* : commit 0d701b07e0647e59cac3896357181807c33b0e04 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Oct 27 23:31:09 2010 +0200
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/README, gui/dump/README.dump-gnash: Merge the dump
+	readmes
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: Add note about dump gui
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* README.dump-gnash, gui/dump/README.dump-gnash: Put the dump gui
+	dox in its own dir
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit d76cfc4112d492746c2369ab06bfddcb03a48b97 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 27 18:38:06 2010
+	+0200
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/dump.cpp: drop unused code
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Split parsing into separate
+	functions and handle errors more as expected.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Don't log an error if the
+	server sends a non-callback response.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetConnection_as.h: Fix onStatus, fix return from
+	connect(), clean up.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 9f22daa6b6509b420b798b885c885a1e9f83e00a Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 27 13:07:25 2010
+	+0200
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Minor cleanups.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Reduce duplicated effort.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Minor cleanup.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Use sensible variable names
+	and make them const.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Fix silly variables and
+	scopes.
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Reorder advance() logic to
+	make the function more readable.
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/README: Add note about additional @fps arg to -D (for
+	dump gui)
+
+2010-10-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Renames and silence debugging.
+
+2010-10-27  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/dump.cpp, gui/dump/dump.h: Allow specifying a desired
+	video output FPS by appending @<num> to the filename with -D switch
+
+2010-10-26  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 42a8240d8e1d5f8ded1c28b294afc71f1924481c Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Tue Oct 26 11:22:33 2010 -0600
+
+2010-10-26  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump/README: Add some info about dump-gui (very few)
+
+2010-10-26  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/MouseDevice.cpp: Check return from ::write from MouseDevice
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Missing include.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/TextField_as.cpp, libcore/vm/VM.cpp: Silence
+	debugging.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Drop local reading functions.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit c965625df2dc52d39a20909b1f1b48209e10f247 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Oct 26 15:24:56 2010
+	+0200
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Update documentation, but
+	there may be a better way to do this.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Clean up HTTP remoting class.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/RTMP.cpp, libbase/RTMP.h,
+	libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetConnection_as.h: Send BW request and pass arguments
+	as expected.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/AMFConverter.cpp, libcore/asobj/NetConnection_as.cpp: Not
+	much progress yet.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetConnection_as.h: Send correct connect packet.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.cpp: Drop silly comment.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/AMFConverter.cpp: Clean up includes.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropertyList.h: Drop obsolete comment.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/RTMP.cpp: Const correct.
+
+2010-10-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/PlaceObject2Tag.cpp: Log unimpl for blend modes.
+
+2010-10-25  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am, packaging/debian/python-gtk-gnash.dirs,
+	packaging/debian/python-gtk-gnash.install: improve handling the
+	python plugin install directories
+
+2010-10-25  Rob Savoye <rob at welcomehome.org>
+
+	* gui/Makefile.am: remove am-frags, as it no longer exists. Add fb/
+	to the input devices, or they won't be in the source tarball.
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* : commit 5419e97139255090efc0470030f121e0309004eb Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Oct 25 23:42:06 2010 +0200
+
+2010-10-25  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/changelog: change the old snapshot version so
+	dpkg stops complaining
+
+2010-10-25  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 7bcd4ce9ebd9d5bf8be892044ab158959afb0f18 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Mon Oct 25 14:53:57 2010 -0600
+
+2010-10-25  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: use the lsb_release ID instead of the python
+	version, as this is a distro specific test
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp, gui/dump.h, gui/gnash.cpp: Have dump-gui
+	sleep-per-iteration parametrized (-S switch) and default to none.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Basic implementation details.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Move more things to the base
+	class.
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: Drop the sample fetching debug lines
+	(they aren't meaingful if they don't use the same clock used for SWF
+	frame advancement)
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* : commit 0d96b7ccc4395d61d8cd065e633b76f629cfaba9 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Oct 25 17:43:07 2010 +0200
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 9829e9dc82f7b4e1dc51e30c355f3b5b8325d945 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Oct 25 16:32:43 2010 +0200
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Tabs to spaces.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Minor cleanups.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetConnection_as.h: Clean up more.
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* : commit b38b68ae78c7749faa074e91e36f635aaaaa3683 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Mon Oct 25 16:13:55 2010
+	+0200
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetConnection_as.cpp: Move call number to base
+	class.
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp: Property initialize dump-gui member
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/noseek_fd_adapter.cpp, libbase/noseek_fd_adapter.h: 
+	Cleanups.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/zlib_adapter.cpp, libbase/zlib_adapter.h: Drop unused
+	function declaration.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2e20bb92dacdfdb0ecbaffd8ce43ea9ce1a7de0d Merge: e782a90
+	1bcd7fa Author: Sandro Santilli <strk at keybit.net> Date:   Mon Oct 25
+	15:21:04 2010 +0200
+
+2010-10-25  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp, gui/dump.h, gui/gui.h: Allow GUIs to provide a
+	custom clock. Have DUMP gui use a ManualClock
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DragState.h: Tabs to spaces.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/DragState.h,
+	libcore/Makefile.am, libcore/asobj/MovieClip_as.cpp,
+	libcore/drag_state.h, libcore/movie_root.cpp, libcore/movie_root.h,
+	libcore/vm/ASHandlers.cpp: Minor cleanups and encapsulation in drag
+	state.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/CustomActions.cpp, libcore/asobj/CustomActions.h,
+	libcore/asobj/Global_as.cpp, libcore/asobj/flash.am,
+	libcore/namedStrings.cpp, libcore/namedStrings.h,
+	testsuite/actionscript.all/CustomActions.as,
+	testsuite/actionscript.all/Makefile.am: CustomActions is not part of
+	the Player API.
+
+2010-10-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Global.as: Check that CustomActions
+	doesn't exist.
+
+2010-10-24  Rob Savoye <rob at welcomehome.org>
+
+	* macros/kde4.m4: remove extra curly brace
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp: fully qualify class names
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.h: Missing include
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp, gui/dump.h: Have dump-gui use NullSoundHandler to
+	manually fetch samples at a predictable rate to improve sync between
+	streaming and event sound (and video). Use the configured sound
+	handler as a pure mixer (worth cleaning things up here to allow
+	_only_ using a mixer from a factory)
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* libsound/NullSoundHandler.h: Take the mixer by raw pointer...
+	since there's no way to get a shared_ptr from RunResource...
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/pythonmod/gnash-view.cpp: Fix build of pythonview (bug #31417)
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/gui.h: fix description of RunResources member
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/Player.cpp, gui/gui.cpp: Player notifies audioDump to gui, gui
+	tells sound_handler at ::start (right before virtualclock is
+	resumed)
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/Makefile.am, gui/ScreenShotter.cpp, gui/ScreenShotter.h,
+	gui/gui.cpp, gui/gui.h: Put ScreenShotter in its own file (trying to
+	make gui cleaner)
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.h: fix doc
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/Makefile.am, gui/fb/fb.am: Only build input devices when
+	building the FB gui
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* gui/Player.cpp, libsound/aos4/sound_handler_ahi.cpp,
+	libsound/aos4/sound_handler_ahi.h,
+	libsound/mkit/sound_handler_mkit.cpp,
+	libsound/mkit/sound_handler_mkit.h,
+	libsound/sdl/sound_handler_sdl.cpp,
+	libsound/sdl/sound_handler_sdl.h, libsound/sound_handler.cpp,
+	libsound/sound_handler.h: Move WAV writing/dumping to base
+	sound_handler class
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* libsound/aos4/sound_handler_ahi.h,
+	libsound/mkit/sound_handler_mkit.h: file_stream need be in base
+	class only
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* libsound/aos4/sound_handler_ahi.cpp,
+	libsound/aos4/sound_handler_ahi.h,
+	libsound/mkit/sound_handler_mkit.cpp,
+	libsound/mkit/sound_handler_mkit.h,
+	libsound/sdl/sound_handler_sdl.cpp,
+	libsound/sdl/sound_handler_sdl.h, libsound/sound_handler.cpp,
+	libsound/sound_handler.h: Move audio dump writing to base
+	sound_handler class
+
+2010-10-22  Sandro Santilli <strk at keybit.net>
+
+	* : commit e189a1ba2a4fc3b06a7aa9602b8e25b209d98da2 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Fri Oct 22 11:49:52 2010
+	+0200
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/tu_file.cpp, libbase/tu_file.h: Don't cast unnecessarily
+	and fix some documentation.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/gen-as3.sh: Drop obsolete script.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/gst/AudioInputGst.cpp: Drop silly log_unimpl.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ActionExec.cpp: Clean up.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieFactory.cpp, libcore/MovieFactory.h: Minor cleanups.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/parser/SWFMovieDefinition.cpp: SWF8+ is fairly well
+	supported, so don't claim it's unimplemented.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/tag_loaders.cpp: Improve AVM2 message.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieFactory.cpp: Rearrange.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieFactory.cpp: Don't clear fontlib automatically, as
+	it's cleared anyway when we exit.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieFactory.cpp: Clean up.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/event_id.h: ObjectURI is a struct.
+
+2010-10-22  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.h: ObjectURI is a struct.
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* gui/gui.h: Add audioDump string to gui. Currently gui is the
+	hosting application, so it make sense for it to know what's the
+	final audio sink (as it knows the final rendering output).
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* libsound/NullSoundHandler.h, libsound/sound_handler.cpp,
+	libsound/sound_handler.h: Make sound_handler::mix public and a pure
+	virtual (mixing ain't so easy). Allow passing a sound_handler to
+	NullSoundHandler for use to mix.
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* gui/Player.cpp: Do not dereference a soundHandler if non-existing
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* libsound/WAVWriter.cpp, libsound/WAVWriter.h,
+	libsound/sdl/sound_handler_sdl.cpp: Fix build
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* libsound/Makefile.am, libsound/WAVWriter.cpp,
+	libsound/WAVWriter.h, libsound/sdl/sound_handler_sdl.cpp,
+	libsound/sdl/sound_handler_sdl.h: WAVWriter class out of sdl sound
+	handler (for reuse by others)
+
+2010-10-21  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: Suggest browser-plugin-gnash instead of
+	mozill-plugin-gnash
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2e74fddfc73324b15e479ecd66138a7e2cbc96d2 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Oct 21 16:45:03 2010
+	+0200
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* doc/DESIGN: Update diagram to be up-to-date with latest renames
+
+2010-10-21  Sandro Santilli <strk at keybit.net>
+
+	* : commit 4074ae5c9e35748490f4d8a415501c6fbc34dc81 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Thu Oct 21 15:58:23 2010 +0200
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSleep.h: Use nanosleep instead of the deprecated
+	usleep.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/parser/TypesParser.h: Add documentation.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/Makefile.am: Run test.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/CxFormTest.cpp: Add unit test for CxForm.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFCxForm.cpp: Remove verbose casts as the conversion is
+	performed anyway.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFCxForm.cpp, libcore/SWFCxForm.h,
+	libcore/parser/TypesParser.cpp, libcore/parser/TypesParser.h,
+	libcore/swf/DefineButtonTag.cpp, libcore/swf/DefineButtonTag.h,
+	libcore/swf/PlaceObject2Tag.cpp: Handle CxForm in types parser.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/registerClassTest2.c: Use proper pp token.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Implement ActionToggleQuality.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClip.as: Run tests for version 5
+	as well.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClip.as: Tests for toggleQuality.
+
+2010-10-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit cd69f4433aa7e6dd1818170197d41dcd5dc116b4 Merge: 103eb32
+	731befc Author: Sandro Santilli <strk at keybit.net> Date:   Wed Oct 20
+	22:59:19 2010 +0200
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: Get "lateness" right (positive number
+	is late, negative is early)
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac, cygnal/cvm.cpp, doc/DESIGN, gui/Player.h,
+	gui/aos4/aos4.cpp, gui/aos4/aos4_agg_glue.h,
+	gui/aos4/aos4_cairo_glue.cpp, gui/aos4/aos4_cairo_glue.h,
+	gui/aos4/aos4_glue.h, gui/aqua.cpp, gui/fb/fb.cpp,
+	gui/fltk/fltk.cpp, gui/fltk/fltk_glue_agg.cpp,
+	gui/fltk/fltk_glue_agg.h, gui/fltk/fltk_glue_cairo.cpp,
+	gui/gtk/gtk.cpp, gui/gtk/gtk_glue.h, gui/gtk/gtk_glue_agg.cpp,
+	gui/gtk/gtk_glue_agg_vaapi.cpp, gui/gui.cpp, gui/gui.h,
+	gui/haiku/haiku.cpp, gui/kde/Kde4Gui.cpp, gui/kde/kde.cpp,
+	gui/kde/kde_glue.h, gui/riscos_glue.h, gui/sdl/sdl.cpp,
+	gui/sdl/sdl_glue.h, libbase/FileTypes.h, libbase/GnashEnums.h,
+	libbase/GnashImage.cpp, libbase/GnashImage.h, libbase/Makefile.am,
+	libcore/DisplayObject.cpp, libcore/Makefile.am,
+	libcore/MovieFactory.cpp, libcore/gnash.h, libcore/movie_root.h,
+	librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_ogl.cpp, plugin/aos4/plugin.h,
+	plugin/win32/plugin.h, testsuite/MovieTester.h,
+	utilities/dumpshm.cpp, utilities/processor.cpp: Drop gnash.h.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/parser/action_buffer.cpp, libcore/parser/action_buffer.h: 
+	Cleanups.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/parser/action_buffer.cpp, libcore/parser/action_buffer.h,
+	libcore/swf/tag_loaders.cpp: Clean ups.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* gui/am-frag/dump.am: Use LDADD, not LDFLAGS, for gnash libs and
+	other (as done by gtk). Should fix dependency computation when doing
+	static linking
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* gui/gtk/gtk.am: libgnashrender.la is already part of GNASH_LIBS
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit d6e20925f19502e93e822fa4d875f0574a8345bb Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 20 19:39:20 2010
+	+0200
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineBitsTag.cpp: Ensure bytes.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefaultTagLoaders.cpp, libcore/swf/DefineBitsTag.cpp: 
+	Support for DefineBitsJpeg4 tag (no tests, no examples).
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: Add computation of sound handler
+	lateness (fuzzy, wuold better be computed using VM timer)
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineBitsTag.cpp: Read GIF and PNG for
+	DefineBitsJpeg3 as well (documented, only DefineBitsJpeg2 is
+	confirmed).
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: Add dirty sample fetch frequency
+	debugging support (needs macro)
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineBitsTag.cpp: Parse logging.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefaultTagLoaders.cpp, libcore/swf/DefineBitsTag.cpp,
+	libcore/swf/DefineBitsTag.h: Reduce duplication.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp: Do not include headers needed for gettimeofday as
+	we're not using it directly anymore now
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineBitsTag.cpp: Rearrange.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Makefile.am, libcore/swf/DefaultTagLoaders.cpp,
+	libcore/swf/DefineBitsTag.cpp, libcore/swf/DefineBitsTag.h,
+	libcore/swf/tag_loaders.cpp, libcore/swf/tag_loaders.h: Drop
+	obsolete declarations, move definebits tags into own file.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* : commit 9f8f920a349ad8456bc4a1d8fc63870af7040738 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Oct 20 16:03:07 2010 +0200
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* plugin/Makefile.am: Distribute plugin/aos4
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/tag_loaders.cpp: Drop a couple of lines.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* : commit 64852234c5b8562a4b977e9beb064626075ac224 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 20 15:49:34 2010
+	+0200
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefaultTagLoaders.cpp: Move dummy loaders locally.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/parser/SWFParser.cpp: Explain missing tag better.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineFontAlignZonesTag.cpp: Drop stars.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/tag_loaders.cpp: Clean up, const correct.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit cf87ba129b515193dc4700612906c5e64a8582d7 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 20 13:48:00 2010
+	+0200
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp: Don't call finishImage in dtor because
+	it can throw. Handle case where scanline isn't read.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/AudioDecoderGst.cpp: private tag
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* : commit 85763463715dd58264edf97ce2c1cdc5c62eb3f7 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Oct 20 12:24:21 2010 +0200
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 20764275919d2ec05aeb3a876339e6c752e06c91 Merge: f325040
+	d778ca9 Author: Sandro Santilli <strk at keybit.net> Date:   Wed Oct 20
+	11:44:41 2010 +0200
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* gui/dump.cpp, gui/gui.cpp, gui/gui.h: Have Gui::advanceMovie
+	return true or false based on whether frame advancement occurred.
+	Use this information from dump-gui to decide whether or not to write
+	a video frame.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClip_as.cpp,
+	testsuite/actionscript.all/MovieClip.as: Return an array to pass
+	some tests.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClip.as: Expect failure.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClip.as: More tests.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/MovieClip.as: Add MovieClip.filters
+	tests.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit fb05b4ea936e738c625556bd275a42394aec217c Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 20 10:39:38 2010
+	+0200
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: drop todo (done)
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/BevelFilter.h, libcore/BitmapFilter.h,
+	libcore/BlurFilter.h, libcore/ColorMatrixFilter.h,
+	libcore/ConvolutionFilter.h, libcore/DropShadowFilter.h,
+	libcore/Filters.h, libcore/GlowFilter.h,
+	libcore/GradientBevelFilter.h, libcore/GradientGlowFilter.h,
+	libcore/Makefile.am,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.h,
+	libcore/asobj/flash/filters/BitmapFilterQuality_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilterQuality_as.h,
+	libcore/asobj/flash/filters/BitmapFilterType_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilterType_as.h,
+	libcore/asobj/flash/filters/BitmapFilter_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilter_as.h,
+	libcore/asobj/flash/filters/BlurFilter_as.cpp,
+	libcore/asobj/flash/filters/BlurFilter_as.h,
+	libcore/asobj/flash/filters/ColorMatrixFilter_as.cpp,
+	libcore/asobj/flash/filters/ColorMatrixFilter_as.h,
+	libcore/asobj/flash/filters/ConvolutionFilter_as.cpp,
+	libcore/asobj/flash/filters/ConvolutionFilter_as.h,
+	libcore/asobj/flash/filters/DisplacementMapFilterMode_as.cpp,
+	libcore/asobj/flash/filters/DisplacementMapFilterMode_as.h,
+	libcore/asobj/flash/filters/DisplacementMapFilter_as.cpp,
+	libcore/asobj/flash/filters/DisplacementMapFilter_as.h,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.h,
+	libcore/asobj/flash/filters/GlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GlowFilter_as.h,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.h,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.h,
+	libcore/asobj/flash/filters/filters.am,
+	libcore/parser/filter_factory.cpp, libcore/parser/filter_factory.h,
+	libcore/swf/PlaceObject2Tag.cpp: Tidy up filters.
+
+2010-10-20  Sandro Santilli <strk at keybit.net>
+
+	* libmedia/gst/MediaParserGst.cpp: Hush annoying EOF emitting debug
+	print from gst
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Split long line.
+
+2010-10-20  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Coding style, const correctness; no
+	change in functionality.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h: Document, change include order.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 3222174d3368ccb2b78149586df76da72ef1d254 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Oct 19 17:36:30 2010 +0200
+
+2010-10-19  Sandro Santilli <strk at keybit.net>
+
+	* libcore/swf/StreamSoundBlockTag.cpp: tab to spaces
+
+2010-10-19  Sandro Santilli <strk at keybit.net>
+
+	* libcore/swf/StreamSoundBlockTag.h: tabs to spaces
+
+2010-10-19  Sandro Santilli <strk at keybit.net>
+
+	* libsound/sound_handler.cpp: Signal playSound is a private (luckly)
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/as_object.cpp,
+	libcore/as_object.h, libcore/asobj/LoadVars_as.cpp,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/XMLNode_as.cpp,
+	libcore/vm/ASHandlers.cpp: Return by value, use a vector, and use
+	ObjectURI.
+
+2010-10-19  Sandro Santilli <strk at keybit.net>
+
+	* libsound/EmbedSound.h: Split long lines
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropertyList.cpp, libcore/PropertyList.h,
+	libcore/as_object.cpp, libcore/as_object.h: Drop some functions.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.cpp, libcore/as_object.cpp,
+	libcore/as_object.h, libcore/movie_root.cpp: Move get_path_element
+	outside class altogether.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h: Make function non-virtual.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp: Minor cleanups.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.cpp: Split long lines.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp, gui/gtk/gtksup.h, libbase/GC.cpp,
+	libcore/Button.cpp, libcore/DisplayObject.cpp,
+	libcore/DisplayObjectContainer.cpp: Clean up headers.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 9dbb1413bb3b8a43675f9a7906e61d95552082c9 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Oct 19 11:08:42 2010
+	+0200
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h,
+	libcore/movie_root.cpp, libcore/movie_root.h: Clean up unused
+	functions.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Implement
+	_argumentsToXML in the AS file.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Move _arrayToXML to
+	the AS implementation file.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Implement
+	_toXML in the AS implementation.
+
+2010-10-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Implement
+	objectToXML in AS as expected.
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* : commit c3e8d8748e2d2a9e3438e13e81472b75d560b304 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Oct 17 22:18:07 2010 +0200
+
+2010-10-17  Andrea Palmatè <andrea at amigasoft.net>
+
+	* configure.ac, libbase/URL.cpp, plugin/Makefile.am,
+	plugin/npapi/Makefile.am: Fix an assertion on URL.cpp. On Amiga all
+	urls are valid
+
+2010-10-17  Andrea Palmatè <andrea at amigasoft.net>
+
+	* : Fix an assertion on URL.cpp. On Amiga all urls are valid
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* : commit d8632fd03833b51b0c8fb3fecd7aeda89095734e Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Oct 17 18:53:35 2010 +0200
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: Check for
+	hand cursor
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/MovieTester.cpp, testsuite/MovieTester.h: Add
+	MovieTester::usingHandCursor
+
+2010-10-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2f08ce39e26fb7e9580aefcf4fcafe38a782b60f Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Sun Oct 17 18:18:37 2010
+	+0200
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/ButtonEventsTest.c: Write what's the
+	expected cursor when rolling over the button
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/ButtonEventsTest.c: Add test for
+	useHandCursor in Button test
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* : commit 0cda1c0e91e32a69cc032461f6d0b5f92c99070b Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Oct 17 17:42:41 2010 +0200
+
+2010-10-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/AMFConverter.cpp, libcore/PropertyList.h,
+	libcore/as_object.cpp, libcore/as_object.h,
+	libcore/asobj/Array_as.h, libcore/asobj/SharedObject_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp: Rename
+	AbstractPropertyVisitor to match KeyVisitor.
+
+2010-10-17  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h, libcore/ExternalInterface.cpp,
+	libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/PropertyList.cpp, libcore/PropertyList.h,
+	libcore/as_object.cpp, libcore/as_object.h,
+	libcore/asobj/LoadVars_as.cpp, libcore/vm/ASHandlers.cpp: Resimplify
+	as_object interface using a visitor.
+
+2010-10-17  Markus Gothe <nietzsche at zarathustra.local>
+
+	* libbase/Socket.cpp: Fixed missing declaretion of sighandler_t
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* libcore/StaticText.cpp,
+	testsuite/misc-ming.all/DefineTextTest-Runner.cpp: Implement hit
+	test for static text as a point-in-bounds check. Not 100% compatible
+	but much better than nothing for normal use.
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp, libcore/ExternalInterface.h: Do not
+	segfault when passed an object with circular refs
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp: Drop unused code
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: PP tested to hang
+	when trying to XML-serialize an object with circular refs (gnash
+	segfaults smashing the stack right now)
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Add test for
+	object reference as object property (ExternalInterface)
+
+2010-10-17  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp: Support object properties in
+	ExternalInterface. The testcase still fails due to some weird values
+	for XML object properties (nulls rather than functions), we'll want
+	to add a focused test for objects in objects not involving too much
+	of native objects composition. Also, this opens up for crashes in
+	circular chanis
+
+2010-10-16  Sandro Santilli <strk at keybit.net>
+
+	* : commit 6412a46e60b11424a0ea8a6960c4e3b9826daea6 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Oct 16 17:40:01 2010 +0200
+
+2010-10-16  Sandro Santilli <strk at keybit.net>
+
+	* libcore/as_value.cpp, libcore/as_value.h: Add non-converting
+	as_value::get_object method (not requiring a VM arg)
+
+2010-10-16  Andrea Palmatè <andrea at amigasoft.net>
+
+	* plugin/aos4/Makefile.am, plugin/aos4/plugin.cpp,
+	plugin/aos4/plugin.h: Add plugin support for AmigaOS4. Note that
+	currently the plugin is broken on OS4
+
+2010-10-16  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/XMLNode_as.cpp, libcore/asobj/XML_as.cpp: Reorder
+	XMLNode and XML properties to match the ordering in pp (toward fixup
+	of the ExternalInterface test
+
+2010-10-15  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Socket.cpp: It's std::signal in <csignal>!
+
+2010-10-15  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Socket.cpp: Ask not to get sigpipe, hopefully in a
+	standard way now
+
+2010-10-15  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayObject.h, libcore/MovieClip.cpp,
+	libcore/MovieClip.h, libcore/PropertyList.cpp,
+	libcore/PropertyList.h, libcore/as_object.cpp, libcore/as_object.h,
+	libcore/asobj/LoadVars_as.cpp, libcore/asobj/XMLNode_as.cpp: 
+	Deprecate enumeratePropertyKey version taking as_environment and
+	provide one taking a vector of ObjectURI instead. Also change
+	signature of the function scanning all properties for the purpose of
+	building up string/string pairs to return string/as_value instead
+	(this latter should probably also be deprecated)
+
+2010-10-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp, gui/gtk/gtksup.h, gui/gui.cpp, gui/gui.h,
+	gui/kde/Kde4Gui.cpp, libcore/Button.cpp, libcore/DisplayObject.cpp,
+	libcore/DisplayObject.h, libcore/DisplayObjectContainer.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h: Improve InfoTree code.
+
+2010-10-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GC.cpp, libbase/GC.h: Cleanup includes, temporaries, and
+	constness.
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Instanciate the
+	native object (XML) closer to where it's checked
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Properly implement
+	ExternalInterface::_objectToXML
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Test the
+	_objectToXML can take any number of arguments
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Fix implementation
+	of ExternalInterface._argumentsToXML
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Socket.cpp: Do not use the non-standard MSG_NOSIGNAL flag
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: More tests for
+	argumentsToXML
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: More tests for
+	argumentsToXML, gnash also fails for the no-args case
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: 
+	ExternalInterface._argumentsToXML needs a single argument, not
+	two... (gnash insists in taking 2 and then throws away the second)
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Test that
+	arrayToXML scans the array using length and checking properties from
+	0 to length-1, fix that case. Arguments is still broken.
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ExternalInterface.cpp,
+	testsuite/actionscript.all/ExternalInterface.as: Add support in
+	PropSerializer for returning XML of properties in revere order.
+	Fixes a test in actionscript.all/ExternalInterface.as
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: 
+	ExternalInterface.call returns undefined on error, null on
+	unavailable
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: addCallback
+	returns true if external interface is available (tested)
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Fix expected
+	results based on EI.available
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Complete port to
+	'check' API, revealing actual values when the tests fail. Add more
+	tests showing SWF6 hiding of prop names. Change expectance from
+	_toAS to undefined (what I get with standalone)
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gui.cpp, gui/gui.h: Make the interface more
+	transparent
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Check unexistance
+	of ExternalInterface in SWF6 too... use more compact test API
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gui.cpp, librender/ScreenShotter.cpp,
+	librender/ScreenShotter.h: Don't store renderer in ScreenShotter.
+
+2010-10-14  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/ExternalInterface.as: Add count of
+	expected tests run, include "check.as" instead of "dejagnu.as". The
+	count reveals that the test tests nothing for SWF6! Also, the switch
+	to "check.as" shows how you can still use the direct "dejagnu.as"
+	interface if you really like that more...
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Makefile.am, gui/gnash.cpp, gui/gui.cpp, gui/gui.h,
+	librender/Makefile.am, librender/ScreenShotter.cpp,
+	librender/ScreenShotter.h: Move screenshot class to librender.
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp, libbase/GnashImage.h: Document.
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp: Reuse existing function.
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/Player.h, gui/gnash.cpp, gui/gui.cpp,
+	gui/gui.h, librender/Renderer.h, librender/Renderer_agg.cpp: 
+	Implement JPEG screenshot output.
+
+2010-10-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp, libbase/GnashImageJpeg.h: Allow
+	writing RGBA images to JPEG, ignoring alpha.
+
+2010-10-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Don't
+	access non-existent arguments.
+
+2010-10-13  Sandro Santilli <strk at keybit.net>
+
+	* : commit 5b90e7aa8d02b0a02dc56082d6f08c34e6bdc62e Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Oct 13 18:57:36 2010 +0200
+
+2010-10-13  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: add automake conditional for AmigaOS4
+
+2010-10-13  Sandro Santilli <strk at keybit.net>
+
+	* libcore/swf/DefineTextTag.h: Docs cleanup
+
+2010-10-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 311f17b49f65986ac759f8bd578b9c4846f4999d Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Wed Oct 13 10:19:59 2010
+	+0200
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* libcore/TextField.cpp: It's device fonts being unaffected by color
+	transform, not embedded ones. Fixes bug #31312 (thanks Benjamin
+	Wolsey)
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* po/cs.po, po/de.po, po/es.po, po/fi.po, po/fr.po, po/gnash.pot,
+	po/it.po, po/ja.po: Update po files and drop the obsoleted parts
+
+2010-10-12  Maximiliano Castañón <maximi89 at gmail.com>
+
+	* po/es.po: Updated spanish translation
+
+2010-10-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac, gui/gtk/gtk.cpp, gui/gtk/gtksup.h: Drop obsolete
+	code.
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Socket.cpp: Request not to send SIGPIPE while sending to
+	socket
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/XMLSocket_as.cpp: Use Socket::eof for detecting
+	close
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Socket.cpp, libbase/Socket.h: Implement Socket::eof
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* gui/NullGui.cpp: Debug-print reason of exit from NullGui run
+	(trying to figure out why XMLSocketTester sometimes fail
+
+2010-10-12  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/XmlSocketServer.pl: Write what's received only to the
+	channel from which we received that
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/XMLSocketTester.sh: Check sockets 10 times
+	per second (rather than 100)
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/XMLSocketTest.as: Avoid string assingment
+	to temporary variable
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/XmlSocketServer.pl: Sleep 1/10 of a second rather than
+	0.5 (quicker testing)
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/XmlSocketServer.pl: Check return from close(socket) in
+	perl XmlSocket server
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/XmlSocketServer.pl: XmlSocketServer: do not write to
+	socket after close
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/XMLSocketTester.sh: Pass XMLSocketTester
+	args to server process (useful for -v)
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/XmlSocketServer.pl: Be verbose only if requested
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/XMLSocketTest.as: Loop less at startup
+
+2010-10-11  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/gnashrc.in: Make sure not to ignore FSCommands while
+	running the testsuite (or you may be waiting a minute for
+	XMLSocketTester to complete...)
+
+2010-10-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit a944729fa80d4907e18eea7f0217da2d53dd3a19 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Oct 10 11:25:52 2010 +0200
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Change local function arguments and
+	document.
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h,
+	libcore/asobj/Global_as.cpp, libcore/asobj/Global_as.h,
+	libcore/vm/VM.cpp, libcore/vm/VM.h: Move unnecessary functions out
+	of Global_as interface.
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/mysql/mysql_db.cpp, libcore/ClassHierarchy.cpp,
+	libcore/MovieClip.cpp, libcore/Video.cpp, libcore/as_function.cpp,
+	libcore/as_object.cpp, libcore/as_value.cpp, libcore/as_value.h,
+	libcore/asobj/Array_as.cpp, libcore/asobj/AsBroadcaster.cpp,
+	libcore/asobj/Camera_as.cpp, libcore/asobj/Color_as.cpp,
+	libcore/asobj/ContextMenu_as.cpp, libcore/asobj/Global_as.cpp,
+	libcore/asobj/Global_as.h, libcore/asobj/LoadableObject.cpp,
+	libcore/asobj/Microphone_as.cpp, libcore/asobj/MovieClipLoader.cpp,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/NetStream_as.cpp, libcore/asobj/Object.cpp,
+	libcore/asobj/Selection_as.cpp, libcore/asobj/Sound_as.cpp,
+	libcore/asobj/TextField_as.cpp, libcore/asobj/TextFormat_as.cpp,
+	libcore/asobj/XMLNode_as.cpp, libcore/asobj/XML_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/asobj/flash/geom/Matrix_as.cpp,
+	libcore/asobj/flash/geom/Point_as.cpp,
+	libcore/asobj/flash/geom/Rectangle_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp, libcore/debugger.cpp,
+	libcore/movie_root.cpp, libcore/parser/sprite_definition.cpp,
+	libcore/vm/ASHandlers.cpp, libcore/vm/VM.cpp: Use toObject()
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.cpp, libcore/vm/VM.h: Add toObject() function
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h, libcore/MorphShape.cpp,
+	libcore/RunResources.h, libcore/Timers.h, libcore/as_function.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h, libcore/vm/VM.h,
+	testsuite/MovieTester.cpp, utilities/processor.cpp: Header cleanup,
+	consolidate movie_root::reset.
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/swf/ExportAssetsTag.h,
+	libcore/swf/tag_loaders.cpp: Clean up includes.
+
+2010-10-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* cygnal/cvm.cpp, gui/Player.cpp, libcore/Makefile.am,
+	libcore/MovieFactory.cpp, libcore/MovieFactory.h, libcore/gnash.h,
+	libcore/impl.cpp, utilities/processor.cpp: Drop global clear()
+	function.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.h: Fix button cleanup segfault.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp: Fix testsuite again.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLSocket_as.cpp: Another useless deregistration
+	function.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GC.h, libcore/vm/VM.cpp, libcore/vm/VM.h: Documentation.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/NetStream_as.cpp, libcore/vm/VM.cpp: Squash more silly
+	cleanups.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/processor.cpp: Allow successive runs in gprocessor.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp, libcore/vm/VM.cpp, libcore/vm/VM.h: 
+	Documentation, remove useless functions.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Relay.cpp, libcore/asobj/Sound_as.cpp: Don't access other
+	GC resources in GC resource dtors or cleanup is impossible.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/MovieTester.h,
+	testsuite/misc-ming.all/DefineTextTest-Runner.cpp,
+	testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp,
+	testsuite/misc-ming.all/attachMovieTestRunner.cpp,
+	testsuite/misc-ming.all/intervalTestRunner.cpp,
+	testsuite/movies.all/gravity_embedded-TestRunner.cpp: Add vm
+	accessor to MovieTester, use it.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* cygnal/cvm.cpp, gui/gtk/gtk_glue.h, gui/gui.cpp,
+	gui/pythonmod/gnash-view.cpp, libbase/GC.cpp, libbase/GC.h,
+	libcore/DisplayObject.cpp, libcore/URLAccessManager.cpp,
+	libcore/as_object.cpp, libcore/gnash.h, libcore/impl.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h, libcore/vm/VM.cpp,
+	plugin/win32/plugin.cpp, testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp: Drop GC singleton
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gtk/gtk.cpp, gui/gtk/gtk_canvas.cpp,
+	gui/gtk/gtk_canvas.h, gui/gtk/gtk_glue.h, gui/gtk/gtk_glue_agg.cpp,
+	gui/gtk/gtk_glue_agg.h, gui/gtk/gtk_glue_agg_vaapi.cpp,
+	gui/gtk/gtk_glue_agg_vaapi.h, gui/gtk/gtk_glue_agg_xv.cpp,
+	gui/gtk/gtk_glue_agg_xv.h, gui/gui.cpp, gui/gui.h,
+	gui/pythonmod/gnash-view.cpp, libcore/FreetypeGlyphsProvider.cpp,
+	libcore/URLAccessManager.cpp, libcore/gnash.h, libcore/impl.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h, libcore/vm/VM.cpp,
+	libcore/vm/VM.h, testsuite/MovieTester.cpp,
+	testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp, utilities/processor.cpp: 
+	Drop VM singleton.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/gui.cpp, gui/pythonmod/gnash-view.cpp,
+	libcore/MovieClip.cpp, libcore/MovieLoader.cpp,
+	libcore/RunResources.h, libcore/StreamProvider.cpp,
+	libcore/StreamProvider.h, libcore/asobj/LoadableObject.cpp,
+	libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/SharedObject_as.cpp, libcore/asobj/Sound_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/movie_root.cpp, libcore/swf/ImportAssetsTag.h,
+	testsuite/MovieTester.cpp, testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/libcore.all/DisplayListTest.cpp,
+	testsuite/libcore.all/PropertyListTest.cpp, utilities/processor.cpp: 
+	Reduce places URL is stored.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp, gui/pythonmod/gnash-view.cpp,
+	libcore/StreamProvider.cpp, libcore/StreamProvider.h,
+	libcore/URLAccessManager.cpp, libcore/URLAccessManager.h,
+	libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/NetConnection_as.cpp,
+	libcore/asobj/SharedObject_as.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/movie_root.cpp, libcore/movie_root.h,
+	testsuite/MovieTester.cpp, utilities/processor.cpp: Drop
+	URLAccessManager VM::get.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/fileio/fileio.cpp: Fix fileio.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/gtk2/gtkext.cpp: Drop VM::get from extension.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/CharacterProxy.h: Don't forget to copy movie_root pointer.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ClassHierarchy.cpp, libcore/ClassHierarchy.h: Drop unused
+	ostream operator that used VM singleton.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h,
+	libcore/asobj/AsBroadcaster.cpp,
+	libcore/asobj/flash/geom/Point_as.cpp, libcore/vm/ASHandlers.cpp,
+	libcore/vm/VM.cpp, libcore/vm/VM.h: Drop VM::get usage in as_value.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/attachMovieTestRunner.cpp,
+	testsuite/misc-ming.all/intervalTestRunner.cpp,
+	testsuite/movies.all/gravity_embedded-TestRunner.cpp: Fix testsuite
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h,
+	libcore/asobj/Array_as.cpp, libcore/asobj/AsBroadcaster.cpp,
+	libcore/asobj/Color_as.cpp, libcore/asobj/Date_as.cpp,
+	libcore/asobj/Global_as.cpp, libcore/asobj/Key_as.cpp,
+	libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/Microphone_as.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/Number_as.cpp, libcore/asobj/Selection_as.cpp,
+	libcore/asobj/SharedObject_as.cpp, libcore/asobj/String_as.cpp,
+	libcore/asobj/TextField_as.cpp, libcore/asobj/TextFormat_as.cpp,
+	libcore/asobj/TextSnapshot_as.cpp, libcore/asobj/XMLNode_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/vm/ASHandlers.cpp, libcore/vm/VM.cpp, libcore/vm/VM.h,
+	testsuite/libcore.all/AsValueTest.cpp,
+	testsuite/misc-ming.all/DefineTextTest-Runner.cpp,
+	testsuite/misc-ming.all/DragDropTestRunner.cpp,
+	testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp,
+	testsuite/misc-ming.all/loadMovieTestRunner.cpp,
+	testsuite/misc-swfc.all/button_test1runner.cpp: Use new toInt, drop
+	remaining to_number().
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.cpp, libcore/vm/VM.h: Add toInt function with VM
+	arg.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h, libcore/vm/VM.cpp,
+	libcore/vm/VM.h: Move functions to VM
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp, libcore/asobj/Math_as.cpp: Drop all
+	to_number() use outside as_value.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/ASConversions.cpp, libcore/asobj/Color_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/BlurFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/GlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp: More
+	toNumber.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Matrix_as.cpp,
+	libcore/asobj/flash/geom/Point_as.cpp: More toNumber.
+
+2010-10-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/TextFormat_as.cpp: More toNumber.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/fileio/fileio.cpp, libcore/asobj/Array_as.cpp,
+	libcore/asobj/Camera_as.cpp, libcore/asobj/Date_as.cpp,
+	libcore/asobj/Global_as.cpp, libcore/asobj/Math_as.cpp,
+	libcore/asobj/Microphone_as.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/NetStream_as.cpp, libcore/asobj/Number_as.cpp,
+	libcore/asobj/Sound_as.cpp, libcore/asobj/String_as.cpp,
+	libcore/asobj/TextField_as.cpp, libcore/asobj/TextFormat_as.cpp,
+	libcore/asobj/XMLSocket_as.cpp, libcore/asobj/XML_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/asobj/flash/geom/Matrix_as.cpp, libcore/vm/Machine.cpp: Use
+	toNumber more.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h: Minor cleanups
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/DisplayObject.cpp,
+	libcore/ExternalInterface.cpp, libcore/as_value.cpp,
+	libcore/as_value.h, libcore/asobj/Boolean_as.cpp,
+	libcore/asobj/Camera_as.cpp, libcore/asobj/Microphone_as.cpp,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/Sound_as.cpp, libcore/asobj/Stage_as.cpp,
+	libcore/asobj/TextField_as.cpp, libcore/asobj/TextFormat_as.cpp,
+	libcore/asobj/TextSnapshot_as.cpp, libcore/asobj/XMLNode_as.cpp,
+	libcore/asobj/XML_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/GlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp,
+	libcore/asobj/flash/geom/Rectangle_as.cpp: Drop to_bool() usage.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp: Use conversion functions in MovieClip.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Use conversion functions more.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Use conversion functions.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Video.cpp, libcore/as_value.cpp, libcore/as_value.h,
+	libcore/vm/VM.cpp, libcore/vm/VM.h: Add VM functions for conversion.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/CharacterProxy.cpp, libcore/CharacterProxy.h,
+	libcore/as_value.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/Sound_as.cpp: Store movie_root in CharacterProxy to
+	avoid using VM singleton.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* extensions/dbus/dbus_ext.cpp, extensions/dejagnu/dejagnu.cpp,
+	extensions/fileio/fileio.cpp, extensions/lirc/lirc_ext.cpp,
+	extensions/mysql/mysql_db.cpp: Fix incorrect header in extensions.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* devtools/lib/Gnash/Distribution.pm, devtools/lib/Gnash/Utils.pm,
+	devtools/testsuite/c_casts.t,
+	devtools/testsuite/copyright_notices.t, devtools/testsuite/tabs.t,
+	devtools/testsuite/uncuddled_else.t, doc/C/actionscript.xml: Remove
+	unused perl scripts.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/gen-asclass.pl: Remove out-of-date script.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ExecutableCode.h: Drop useless include.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.h: Documentation.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.cpp, libcore/vm/ASHandlers.cpp,
+	libcore/vm/VM.cpp, libcore/vm/VM.h: Remove VM statics and related
+	functions. Use init_member().
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, testsuite/actionscript.all/Function.as: 
+	More passes, remove all static objects.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, libcore/as_function.h, libcore/vm/VM.cpp: 
+	Drop static entirely.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, libcore/asobj/Global_as.cpp: Remove 2
+	more static usages.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp: Drop static use.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ASHandlers.cpp, libcore/vm/VM.cpp,
+	testsuite/actionscript.all/Function.as: More passes.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.cpp, testsuite/actionscript.all/Function.as: Init
+	correct member: another pass.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.cpp, testsuite/actionscript.all/Function.as: 
+	Disregard visibility, testsuite passes.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, libcore/asobj/Global_as.cpp,
+	libcore/asobj/Number_as.cpp, libcore/vm/VM.cpp: Add Global_as.cpp,
+	improve some native function cases.
+
+2010-10-07  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* doc/C/preformatted/gnash_ref.info.in,
+	doc/C/preformatted/gnashref.html.in,
+	doc/C/refmanual/extensions/extensions.xml,
+	extensions/dbus/dbus_ext.cpp, extensions/dejagnu/dejagnu.cpp,
+	extensions/fileio/fileio.cpp, extensions/lirc/lirc_ext.cpp,
+	extensions/mysql/mysql_db.cpp, libcore/AMFConverter.cpp,
+	libcore/Button.cpp, libcore/ClassHierarchy.h,
+	libcore/ExternalInterface.cpp, libcore/Video.cpp,
+	libcore/as_function.cpp, libcore/as_object.cpp,
+	libcore/as_object.h, libcore/asobj/Accessibility_as.cpp,
+	libcore/asobj/Array_as.cpp, libcore/asobj/Boolean_as.cpp,
+	libcore/asobj/Camera_as.cpp, libcore/asobj/Color_as.cpp,
+	libcore/asobj/ContextMenu_as.cpp, libcore/asobj/Date_as.cpp,
+	libcore/asobj/Global_as.h, libcore/asobj/Globals.cpp,
+	libcore/asobj/Globals.h, libcore/asobj/Microphone_as.cpp,
+	libcore/asobj/MovieClipLoader.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/NetConnection_as.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/Number_as.cpp, libcore/asobj/Object.cpp,
+	libcore/asobj/SharedObject_as.cpp, libcore/asobj/Sound_as.cpp,
+	libcore/asobj/String_as.cpp, libcore/asobj/TextField_as.cpp,
+	libcore/asobj/TextFormat_as.cpp, libcore/asobj/XMLNode_as.cpp,
+	libcore/asobj/flash.am,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/display_pkg.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp,
+	libcore/asobj/flash/external/external_pkg.cpp,
+	libcore/asobj/flash/filters/BitmapFilter_as.cpp,
+	libcore/asobj/flash/filters/filters_pkg.cpp,
+	libcore/asobj/flash/flash_pkg.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/asobj/flash/geom/Matrix_as.cpp,
+	libcore/asobj/flash/geom/Point_as.cpp,
+	libcore/asobj/flash/geom/Rectangle_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp,
+	libcore/asobj/flash/geom/geom_pkg.cpp,
+	libcore/asobj/flash/net/net_pkg.cpp,
+	libcore/asobj/flash/text/text_pkg.cpp, libcore/vm/ASHandlers.cpp,
+	libcore/vm/VM.cpp, testsuite/libcore.all/DisplayListTest.cpp: Remove
+	virtual Global_as interface, create Objects properly.
+
+2010-10-06  Andrea Palmatè <andrea at amigasoft.net>
+
+	* libbase/SharedMem.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp: Small changes
+
+2010-10-05  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: Add release date for 0.8.6
+
+2010-10-04  Sandro Santilli <strk at keybit.net>
+
+	* : commit 29762b933a568853f2c81f4452fbb822e8481ac0 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Mon Oct 4 22:53:16 2010 +0200
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/changelog, packaging/debian/control: add ffmpeg
+	as media handler, along with it'
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 19cc9be0f2dbbcdf152a4a9e0a3b5d3fe3883fdf Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Mon Oct 4 09:49:30 2010 -0600
+
+2010-10-04  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp: If cookie is null, ncookie (string)
+	constructor would segfault... so check before trying
+
+2010-10-04  Sandro Santilli <strk at keybit.net>
+
+	* plugin/npapi/plugin.cpp, plugin/npapi/plugin.h: Move cookie setup
+	code in its own function (ready to be cloned for proxy)
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/rules: only build some of the extensions
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: add libqt4-dev and kdelibs-bin
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* macros/qt4.m4: don't edit the other include dirs for qt4 away, or
+	it breaks pbuilder.
+
+2010-10-04  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: use the python version instead of uname when
+	editing the python deb files.
+
+2010-10-03  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/curl_adapter.cpp: only indenting and minor formatting
+	changes.
+
+2010-10-03  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/curl_adapter.cpp: add comment about timeouts
+
+2010-10-04  Sandro Santilli <strk at keybit.net>
+
+	* libbase/curl_adapter.cpp: Indentation, slightly more useful debug
+	line
+
+2010-10-03  Rob Savoye <rob at welcomehome.org>
+
+	* : commit d7753930b9f710c6ee60af6d536d08e672db1491 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Sun Oct 3 16:20:37 2010 -0600
+
+2010-10-03  Sandro Santilli <strk at keybit.net>
+
+	* libbase/curl_adapter.cpp: Remove old TODO note (all done already)
+
+2010-10-03  Sandro Santilli <strk at keybit.net>
+
+	* libbase/curl_adapter.cpp: FD_ZERO should not be called between
+	curl_multi_fset and select...
+
+2010-10-03  Rob Savoye <rob at welcomehome.org>
+
+	* macros/curl.m4: when using --with-curl-lib= don't forget to add
+	-lcurl or gnash won't link.
+
+2010-10-02  Sandro Santilli <strk at keybit.net>
+
+	* : commit e51a1a7c78ba85cab1ea31ffd732b1087bdcd38b Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sat Oct 2 14:27:54 2010 +0200
+
+2010-10-02  Bastiaan Jacques <bastiaan at bjacques.org>
+
+	* libcore/CharacterProxy.h: Export a symbol used across DSOs.
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/redhat/gnash.spec, packaging/rpm.am: fix typo in
+	--enable-renderers, version is now master instead of trunk.
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: use NOW if revno isn't set. For some reason, git
+	describe fails on some machines.
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: add the branch nick back in the final
+	version string.
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: drop everything after the main index number so we
+	don't confuse packaging version numbering.
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/changelog: fix the date for the current entry
+
+2010-10-01  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 4ab30f16fee0c2d0e9fbf7be47dcc7a34bf0b64b Merge: a15b0de
+	003dc38 Author: Rob Savoye <rob at welcomehome.org> Date:   Fri Oct 1
+	07:01:09 2010 -0600
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/vm/ASHandlers.cpp: Add more object
+	information.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h, libcore/vm/fn_call.h,
+	testsuite/misc-ming.all/DragDropTestRunner.cpp,
+	testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp,
+	testsuite/misc-ming.all/loadMovieTestRunner.cpp: Use ostream
+	operator directly.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Function.cpp, libcore/as_object.cpp, libcore/as_object.h,
+	libcore/as_value.cpp, libcore/asobj/Globals.cpp: Drop proxying
+	function.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp: Update comment.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp: Fix length lookup.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/array.as: Add tests for length property
+	lookup.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h: Fix docs, drop all namespace references.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h, libcore/asobj/Array_as.cpp,
+	libcore/asobj/Array_as.h: Add getOwnProperty() to match getMember()
+	and make reducing lookups easier.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Object.cpp: Fix messed up log message.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/pythonmod/gnash-view.cpp, libcore/AMFConverter.cpp,
+	libcore/Timers.cpp, libcore/as_object.cpp, libcore/as_object.h,
+	libcore/asobj/ASConversions.cpp,
+	libcore/asobj/Accessibility_as.cpp,
+	libcore/asobj/AsBroadcaster.cpp, libcore/asobj/Camera_as.cpp,
+	libcore/asobj/Color_as.cpp, libcore/asobj/ContextMenuItem_as.cpp,
+	libcore/asobj/ContextMenu_as.cpp, libcore/asobj/Date_as.cpp,
+	libcore/asobj/Globals.cpp, libcore/asobj/LocalConnection_as.cpp,
+	libcore/asobj/Microphone_as.cpp, libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/Object.cpp, libcore/asobj/SharedObject_as.cpp,
+	libcore/asobj/TextField_as.cpp, libcore/asobj/XMLNode_as.cpp,
+	libcore/asobj/XMLSocket_as.cpp, libcore/asobj/XML_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilter_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/parser/sprite_definition.cpp, libcore/vm/ASHandlers.cpp,
+	libcore/vm/CallStack.cpp, libcore/vm/Machine.cpp: Move trivial
+	wrapper functions out of as_object class.
+
+2010-10-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_agg.cpp, librender/Renderer_agg_style.h: Use
+	default (integer) rasterizer.
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* : commit bf4e8690f4c4b55fa18feef0aefb4dd31450a1f2 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Sep 30 17:21:01 2010
+	+0200
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropertyList.cpp, libcore/PropertyList.h: Inline
+	PropertyList::markReachableResources.
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am, packaging/snapshot.am: change trunk to master
+	for snapshot version
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: change trunk to master for snapshot version
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: use git branch for the NICK instead of the directory
+	path.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h: Inline trivial
+	functions.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h: Provide a dtor for good karma.
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: drop Build-Depends from mysql extension
+	package
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/dirs, packaging/debian/docs,
+	packaging/debian/source/format: remove unnecessary files
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_value.cpp, libcore/as_value.h: Inline ctor, cctor and
+	dtor of as_value.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/VM.cpp, libcore/vm/VM.h: Inline swf version call.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_environment.h: Const correct.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp, libcore/DisplayList.h,
+	testsuite/libcore.all/DisplayListTest.cpp: Don't test things that
+	aren't part of the interface. Const correct.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/DisplayObject.h: Inline simple
+	accessors
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/event_id.h: Move binary ops outside class and simplify.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropertyList.h: Use own struct for easier inlining.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.h, libcore/PropertyList.cpp: Remove default args
+	and casts.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.h: Drop default Property ctor.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp, libcore/Property.h,
+	libcore/PropertyList.cpp: Documentation and cleanup.
+
+2010-09-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2e7254c0e683b3d7a01aebbe582760cce3f2411e Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Thu Sep 30 02:10:38 2010 +0200
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 4c3a2a586222d7ae78847952afecf816c308f52a Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Thu Sep 30 01:03:07 2010 +0200
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: add gnash-dev package. Add Chromium to
+	the list of supported browsers.
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/gnash-dev.install: look for lib and share for
+	pkgconfig files.
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/overrides/gnash-cygnal,
+	packaging/debian/overrides/gnash-tools: synced from old override
+	files
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: change bzr to git
+
+2010-09-30  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/rules: change bzr to git
+
+2010-09-29  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Consistent usage message
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.h: Drop declarations.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp: Remove member functions.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp: More static_visitors.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.h: Missing include.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ExternalInterface.cpp,
+	libcore/asobj/flash/external/ExternalInterface_as.cpp: Use anonymous
+	namespaces to prevent ODR violations.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp, libcore/as_object.cpp,
+	testsuite/libcore.all/ClassSizes.cpp: Use another static_visitor,
+	store by ref-to-const.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp, libcore/Property.h: Drop empty property.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp, libcore/Property.h: Use more static
+	visitors.
+
+2010-09-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.cpp, libcore/Property.h: Use static visitors for
+	Properties.
+
+2010-09-29  Sandro Santilli <strk at keybit.net>
+
+	* cygnal/libnet/Makefile.am, librender/Makefile.am: Use -release
+	libtool switch on all utility libs (thanks Miriam Ruiz)
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp: Const correct.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp, libcore/asobj/Array_as.h,
+	testsuite/actionscript.all/array.as: Fix more lookups.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Property.h: Make Properties smaller.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/libcore.all/ClassSizes.cpp: Add PropFlags to ClassSizes.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropFlags.h: Use unsigned int of appropriate size.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Array_as.cpp, testsuite/actionscript.all/array.as: 
+	Fix property lookup for join().
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/array.as: Test __resolve with array
+	functions.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp: Drop debugging.
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/po/ca.po, packaging/debian/po/cs.po,
+	packaging/debian/po/de.po, packaging/debian/po/es.po,
+	packaging/debian/po/fi.po, packaging/debian/po/it.po,
+	packaging/debian/po/ja.po, packaging/debian/po/pl.po,
+	packaging/debian/po/ru.po, packaging/debian/po/sv.po,
+	packaging/debian/po/vi.po, packaging/debian/po/zh_CN.po: add
+	translations of packing files from Debian
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* doc/C/gnashref.xml, doc/C/gnashuser.xml: add extrat texinfo stuff
+	from Debian patches.
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* utilities/dumpshm.cpp: remove extra parens from debug print, as it
+	has too many
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* cygnal/libnet/Makefile.am, librender/Makefile.am: add _LDFLAGS,
+	from Debian patches
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: remove extra blank line
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp: Constness.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, testsuite/actionscript.all/TextField.as: 
+	Use version for text value. Fixes latest test.
+
+2010-09-28  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/TextField.as: Test undefined value for
+	TextField.variable.
+
+2010-09-28  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/overrides/gnash-cygnal,
+	packaging/debian/overrides/gnash-tools,
+	packaging/debian/overrides/klash,
+	packaging/debian/overrides/python-gtk-gnash,
+	packaging/debian/source/format: migrate from debian packaging
+
+2010-09-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/Makefile.am: Link boost cygnal libs to soldumper and
+	flvdumper.
+
+2010-09-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac: Don't allow AVM2 option because it will fail to
+	compile.
+
+2010-09-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp: Drop assertion, handle the case instead.
+
+2010-09-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLNode_as.cpp: Mark parent XMLNodes. Fixes bug
+	#31044.
+
+2010-09-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp: Drop debugging message.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.h: Documentation.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/MovieClip.cpp, libcore/as_object.cpp,
+	libcore/as_object.h: Don't lookup events in __resolve.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Global_as.h: Header order.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp: Style.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Don't call resolve when looking for
+	handlers.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/AsBroadcaster.cpp: Drop unneeded members.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/ResolveEventsTest-Runner.cpp,
+	testsuite/misc-ming.all/ResolveEventsTest.c: Add tests for events
+	and resolve.
+
+2010-09-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_object.cpp: Don't look __resolve up twice.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Spaces.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Use a const map again. Other const
+	correctness.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit fc4c5ae1dd45034063242abf923b6ddfac28eddd Merge: ce5a187
+	e0ceae0 Author: Sandro Santilli <strk at keybit.net> Date:   Fri Sep 24
+	19:14:21 2010 +0200
+
+2010-09-24  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayObject.cpp: Drop more string_table from lookup
+	function signatures
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 29ef647fa46ed8d4e362a6b150bafe0b2c8314ee Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Sep 24 14:29:16 2010 +0200
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* Makefile.am, cygnal/Makefile.am: Link cygnal boost libs.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ObjectURI.h: Copyright.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp: Don't use the address of a function (no
+	thanks gcc).
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ObjectURI.h: Documentation.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp, libcore/DisplayObject.cpp,
+	libcore/ObjectURI.h, libcore/PropertyList.cpp,
+	libcore/PropertyList.h, libcore/as_environment.cpp,
+	libcore/as_object.h: Drop functions, use functors for comparison
+	etc.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ObjectURI.h: Restrict access, handle empty name case.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/PropertyList.cpp, libcore/PropertyList.h: Document and
+	clean up.
+
+2010-09-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/ObjectURI.h, libcore/PropertyList.cpp,
+	libcore/PropertyList.h: Adapt PropertyList to new ObjectURI
+	behaviour.
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/actionscript.all/Object.as: Add a test to be extra sure
+	also normal properties lookup go trough __resolve (and not just
+	lookups for function calls)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: Tweak getProperty stats some more:
+	trigger every 10Millions lookups of __proto__, show 10 entries.
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: iterator_find doesn't need stats
+	gathering, and getProperty should dump less (it's easy to reach one
+	million lookups of __proto__)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/as_object.cpp: Reduce uses of string_table building
+	ObjectURI earlier, for better caching.  Most notably an
+	ObjectURI->string_table::key->ObjectURI round trip was removed from
+	as_object::get_member while querying for DisplayObject, which may
+	explain the load of lowercase lookups for system events (we expect
+	to have a single noCase lookup per event function now)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: include gnashconfig.h for the stats defines
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp, libcore/PropertyList.cpp: include
+	gnashconfig.h for the stats defines
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: Add another stat for interator_find
+	calls
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: prop lookup stats must default to false (I copied
+	from cache, which I belive is wrong)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Add 'proplookup' --with-statistics support
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Stats.h: header guard
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: rename the stat define
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp: Split the stat define from the debug one
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* configure.ac: Add missing accepted value for --with-statistics
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Have ObjectURI stats also use the generic
+	class in Stats.h, keep stats by lookup key here as well. Default to
+	no stats.
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp, libcore/PropertyList.cpp: Default to no
+	debugging
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/AsBroadcaster.cpp: Use the generic KeyLookup class
+	for stats gathering
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: Add stats debugging for PropertyList
+	lookups
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp: Use the generic KeyLookup stats class
+	for stats gathering, raise checkpoint string_table size stats
+	printing
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libbase/Makefile.am, libbase/Stats.h: Add class to help gathering
+	stats about key lookups
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/asobj/AsBroadcaster.cpp: Port BroadcasterVisitor to
+	ObjectURI, to cache caseless keys during broadcasts
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/as_object.cpp, libcore/as_object.h: Switch get_super over
+	to ObjectURI, and split the version taking no arg from the other
+	(the no-arg doesn't even need to be virtual)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/Button.cpp, libcore/DisplayObject.cpp,
+	libcore/MovieClip.cpp, libcore/asobj/Global_as.h,
+	libcore/event_id.cpp, libcore/event_id.h: Cache ObjectURI for
+	events, to lookup lowercase once per event
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayList.cpp: missing include
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/MovieClip.cpp, libcore/ObjectURI.h: Drop the bool operator
+	for ObjectURI, to avoid getting the kind of side-effect that made me
+	waste way too much time to figure out (syntetized equality
+	operator); this allowed me to figure some debugging outputs were
+	being dumb too (now fixed to do debugging output of ObjectURI rather
+	than printing a number). Provide an .empty() method to ObjectURI,
+	for use by those which were using !name before (the reason why bool
+	operator was introduced in the first place). Sorry for the long
+	commit log line :)
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/as_object.cpp: Use proper Logger for ObjectURI
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Move equals function after equality operator,
+	or the syntetized one would be used
+
+2010-09-23  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Add an ObjectURI::Logger::debug method
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/swfdec/REALTIME: These two seems to require some sleeps
+	(now that we are faster ? Probably...
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/as_environment.cpp, libcore/as_object.cpp,
+	libcore/as_object.h, libcore/movie_root.cpp: Switch path element
+	lookup functions to ObjectURI as well
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Add equals(uri,uri) function to replace the
+	one currently implemented in string_table (key,key)
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: More proxying of noCase
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.cpp: Query ObjectURI for noCase
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Improved debugging stats for ObjectURI noCase
+	calls
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayObject.cpp, libcore/DisplayObject.h: switch
+	{get,set}DisplayObjectProperty to use ObjectURI
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Improve stats counter to show hit/skips
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp: Enable stats debugging
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Add stats debugging
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayList.cpp: Have NameEquals store query URI by ref,
+	for having more noCase caches opportunities
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/DisplayList.h, libcore/DisplayObject.cpp,
+	libcore/DisplayObject.h, libcore/MovieClip.cpp, libcore/MovieClip.h: 
+	Change DisplayObject name to an ObjectURI, update all code
+	accordingly
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Add toString method
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: Add default operator, safe bool operator,
+	case-insensitive comparison free function
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/ObjectURI.h: add noCase support in ObjectURI
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayList.h: Document getDisplayObjectByName
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/case6.as,
+	testsuite/misc-ming.all/case7.as: Add test for display object
+	(childs) casing
+
+2010-09-22  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/Makefile.am,
+	testsuite/misc-ming.all/case6.as, testsuite/misc-ming.all/case7.as: 
+	Add initial test for case sensitiveness with mixed version
+
+2010-09-21  Sandro Santilli <strk at keybit.net>
+
+	* : commit 60fb6da5ca9b421e5d8a36b45b8121632a0ea56d Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Sep 21 17:09:05 2010 +0200
+
+2010-09-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac, macros/boost.m4: Date time isn't needed unless you
+	build cygnal.
+
+2010-09-21  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit e53a4479e006b7dbcecffb70a01d1392b990c120 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Tue Sep 21 00:37:43 2010 +0200
+
+2010-09-20  Sandro Santilli <strk at keybit.net>
+
+	* libcore/DisplayObject.cpp: framesLoaded and framesTotal property
+	getters were swapped. Hard one to catch, with unpredictable loading
+	times... see bug #30179 for a case
+
+2010-09-20  Sandro Santilli <strk at keybit.net>
+
+	* : commit d279f443fe454c34343d0164d2c6d9ebd16c6b1b Merge: 16eb28a
+	0dfaad0 Author: Rob Savoye <rob at welcomehome.org> Date:   Mon Sep 20
+	15:11:28 2010 +0200
+
+2010-09-19  Andrea Palmatè <andreapalmate at MacPro.local>
+
+	* libbase/RTMP.cpp, libbase/SharedMem.cpp, libbase/Socket.cpp,
+	libbase/utility.h: Some small changes to allow AmigaOS4 compilation
+	again
+
+2010-09-19  Rob Savoye <rob at welcomehome.org>
+
+	* macros/boost.m4: for now, boost-date-time is still required as
+	cygnal uses it.
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 9ec7f5be49fc2d49bde588bc597dcccb31d3e51b Author: Sandro
+	Santilli <strk at keybit.net> Date:   Sun Sep 19 14:04:14 2010 +0200
+
+2010-09-19  Sandro Santilli <strk at keybit.net>
+
+	* libbase/tu_file.cpp: Fix false error about seeking to end
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit ccd126e38d122d3717b56bb63e26635d9e48db30 Merge: 547aac3
+	ddf8832 Author: Sandro Santilli <strk at keybit.net> Date:   Sun Sep 19
+	10:42:35 2010 +0200
+
+2010-09-19  Sandro Santilli <strk at keybit.net>
+
+	* libcore/TextField.cpp: Drop useless string copy duplication
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit ddf8832b4eae60d25479e435ca34ff567c6feea1 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Sun Sep 19 08:33:45 2010
+	+0200
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gtk/gtk.cpp: Drop obsolete code.
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am, libbase/ogl.h: Drop unused file.
+
+2010-09-19  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/getopt_win32.cpp: Remove leftover file.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_agg_style.h: Be less verbose.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FillStyle.cpp, librender/Renderer_agg_style.h,
+	librender/Renderer_cairo.cpp: Don't translate gradient matrices
+	stupidly.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/ffmpeg/AudioDecoderFfmpeg.cpp: Use preferred style for
+	FFmpeg.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/DefineVideoStreamTag.cpp,
+	libmedia/AudioDecoderSimple.cpp, libmedia/FLVParser.cpp,
+	libmedia/MediaHandler.cpp, libmedia/MediaHandler.h,
+	libmedia/MediaParser.h, libmedia/ffmpeg/AudioDecoderFfmpeg.cpp,
+	libmedia/ffmpeg/MediaHandlerFfmpeg.cpp,
+	libmedia/ffmpeg/MediaParserFfmpeg.cpp,
+	libmedia/ffmpeg/VideoDecoderFfmpeg.cpp,
+	libmedia/ffmpeg/VideoDecoderFfmpeg.h,
+	libmedia/gst/AudioDecoderGst.cpp, libmedia/gst/MediaHandlerGst.cpp,
+	libmedia/gst/MediaParserGst.cpp,
+	libmedia/haiku/MediaHandlerHaiku.cpp, libsound/EmbedSoundInst.cpp: 
+	Rename enumerators, split long lines.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h, libbase/GnashVaapiImage.h, libcore/RGBA.h,
+	libvaapi/VaapiImage.h, libvaapi/VaapiImageFormat.h,
+	libvaapi/VaapiSubpicture.h, libvaapi/VaapiSurface.h,
+	libvaapi/VaapiSurfaceGLX.h, libvaapi/vaapi_utils.h: Fix visibility.
+
+2010-09-16  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/XMLNode_as.cpp: Spacing.
+
+2010-09-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/sdl/sdl.cpp: Drop debugging.
+
+2010-09-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libsound/sdl/sound_handler_sdl.cpp: Add tiny sleep to prevent hang
+	on windows.
+
+2010-09-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit c8c7b4cc68c498a93836e6b090290030d7d6108e Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Sep 14 12:11:39 2010
+	+0200
+
+2010-09-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Makefile.am, gui/sdl/sdl.am, libcore/Makefile.am,
+	libmedia/Makefile.am, librender/Makefile.am, libsound/Makefile.am,
+	macros/curl.m4: Makefile cleanup, allow static linking of curl.
+
+2010-09-14  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/curl_adapter.cpp: Zero fds to fix w32 crash.
+
+2010-09-13  Sandro Santilli <strk at keybit.net>
+
+	* : commit 088663b88b9258ccace9f7ed3b80efff4a2aa37b Author: Alex
+	Converse <alex.converse at gmail.com> Date:   Mon Sep 13 20:21:21 2010
+	+0200
+
+2010-09-13  Alex Converse <alex.converse at gmail.com>
+
+	* README, README.dump-gnash, configure.ac: Fix FFmpeg style.
+
+2010-09-13  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* macros/ffmpeg.m4: Link avformat first (needed in static linking).
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* : commit 400e2fedf82fc1df0ee522c0a84a6f7879c00276 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Fri Sep 10 12:20:58 2010 +0200
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/gnash.h, librender/Renderer.h: Put forward declarations
+	where they're needed.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* Makefile.am, gui/Makefile.am: Fix snapshot compile error.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* macros/boost.m4: Boost date time isn't required.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/zlib_adapter.cpp: Use extern "C" to be on the safe side.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FillStyle.cpp, libcore/FillStyle.h,
+	libcore/parser/TypesParser.cpp: Fix typo, clean up.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FillStyle.cpp, libcore/FillStyle.h,
+	libcore/parser/TypesParser.cpp, libcore/parser/TypesParser.h,
+	librender/Renderer_agg.cpp, librender/Renderer_agg.h,
+	librender/Renderer_cairo.cpp: Move fill style parsing, fix many
+	includes.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/FillStyle.cpp, libcore/FillStyle.h,
+	libcore/LineStyle.cpp, libcore/RGBA.cpp, libcore/RGBA.h,
+	libcore/SWFMatrix.cpp, libcore/SWFMatrix.h, libcore/SWFRect.cpp,
+	libcore/SWFRect.h, libcore/parser/Makefile.am,
+	libcore/parser/SWFMovieDefinition.cpp,
+	libcore/parser/SWFParser.cpp, libcore/parser/TypesParser.cpp,
+	libcore/parser/TypesParser.h, libcore/swf/DefineButtonTag.cpp,
+	libcore/swf/DefineEditTextTag.cpp, libcore/swf/DefineFontTag.cpp,
+	libcore/swf/DefineMorphShapeTag.cpp,
+	libcore/swf/DefineScalingGridTag.cpp,
+	libcore/swf/DefineTextTag.cpp, libcore/swf/PlaceObject2Tag.cpp,
+	libcore/swf/SetBackgroundColorTag.h, libcore/swf/ShapeRecord.cpp,
+	libcore/swf/TextRecord.cpp: Move most SWFStream handling out of
+	libcore.
+
+2010-09-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/as_function.cpp, libcore/as_function.h,
+	libcore/as_object.cpp, libcore/as_object.h: Remove unused
+	convenience functions.
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libcore/namedStrings.h: fix typo, add instructions about lowercase
+	named strings
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libcore/Function.cpp, libcore/Function2.cpp: Use named string for
+	"arguments"
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libcore/namedStrings.cpp, libcore/namedStrings.h: Order
+	namedStrings so that known-to-be-lowercased are grouped at the
+	beginning; add a placeholder for last lowercase key and register it
+	with string_table; add a namedString for "arguments"
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp, libbase/string_table.h: Add the concept
+	of 'highest known lowercase key' to string_table to reduce cost of
+	::noCase calls.
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.cpp: Add string_table stat machinery (dirty,
+	but damn useful. disabled by default)
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libbase/string_table.h: const-correctness
+
+2010-09-10  Sandro Santilli <strk at keybit.net>
+
+	* libcore/PropertyList.h: Cleanup functions documentation to drop
+	reference to no-more-existing namespace parameters and properly
+	reference the new 'uri' parameter
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSystemFDHeaders.h: Missing include.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/swf/tag_loaders.cpp: Rearrange includes (duplicate
+	definition on w32)
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/gnash.cpp, gui/sdl/sdl.cpp, libbase/getopt_win32.h: Drop weird
+	core dump option for sdl.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 1385353f392b49011ddf5d0495521b1f3fbac410 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Sep 9 13:35:59 2010 +0200
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* macros/ffmpeg.m4: Use more portable bash printf format.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSystemFDHeaders.h: Fix windows version of
+	ioctlSocket.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Socket.cpp: More portability fixes.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/RTMP.cpp: Allow windows build.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Socket.h: Commit header too.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSystemNetHeaders.h, libbase/Socket.cpp: Use more
+	portable types for sockets.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/external/ExternalInterface_as.cpp: Use
+	GnashSystemNetHeaders, drop system headers.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSystemFDHeaders.h, libcore/ExternalInterface.cpp: 
+	Move ioctl stuff out of libcore.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashSystemNetHeaders.h, libcore/URLAccessManager.cpp: Use
+	suitable system includes, fix windows build.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp: Drop unneeded system includes.
+
+2010-09-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp: Use libjpeg's boolean type: works on
+	windows too.
+
+2010-09-08  Petr Pisar <petr.pisar at atlas.cz>
+
+	* po/cs.po: Czech translation updated (patch #7312)
+
+2010-09-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit b3d5da01fbf3a4b3d3bc0fee14ddd87f994811d5 Author: Sandro
+	Santilli <strk at keybit.net> Date:   Wed Sep 8 18:49:51 2010 +0200
+
+2010-09-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Video.cpp, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/Sound_as.cpp, libmedia/ffmpeg/MediaHandlerFfmpeg.cpp,
+	libmedia/gst/MediaHandlerGst.cpp, libsound/EmbedSoundInst.cpp: Const
+	correctness.
+
+2010-09-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/BevelFilter.cpp, libcore/BlurFilter.cpp,
+	libcore/ColorMatrixFilter.cpp, libcore/ConvolutionFilter.cpp,
+	libcore/DropShadowFilter.cpp, libcore/GlowFilter.cpp,
+	libcore/GradientBevelFilter.cpp, libcore/GradientGlowFilter.cpp,
+	libcore/Makefile.am: Drop silly filter files.
+
+2010-09-08  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/NetStream_as.cpp: Spacing.
+
+2010-09-08  Sandro Santilli <strk at keybit.net>
+
+	* : commit 146c5d78235f10cba0feec31f7fb5bf68edc6c41 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Tue Sep 7 15:48:54 2010 +0200
+
+2010-09-02  Rob Savoye <rob at welcomehome.org>
+
+	* doc/Doxyfile.in: Don't run doxygen on .git or .bzr directories
+
+2010-09-02  Rob Savoye <rob at welcomehome.org>
+
+	* ChangeLog-0.8.5, ChangeLog-0.8.6, cygnal/ChangeLog,
+	cygnal/crc.cpp, cygnal/crc.h, cygnal/cygnal.cpp,
+	cygnal/http_server.cpp, cygnal/libnet/diskstream.cpp,
+	cygnal/libnet/diskstream.h, cygnal/libnet/http.cpp,
+	cygnal/libnet/network.cpp, cygnal/libnet/rtmp_client.cpp,
+	libbase/curl_adapter.cpp, libcore/parser/SWFMovieDefinition.cpp,
+	libcore/parser/SWFMovieDefinition.h: fix typos
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Add clone()
+	comments.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h: Implement
+	BitmapData.clone(). Tests all pass.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Add tests for
+	BitmapData.clone().
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/sdl/sdl_cairo_glue.cpp, gui/sdl/sdl_ogl_glue.cpp: Fix unused
+	variable warnings.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* macros/qt4.m4: Fix for bug #25758
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/vm/ActionExec.cpp: Log discarded actions only in action
+	logging.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageJpeg.cpp, libbase/GnashImageJpeg.h: Remove jpeg
+	namespace, use <algorithm> functions.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImageGif.cpp: Minor cleanup to gif code.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp: Use <algorithm> functions, clean up.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImagePng.cpp: Const correctness and style.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libmedia/Makefile.am: AM_CXXFLAGS includes CXXFLAGS already.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/gnashrc.in: Use a custom key to improve testsuite
+	reliability.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/Makefile.am: Add gstreamer flags for fedora 13.
+
+2010-09-01  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 3a1604e5ab586b0c10a1020ed1db72e1cd232f11 Merge: 0c0ea2d
+	829b1fb Author: Rob Savoye <rob at welcomehome.org> Date:   Mon Aug 30
+	12:44:01 2010 -0600
+
+2010-08-30  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/SharedMem.cpp, libbase/SharedMem.h,
+	libbase/SharedMemHaiku.cpp, libbase/curl_adapter.cpp, libbase/rc.h,
+	libcore/vm/ASHandlers.cpp: Change from _ANDROID to ANDROID
+
+2010-08-30  Rob Savoye <rob at welcomehome.org>
+
+	* libcore/ExternalInterface.cpp: Don't use :: before C library
+	functions.
+
+2010-08-30  Rob Savoye <rob at welcomehome.org>
+
+	* gui/EventDevice.cpp: Don't try to test for ATARI or VIRTUAL bus
+	events.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/BitmapMovie.h, libcore/MovieClip.h: Drop obsolete forward
+	declarations.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp, libbase/GnashImage.h,
+	libbase/GnashImageGif.cpp, libbase/GnashImageGif.h,
+	libbase/GnashImageJpeg.cpp, libbase/GnashImageJpeg.h,
+	libbase/GnashImagePng.cpp, libbase/GnashImagePng.h,
+	libcore/MovieFactory.cpp, libcore/swf/tag_loaders.cpp,
+	librender/Renderer_agg.cpp: Rename base classes.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp, libbase/GnashImage.h,
+	libbase/GnashImageGif.cpp, libbase/GnashImageGif.h,
+	libbase/GnashImageJpeg.cpp, libbase/GnashImageJpeg.h,
+	libbase/GnashImagePng.cpp, libbase/GnashImagePng.h,
+	libcore/parser/SWFMovieDefinition.h,
+	libcore/parser/movie_definition.h, libcore/swf/tag_loaders.cpp: 
+	Rename input classes.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp, libbase/GnashImage.h,
+	libbase/GnashImageGif.cpp, libbase/GnashImageJpeg.cpp,
+	libbase/GnashImagePng.cpp, libbase/GnashTexture.cpp,
+	libbase/ImageIterators.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h,
+	libmedia/ffmpeg/VideoDecoderFfmpeg.cpp, librender/Renderer_agg.cpp,
+	librender/Renderer_agg_bitmap.h, librender/Renderer_cairo.cpp,
+	librender/Renderer_ogl.cpp: Rename image type enum.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/CachedBitmap.h, libbase/GnashImage.cpp,
+	libbase/GnashImage.h, libbase/GnashImageGif.cpp,
+	libbase/GnashImageGif.h, libbase/GnashImageJpeg.cpp,
+	libbase/GnashImageJpeg.h, libbase/GnashImagePng.cpp,
+	libbase/GnashImagePng.h, libbase/GnashTexture.cpp,
+	libbase/GnashTexture.h, libbase/GnashVaapiImage.cpp,
+	libbase/GnashVaapiImage.h, libbase/GnashVaapiTexture.cpp,
+	libbase/GnashVaapiTexture.h, libcore/MovieFactory.cpp,
+	libcore/Video.cpp, libcore/Video.h, libcore/asobj/NetStream_as.cpp,
+	libcore/asobj/NetStream_as.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h,
+	libcore/parser/BitmapMovieDefinition.cpp,
+	libcore/parser/BitmapMovieDefinition.h,
+	libcore/parser/SWFMovieDefinition.h,
+	libcore/parser/movie_definition.h, libcore/swf/tag_loaders.cpp,
+	libmedia/VideoDecoder.h, libmedia/ffmpeg/VideoDecoderFfmpeg.cpp,
+	libmedia/ffmpeg/VideoDecoderFfmpeg.h,
+	libmedia/gst/VideoDecoderGst.cpp, libmedia/gst/VideoDecoderGst.h,
+	librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_agg_bitmap.h, librender/Renderer_cairo.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Add image
+	namespace, move mergeAlpha out of class.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 2c748f4e461858dbafaf253191c196de9661630e Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Mon Aug 30 11:05:29 2010
+	+0200
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_agg_style.h: Handle unprocessed colour values.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Const correct.
+
+2010-08-30  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.cpp: Add comments about premultiplication.
+
+2010-08-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_agg.cpp: Fix swapped pixel size values.
+
+2010-08-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	testsuite/actionscript.all/BitmapData.as: Fix handling of
+	transparency; tests pass.
+
+2010-08-29  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Add tests for alpha fill
+	colour.
+
+2010-08-27  Sandro Santilli <strk at keybit.net>
+
+	* : commit a3bfe004fd93f084ee426d500a4abcf3423884ae Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Fri Aug 27 13:10:04 2010
+	+0200
+
+2010-08-27  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit c1848f9588ed157683f763a490806c452bf0544d Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Fri Aug 27 11:20:45 2010
+	+0200
+
+2010-08-26  Sandro Santilli <strk at keybit.net>
+
+	* : commit 855587d2bb09511a99f68d2618213be4026f6f78 Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Aug 26 13:24:58 2010
+	+0200
+
+2010-08-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.h: Fix clang warning.
+
+2010-08-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFStream.cpp: Drop debugging message.
+
+2010-08-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Drop debugging
+	message.
+
+2010-08-26  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 1f19d08c5f98a12bb2b3b2e58142a4fd0e330ecb Author: Benjamin
+	Wolsey <bwy at benjaminwolsey.de> Date:   Thu Aug 26 08:05:56 2010
+	+0200
+
+2010-08-26  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/RemoveObject2Test.c: Hush a couple of
+	compiler warnings
+
+2010-08-26  Sandro Santilli <strk at keybit.net>
+
+	* testsuite/misc-ming.all/PlaceObject2Test.c: Don't use abort when
+	willing to exit with an error... (hushes a warning aout abort() not
+	being defined)
+
+2010-08-25  Sandro Santilli <strk at keybit.net>
+
+	* gui/fb/fb.cpp, gui/fb/fbsup.h: FBGui::checkForData() is
+	implemented as returning void, so advertise it as such
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/movies.all/gravity_embedded-TestRunner.cpp: Fix
+	testsuite.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/DisplayObject.h: Move functions
+	to header.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/asobj/MovieClip_as.cpp: Cleanup, fix bug from last commit.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Bitmap.cpp, libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/DisplayObjectContainer.cpp, libcore/Function2.cpp,
+	libcore/MorphShape.cpp, libcore/MovieClip.cpp, libcore/Shape.cpp,
+	libcore/TextField.cpp, libcore/Video.cpp,
+	libcore/asobj/MovieClip_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp, libcore/movie_root.cpp: 
+	Move functions outside class and const correct.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp: Fix some odd assumptions about attributes.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/Makefile.am, utilities/processor.cpp: 
+	Don't run the testcase either if ming isn't up-to-date.  Hack gprocessor so it doesn't crash everywhere on Debian Lenny.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* configure.ac, testsuite/misc-ming.all/Makefile.am: Only run
+	LoadBitmap tests for ming head.
+
+2010-08-25  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 9469ea0db917b15edbdbee537bc5263bd343ec2a Merge: 8cccfd1
+	fc6af64 Author: Rob Savoye <rob at welcomehome.org> Date:   Tue Aug 24
+	21:31:58 2010 -0600
+
+2010-08-24  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/redhat/gnash.spec: fix gnash-commo typo.
+
+2010-08-24  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: remove libltdl dependencies
+
+2010-08-24  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp: Drop more ifdefs, make --renderer help string (in
+	--help) consistent with the rest of option lists.
+
+2010-08-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Transform.h: Documentation for Transform class.
+
+2010-08-24  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* : commit 792c0ad3da40c4aabe46960a764300119cd74545 Merge: dd938c6
+	b91e2fd Author: Benjamin Wolsey <bwy at benjaminwolsey.de> Date:   Tue
+	Aug 24 20:14:21 2010 +0200
+
+2010-08-24  Sandro Santilli <strk at keybit.net>
+
+	* gui/gtk/gtk.cpp, librender/Renderer.h,
+	librender/Renderer_agg.cpp, librender/Renderer_agg.h,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Add a
+	virtual Renderer::description, use it in Help->About dialog to show
+	which renderer is being used.
+
+2010-08-24  Sandro Santilli <strk at keybit.net>
+
+	* NEWS: Update to include changes of 0.8.8
+
+2010-08-23  strk <strk at keybit.net>
+
+	* gui/kde/kde_glue_agg.h: Add missing <memory> header. Thanks to
+	Juergen Heinemann for patch (bug #30855)
+
+2010-08-23  strk <strk at keybit.net>
+
+	* libmedia/MediaParser.cpp: Re-introduce the nap between media chunk
+	parsing
+
+2010-08-22  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/changelog: updated for the 0.8.8 release
+
+2010-08-22  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: don't grep files that are in git, but not the
+	source tarball
+
+2010-08-22  Rob Savoye <rob at welcomehome.org>
+
+	* doc/C/preformatted/cygnal.1.in,
+	doc/C/preformatted/findmicrophones.1.in,
+	doc/C/preformatted/findwebcams.1.in,
+	doc/C/preformatted/flvdumper.1.in, doc/C/preformatted/gnash.1.in,
+	doc/C/preformatted/gnash_ref.info.in,
+	doc/C/preformatted/gnashref.html.in,
+	doc/C/preformatted/gnashuser.html.in,
+	doc/C/preformatted/gprocessor.1.in,
+	doc/C/preformatted/rtmpget.1.in, doc/C/preformatted/soldumper.1.in,
+	doc/C/refmanual/building.xml: replace bzr usage with git. Regenerate
+	preformatted docs
+
+2010-08-22  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: force SNAPSHOT_VERSION to match the release
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: change the version from trunk to 0.8.8
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: don't try to list packages when building from
+	the source tarball.
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: add the rest of the ChangeLogs and READMEs to the
+	dist tarball.
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* README: update
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* README.git: rename from README_bzr, change bzr to git
+
+2010-08-21  Rob Savoye <rob at welcomehome.org>
+
+	* README.git: rename from README_bzr, change bzr to git
+
+2010-08-20  Rob Savoye <rob at welcomehome.org>
+
+	* po/es.po, po/fr.po: update spanish and french translations
+
+2010-08-20  Rob Savoye <rob at welcomehome.org>
+
+	* po/es.po, po/fr.po: update spanish and french translations
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* packaging/debian/rules: rollback hurd changes, they're solved in
+	configure.ac
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* packaging/debian/rules: rollback hurd changes, they're solved in
+	configure.ac
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* configure.ac: update configure to automatically disable jemalloc
+	on HURD. Patch from pinotree
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* configure.ac: update configure to automatically disable jemalloc
+	on HURD. Patch from pinotree
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* configure.ac, gui/gtk/gtk_glue.h, libbase/tu_opengl_includes.h,
+	packaging/debian/rules: Apply patch from pinotree to enable build on
+	GNU HURD
+
+2010-08-20  John Wimer <john at god.vtic.net>
+
+	* configure.ac, gui/gtk/gtk_glue.h, libbase/tu_opengl_includes.h,
+	packaging/debian/rules: Apply patch from pinotree to enable build on
+	GNU HURD
+
+2010-08-17  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/string_table.h, libmedia/MediaHandler.h: fix visibility
+	builds.
+
+2010-08-17  Rob Savoye <rob at welcomehome.org>
+
+	* NEWS: update NEWS file for the release
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* ChangeLog-0.8.8: GNU style ChangeLog from bzr log
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* ChangeLog-0.8.8: GNU style ChangeLog from bzr log
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/RTMP.cpp: include unistd.h to keep OpenBSD happy.
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* libbase/RTMP.cpp: include unistd.h to keep OpenBSD happy.
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* plugin/npapi/plugin.cpp, plugin/npapi/pluginScriptObject.cpp: 
+	include sys/socket.h for the BSDs.
+
+2010-08-16  Rob Savoye <rob at welcomehome.org>
+
+	* plugin/npapi/plugin.cpp, plugin/npapi/pluginScriptObject.cpp: 
+	include sys/socket.h for the BSDs.
+
+2010-08-15  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Makefile.am: Add Transform.h to Makefile.
+
+2010-08-12  Sandro Santilli <strk at keybit.net>
+
+	* gui/gnash.cpp, gui/gtk/gtk_canvas.cpp, libbase/rc.cpp,
+	libbase/rc.h, libmedia/MediaHandler.h, libmedia/MediaParser.cpp,
+	packaging/debian/rules, testsuite/gnashrc.in,
+	testsuite/libbase.all/TCXXRc.cpp,
+	testsuite/libbase.all/gnashrc-local.in,
+	testsuite/libbase.all/gnashrc.in, utilities/processor.cpp: merge
+	patches from bzr for media handler changes.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Revert to
+	old renderer behaviour, as it's not quite as clear as I thought.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Expect Gnash failures.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: More tests.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Mask tests.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h: Add documentation.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/MovieClip.cpp, libcore/TextField.cpp, libcore/Video.cpp: 
+	Handle dynamic masks during display of the object they're masking
+	instead of during display of their parent object. This fixes
+	BitmapData.draw.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Clean up.
+
+2010-08-12  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	librender/Renderer.h: Mask handling strongly suggests that scaling
+	is handled by the renderer.
+
+2010-08-11  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 73326660de2f8e6860e273adeb5d6632e8cc58f1 Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Wed Aug 11 18:27:17 2010 -0600
+
+2010-08-11  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/control: cleanup dependencies
+
+2010-08-11  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: add quotes around sub shell execution
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp: Add some comments.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp: Handle the funny way masks are drawn,
+	fixing a bug with mask transforms not caught by the testsuite.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/LoadBitmapTest.c: Add pixel checking with
+	a very slight tolerance.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Error_as.cpp,
+	libcore/asobj/flash/filters/BevelFilter_as.cpp,
+	libcore/asobj/flash/filters/BitmapFilter_as.cpp,
+	libcore/asobj/flash/filters/BlurFilter_as.cpp,
+	libcore/asobj/flash/filters/ColorMatrixFilter_as.cpp,
+	libcore/asobj/flash/filters/ConvolutionFilter_as.cpp,
+	libcore/asobj/flash/filters/DisplacementMapFilter_as.cpp,
+	libcore/asobj/flash/filters/DropShadowFilter_as.cpp,
+	libcore/asobj/flash/filters/GlowFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientBevelFilter_as.cpp,
+	libcore/asobj/flash/filters/GradientGlowFilter_as.cpp,
+	libcore/vm/fn_call.h: Drop deprecated ThisIs policy
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h,
+	testsuite/misc-ming.all/LoadBitmapTest.c: Fix most loadBitmap tests.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/LoadBitmapTest.c: Expect Gnash failures.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/LoadBitmapTest.c: Test construction during
+	BitmapData.loadBitmap.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/LoadBitmapTest.c,
+	testsuite/misc-ming.all/Makefile.am: Framework for a loadBitmap
+	test.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Handle same colours
+	more neatly.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	testsuite/actionscript.all/BitmapData.as: Add test to make sure
+	Gnash doesn't hang, and fix a hang.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Fix floodFill for
+	corner cases (literally!).
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Test flood fill better.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/Makefile.am: Add to Makefile.
+
+2010-08-11  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h, libbase/ImageIterators.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h,
+	librender/Renderer_cairo.cpp: Separate image iterators from the
+	image class.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-haxe.all/classes.all/display/BitmapData_as.hx: The
+	duplicated test in misc-haxe.all passes.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Fix hang, fix left
+	extent of fill.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Comments and const
+	correctness.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Much faster
+	implementation.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h,
+	testsuite/actionscript.all/BitmapData.as: Pretty slow implementation
+	of floodFill.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/Globals.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h: Register and use native
+	BitmapData properties. Flags aren't tested.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp: Header cleanup.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/ASConversions.cpp, libcore/asobj/ASConversions.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.cpp,
+	libcore/asobj/flash/geom/ColorTransform_as.h,
+	libcore/asobj/flash/geom/Transform_as.cpp: Reduce code duplication.
+	Only genuine ColorTransform objects are usable with BitmapData.draw.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/geom/Transform_as.cpp,
+	testsuite/actionscript.all/Transform.as: Test a fake cxform.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/Transform.as: Update tests.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/ASConversions.cpp,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp,
+	testsuite/misc-ming.all/BitmapDataDraw.c: Use toSWFMatrix in
+	Transform.  Implement BitmapData.draw with cxform. Add tests.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Inform attached
+	objects after draw().
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	testsuite/actionscript.all/BitmapData.as: Test, implement channel
+	properties.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h: Use a typedef.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h: Fix distance_to to return the correct value;
+	this makes std::copy work again!
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h: Cleanups.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h: Cleanup of BitmapData
+	interface.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libbase/GnashImage.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Improve the
+	argb_iterator interface and add assignment operator and copy ctor
+	for proper behaviour.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* utilities/Makefile.am, utilities/processor.cpp: Set a renderer for
+	gprocessor to allow BitmapData testing if agg is present.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/NullGui.h: Coding style.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp: Don't cast.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* gui/Player.cpp: Drop commented-out code.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFMatrix.cpp: Minor cleanups.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/SWFCxForm.cpp, libcore/SWFMatrix.cpp, libcore/SWFMatrix.h: 
+	Minor cleanups.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/ASConversions.cpp, libcore/asobj/ASConversions.h,
+	libcore/asobj/MovieClip_as.cpp, libcore/asobj/MovieClip_as.h,
+	libcore/asobj/flash.am,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Use a separate file
+	for constructing a SWFMatrix from an as_object.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/SWFCxForm.cpp,
+	libcore/SWFCxForm.h, librender/Renderer_agg_style.h: Cleanup, drop
+	unused functions, don't qualify with gnash:: in the agg renderer.
+
+2010-08-10  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayList.cpp, libcore/DisplayList.h,
+	libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/Makefile.am, libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/SWFCxForm.cpp, libcore/SWFCxForm.h, libcore/TextField.cpp,
+	libcore/Transform.h, libcore/asobj/Color_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp, libcore/cxform.cpp,
+	libcore/cxform.h, libcore/swf/DefineButtonCxformTag.h,
+	libcore/swf/DefineButtonTag.cpp, libcore/swf/DefineButtonTag.h,
+	libcore/swf/DefineShapeTag.h, libcore/swf/PlaceObject2Tag.cpp,
+	libcore/swf/PlaceObject2Tag.h, libcore/swf/TextRecord.cpp,
+	librender/PathParser.cpp, librender/PathParser.h,
+	librender/Renderer_agg.cpp, librender/Renderer_agg_style.h,
+	librender/Renderer_cairo.cpp, librender/Renderer_cairo.h,
+	librender/Renderer_ogl.cpp, testsuite/libcore.all/ClassSizes.cpp: 
+	Rename cxform to SWFCxForm.
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* : commit 03eb25bbc48921e628ebe2944e9bc33b873c71ad Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Mon Aug 9 13:55:35 2010 -0600
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/redhat/gnash.spec: don't build the dbus extension, it
+	was never finished.
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* extensions/dejagnu/Makefile.am, extensions/fileio/Makefile.am,
+	extensions/lirc/Makefile.am, extensions/mysql/Makefile.am: delete
+	the *.la files as we never link against a plugin module anyway.
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* Makefile.am: change the - to a _ in the revno so it looks like a
+	legit version number.
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/redhat/gnash.spec: add extension packages
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/redhat/gnash.spec: use trunk as the version still.
+
+2010-08-09  Rob Savoye <rob at welcomehome.org>
+
+	* : commit a3edfc7ea3bf1c3b2ce2e3be45246adeb49f282e Author: Rob
+	Savoye <rob at welcomehome.org> Date:   Mon Aug 9 10:18:41 2010 -0600
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_cairo.cpp, librender/Renderer_cairo.h: Fix
+	cairo build.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DynamicShape.cpp, libcore/DynamicShape.h,
+	libcore/Video.cpp, libcore/swf/DefineMorphShapeTag.cpp,
+	libcore/swf/DefineShapeTag.cpp, librender/Renderer.h,
+	librender/Renderer_agg.cpp, librender/Renderer_cairo.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Use
+	Transform for renderer API and fix Video rendering (which testsuite
+	didn't notice!).
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.h, libcore/Transform.h: Update Transform.h
+	header with copyright.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/actionscript.all/BitmapData.as: Passes in
+	actionscript.all, but not with automated testing (no renderer).
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h,
+	testsuite/DummyCharacter.h: Use draw() to implement display() and
+	restore drawable rendering in draw().
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Bitmap.cpp, libcore/Button.cpp, libcore/MorphShape.cpp,
+	libcore/MovieClip.cpp, libcore/Shape.cpp, libcore/StaticText.cpp,
+	libcore/TextField.cpp, libcore/Transform.h: Implement concatenation
+	as a free function.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/TextField.cpp: Cut down on get_world_cxform calls.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Bitmap.cpp, libcore/Button.cpp, libcore/DisplayList.cpp,
+	libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/MovieClip.cpp, libcore/TextField.cpp,
+	libcore/asobj/Color_as.cpp, libcore/asobj/TextSnapshot_as.cpp,
+	libcore/asobj/flash/geom/Transform_as.cpp, libcore/movie_root.cpp: 
+	Use the Transform member more sensibly.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Button.cpp, libcore/DisplayObject.h,
+	libcore/MorphShape.cpp, libcore/MovieClip.cpp, libcore/Shape.cpp,
+	libcore/StaticText.cpp, libcore/TextField.cpp, libcore/TextField.h,
+	libcore/swf/DefineTextTag.cpp, libcore/swf/TextRecord.cpp,
+	libcore/swf/TextRecord.h: Use Transform more.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.cpp, libcore/DisplayObject.h,
+	libcore/Transform.h: Store matrix and cxform as a Transform element.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/MovieClip.cpp, libcore/MovieClip.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Add a draw() function
+	to MovieClip.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* testsuite/misc-ming.all/BitmapDataDraw.c: Expect passes (only when
+	renderer is used!).
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Bitmap.cpp, libcore/Bitmap.h, libcore/Button.cpp,
+	libcore/Button.h, libcore/DisplayList.cpp, libcore/DisplayList.h,
+	libcore/DisplayObject.h, libcore/InteractiveObject.h,
+	libcore/MorphShape.cpp, libcore/MorphShape.h,
+	libcore/MovieClip.cpp, libcore/MovieClip.h, libcore/Shape.cpp,
+	libcore/Shape.h, libcore/StaticText.cpp, libcore/StaticText.h,
+	libcore/TextField.cpp, libcore/TextField.h, libcore/Video.cpp,
+	libcore/Video.h, libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/movie_root.cpp, libcore/swf/DefineMorphShapeTag.cpp,
+	libcore/swf/DefineMorphShapeTag.h, libcore/swf/DefineShapeTag.cpp,
+	libcore/swf/DefineShapeTag.h, libcore/swf/DefineTextTag.cpp,
+	libcore/swf/DefineTextTag.h: Pass a Transform to all display()
+	functions so that BitmapData.draw is less of a hack, and generally
+	to make a nicer process without recursive calls to getWorldMatrix
+	and analogous functions.  Needs tidying up.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/Bitmap.cpp, libcore/DisplayObject.h,
+	libcore/DynamicShape.cpp, libcore/DynamicShape.h,
+	libcore/MovieClip.cpp, libcore/Shape.cpp, libcore/Transform.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Use a Transform for
+	some things.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/DisplayObject.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Move Transform class
+	to DisplayObject.h.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h: An untidy
+	implementation of BitmapData.loadBitmap without tests.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp: Add error logging.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer_agg.cpp: Drop agg buffer debugging.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Improve and
+	document interface.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/MovieClip_as.cpp, libcore/asobj/MovieClip_as.h,
+	libcore/asobj/flash/display/BitmapData_as.cpp: Rough implementation
+	of BitmapData.draw. Drop debugging.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/asobj/flash/display/BitmapData_as.cpp,
+	libcore/asobj/flash/display/BitmapData_as.h, librender/Renderer.h,
+	librender/Renderer_agg.cpp: Steps towards internal rendering.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, librender/Renderer_agg.cpp,
+	librender/Renderer_cairo.h, librender/Renderer_ogl.cpp: Add an
+	Internal rendering class.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* libcore/movie_root.cpp, librender/Renderer.h: Use an object to
+	renderer externally, as we can do the same for internal rendering.
+
+2010-08-09  Benjamin Wolsey <bwy at benjaminwolsey.de>
+
+	* librender/Renderer.h, librender/Renderer_agg.cpp: Drop
+	set_invalidated_region as the alternative is used almost everywhere.
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: renable the testsuite
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/snapshot.am: the next release is 0.8.9
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/deb.am: don't try to rename to the build directory if it
+	exists.
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/rules: only build agg and cairo renderers
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* packaging/debian/gnash-dev.install: be more specific, use
+	/usr/include/gnash/
+
+2010-08-08  Rob Savoye <rob at welcomehome.org>
+
+	* configure.ac: disable the testsuite by default so end users
+	building from source don't get scared by all the testing
+	dependencies.
+
diff --git a/gui/Player.cpp b/gui/Player.cpp
index 356fa2f..84b9e7d 100644
--- a/gui/Player.cpp
+++ b/gui/Player.cpp
@@ -541,8 +541,17 @@ Player::run(int argc, char* argv[], const std::string& infile,
     _movieDef->completeLoad();
 
     if (! _delay) {
-        // 10ms per heart beat
-        _delay = 10;
+        float fps = _movieDef->get_frame_rate();
+        log_debug(_("Movie Frame Rate is %d, adjusting delay"), fps);
+        // FIXME: this value is arbitrary, and will make any movie with
+        // less than 12 frames eat up more of the cpu. It should probably
+        // be a much lower value, like 2.
+        if (fps > 12) {
+            _delay = static_cast<int>(1000/fps);
+        } else {
+            // 10ms per heart beat
+            _delay = 10;
+        }
     }
     // This is the time between the main loop waking up and processing
     // network messages, external calls, and displaying the next frame.
diff --git a/gui/Player.h b/gui/Player.h
index 627e1c3..039a8b8 100644
--- a/gui/Player.h
+++ b/gui/Player.h
@@ -172,8 +172,8 @@ public:
     /// --renderer option to gnash.
     void setRenderer(const std::string& x) { _renderer = x; }
     
-    /// Set the hardware video accleration backend, none, vaapi, xv,
-    /// or cairo. This is set in the users gnashrc file, or can be
+    /// Set the hardware video accleration backend, none, vaapi.
+    /// This is set in the users gnashrc file, or can be
     /// overridden with the --hwaccel option to gnash.
     void setHWAccel(const std::string& x) { _hwaccel = x; }
 
@@ -204,8 +204,8 @@ public:
 private:
 
     /// Whether to ue HW video decoding support, no value means disabled.
-    /// The only currently supported values are: none, vaapi, or xv (omap)
-    /// support coming.  The default is none,
+    /// The only currently supported values are: none or vaapi.
+    /// The default is none,
     std::string _hwaccel;
     
     /// Which renderer backend to use, no value means use the default.
diff --git a/gui/fb/Makefile.am b/gui/fb/Makefile.am
deleted file mode 100644
index f55db64..0000000
--- a/gui/fb/Makefile.am
+++ /dev/null
@@ -1,130 +0,0 @@
-## Process this file with automake to generate Makefile.in
-# 
-#   Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-# 
-
-#
-# Build the FB gui
-#
-
-AUTOMAKE_OPTIONS = -Wno-portability
-
-# top_builddir and top_srcdir are for revno.h; its location depends on
-# whether we're building from a snapshot or a checkout.
-AM_CPPFLAGS = \
-	-I$(top_builddir) \
-	-I$(top_srcdir) \
-	-I$(top_srcdir)/gui \
-	-I$(top_srcdir)/libnet \
-	-I$(top_srcdir)/libcore \
-	-I$(top_srcdir)/libcore/swf \
-	-I$(top_srcdir)/libcore/parser \
-	-I$(top_srcdir)/libcore/vm \
-	-I$(top_srcdir)/libcore/asobj \
-	-I$(top_srcdir)/libltdl \
-	-I$(top_srcdir)/libbase \
-	-I$(top_srcdir)/librender \
-	-I$(top_srcdir)/librender/agg \
-	-I$(top_srcdir)/librender/cairo \
-	-I$(top_srcdir)/librender/opengl \
-	-I$(top_srcdir)/libmedia \
-	-I$(top_srcdir)/libsound \
-	-DLOCALEDIR=\"$(localedir)\" \
-	-DPLUGINSDIR=\"$(pluginsdir)\" \
-	-DLIBAVCODEC_IDENT=\"$(LIBAVCODEC_IDENT)\" \
-	$(GLIB_CFLAGS) \
-	$(LIRC_CFLAGS) \
-	$(BOOST_CFLAGS) \
-	$(PYTHON_LIBS) \
-	$(PTHREAD_CFLAGS) \
-	$(NULL)
-
-AM_CPPFLAGS += -DPKGDATADIR="\"$(pkgdatadir)\""
-AM_CPPFLAGS += -DRENDERER_CONFIG="\"$(RENDERER_CONFIG)\""
-AM_CPPFLAGS += -DHWACCEL_CONFIG="\"$(HWACCEL_CONFIG)\""
-AM_CPPFLAGS += -DMEDIA_CONFIG="\"$(MEDIA_CONFIG)\""
-AM_CPPFLAGS += -DCONFIG_CONFIG="\"$(shell cat ../../.configline)\""
-AM_CPPFLAGS += -DCXXFLAGS="\"$(CXXFLAGS)\"" 
-
-## WARNING: make sure GLIB_LIBS appears first
-## See: http://lists.gnu.org/archive/html/gnash-dev/2006-07/msg00076.html
-AM_LDFLAGS =  \
-	$(GLIB_LIBS) \
-	$(CURL_LIBS) \
-	$(JPEG_LIBS) \
-	$(PNG_LIBS) \
-	$(INTLLIBS) \
-	$(TS_LIBS) \
-	$(BOOST_LIBS) \
-	$(NULL)
-
-GNASH_LIBS = \
-	$(top_builddir)/libcore/libgnashcore.la \
-	$(top_builddir)/librender/libgnashrender.la \
-	$(top_builddir)/libsound/libgnashsound.la \
-	$(top_builddir)/libmedia/libgnashmedia.la \
-	$(top_builddir)/libbase/libgnashbase.la
-
-
-# These are used to handle input events from a keyboard, mouse, or
-# touchscreen. These are only used by the Framebuffer GUI, as without
-# X11, it has no event handling. We do it this way so the optionally
-# built source files still get included in the source tarball.
-DEVICES =
-if ENABLE_INPUT_DEVICES
-DEVICES += InputDevice.cpp InputDevice.h
-
-# Touchscreen
-if ENABLE_TSLIB
-DEVICES += TouchDevice.cpp
-endif
-# PS/2 Mouse
-if ENABLE_MOUSE
-DEVICES += MouseDevice.cpp
-endif
-# Linux input events
-if ENABLE_INPUT_EVENTS
-DEVICES += EventDevice.cpp
-endif
-endif
-
-if BUILD_FB_GUI
-bin_PROGRAMS = fb-gnash
-
-# TODO: stop using these 
-GUI_SRCS = ../gnash.cpp \
-	../gui.cpp ../gui.h \
-	../Player.cpp ../Player.h \
-	../NullGui.cpp ../NullGui.h \
-	../ScreenShotter.cpp ../ScreenShotter.h \
-	$(NULL)
-
-fb_gnash_SOURCES = $(GUI_SRCS) $(DEVICES) gui_fb.cpp fb.cpp fbsup.h
-fb_gnash_CPPFLAGS = -DGUI_FB -DGUI_CONFIG=\"FB\" -DFAKEFB=\"$(FAKEFB)\" \
-	$(AM_CPPFLAGS) 
-fb_gnash_LDFLAGS = -export-dynamic $(AM_LDFLAGS)
-#fb_gnash_DEPENDENCIES = .configline
-fb_gnash_LDADD = \
-	$(top_builddir)/librender/libgnashrender.la \
-	$(GNASH_LIBS) 
-
-if BUILD_AGG_RENDERER
-fb_gnash_CPPFLAGS += $(AGG_CFLAGS)
-fb_gnash_LDADD += $(AGG_LIBS)
-endif				# BUILD_AGG_RENDERER
-
-endif				# BUILD_FB_GUI
-
diff --git a/gui/fb/fb.cpp b/gui/fb/fb.cpp
index 6c33630..f5020da 100644
--- a/gui/fb/fb.cpp
+++ b/gui/fb/fb.cpp
@@ -553,6 +553,7 @@ FBGui::disable_terminal()
     if (ioctl(fd, VT_GETSTATE, &vts) == -1) {
         log_error(_("Could not get current VT state"));
         close(_fd);
+        close(fd);
         return false;
     }
     
@@ -674,6 +675,7 @@ FBGui::enable_terminal()
     if (ioctl(fd, VT_ACTIVATE, _original_vt)) {
         log_error(_("Could not activate VT number %d"), _original_vt);
         close(_fd);
+        close(fd);
         return false;
     }
 
diff --git a/gui/gnash.cpp b/gui/gnash.cpp
index 600ab1f..b1e05f4 100644
--- a/gui/gnash.cpp
+++ b/gui/gnash.cpp
@@ -518,7 +518,7 @@ version_and_copyright(std::ostream& os)
        << VERSION " ("
        << BRANCH_NICK << "-" << BRANCH_REVNO << "-" << COMMIT_ID
        << ")" << endl << endl
-       << _("Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 "
+       << _("Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 "
             "Free Software Foundation, Inc.\n"
             "Gnash comes with NO WARRANTY, to the extent permitted "
             "by law.\nYou may redistribute copies of Gnash under the "
diff --git a/gui/gtk/gtk.cpp b/gui/gtk/gtk.cpp
index 5967332..da45af7 100644
--- a/gui/gtk/gtk.cpp
+++ b/gui/gtk/gtk.cpp
@@ -42,10 +42,6 @@
 # include <X11/keysym.h>
 # include <gdk/gdkx.h>
 # include <X11/Xlib.h>
-# ifdef HAVE_XV
-#  include <X11/extensions/Xv.h>
-#  include <X11/extensions/Xvlib.h>
-# endif
 #endif
 
 #include "log.h"
@@ -203,15 +199,6 @@ GtkGui::init(int argc, char **argv[])
         }
     }
 
-    // Gnash can only use the XVideo extension if our X server supports it.
-    if (hwaccel == "xv") {
-        // See if our X11 server supports the Xvideo extension, otherwise
-        // there is no point in trying to use Xvideo for scaling.
-        if (checkX11Extension("XVideo")) {
-            log_debug("Xvideo extension found");
-        }
-    }
-
     _canvas = gnash_canvas_new();
     gnash_canvas_setup(GNASH_CANVAS(_canvas), hwaccel, renderer, argc, argv);
     // Increase reference count to prevent its destruction (which could happen
diff --git a/gui/gtk/gtk_canvas.cpp b/gui/gtk/gtk_canvas.cpp
index 6dc2964..aeeae3a 100644
--- a/gui/gtk/gtk_canvas.cpp
+++ b/gui/gtk/gtk_canvas.cpp
@@ -202,7 +202,7 @@ gnash_canvas_setup(GnashCanvas *canvas, std::string& hwaccel,
         std::string& renderer, int argc, char **argv[])
 {
 
-    // Order should be VAAPI, Xv, X11
+    // Order should be VAAPI, X11
     bool initialized_renderer = false;
 
     // If a renderer hasn't been defined in gnashrc, or on the command
diff --git a/libbase/GnashImage.cpp b/libbase/GnashImage.cpp
index 11c6956..03a6939 100644
--- a/libbase/GnashImage.cpp
+++ b/libbase/GnashImage.cpp
@@ -26,6 +26,7 @@
 #include <boost/scoped_array.hpp>
 #include <boost/shared_ptr.hpp>
 #include <algorithm>
+#include <cassert>
 
 #ifdef USE_PNG
 # include "GnashImagePng.h"
@@ -44,6 +45,21 @@ namespace image {
 
 namespace {
     void processAlpha(GnashImage::iterator imageData, size_t pixels);
+    bool checkValidSize(size_t width, size_t height, size_t channels) {
+
+        if (width == 0 || height == 0) return false;
+
+        assert(channels > 0);
+
+        boost::uint32_t maxSize = std::numeric_limits<boost::int32_t>::max();
+        if (width >= maxSize || height >= maxSize) return false;
+
+        maxSize /= channels;
+        maxSize /= width;
+        maxSize /= height;
+
+        return maxSize > 0;
+    }
 }
 
 GnashImage::GnashImage(iterator data, size_t width, size_t height,
@@ -55,6 +71,8 @@ GnashImage::GnashImage(iterator data, size_t width, size_t height,
     _height(height),
     _data(data)
 {
+    // Callers should check dimensions
+    assert(checkValidSize(_width, _height, channels()));
 }
 
 /// Create an image allocating a buffer of height*pitch bytes
@@ -66,8 +84,9 @@ GnashImage::GnashImage(size_t width, size_t height, ImageType type,
     _width(width),
     _height(height)
 {
-    const size_t max = std::numeric_limits<boost::int32_t>::max();
-    if (size() > max) {
+    // Constructed from external input, so restrict dimensions to avoid
+    // overflow in size calculations
+    if (!checkValidSize(_width, _height, channels())) {
         throw std::bad_alloc();
     }
     _data.reset(new value_type[size()]);
diff --git a/libbase/GnashSleep.h b/libbase/GnashSleep.h
index ab4b372..46effce 100644
--- a/libbase/GnashSleep.h
+++ b/libbase/GnashSleep.h
@@ -32,12 +32,12 @@ namespace gnash {
 /// Sleep compatibly for the specified number of microseconds
 //
 /// @param useconds     microseconds to sleep.
-inline void gnashSleep(size_t useconds)
+inline void gnashSleep(time_t useconds)
 {
 #if defined(_WIN32) || defined(WIN32)
     Sleep(useconds / 1000);
 #else
-    const size_t m = 1000000;
+    const time_t m = 1000000;
     const struct timespec t = { useconds / m, (useconds % m) * 1000 };
     ::nanosleep(&t, 0);
 #endif
diff --git a/libbase/Makefile.am b/libbase/Makefile.am
index bbe5211..ae1b505 100644
--- a/libbase/Makefile.am
+++ b/libbase/Makefile.am
@@ -144,6 +144,7 @@ libgnashbase_la_SOURCES += \
 	GnashVaapiImage.h \
 	GnashVaapiImageProxy.h \
 	GnashVaapiTexture.cpp \
+	GnashVaapiTexture.h \
 	$(NULL)
 
 endif
diff --git a/libbase/Socket.cpp b/libbase/Socket.cpp
index 575fcfc..2bb3484 100644
--- a/libbase/Socket.cpp
+++ b/libbase/Socket.cpp
@@ -18,6 +18,10 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
+#ifdef HAVE_CONFIG_H
+# include "gnashconfig.h"
+#endif
+
 #include "Socket.h"
 
 #include <cstring>
@@ -25,6 +29,7 @@
 #include <csignal>
 #include <boost/lexical_cast.hpp>
 #include <boost/cstdint.hpp>
+#include <boost/shared_ptr.hpp>
             
 #include "GnashSystemNetHeaders.h"
 #include "GnashSystemFDHeaders.h"
@@ -33,6 +38,10 @@
 #include "utility.h"
 #include "GnashAlgorithm.h"
 
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+
 namespace gnash {
 
 Socket::Socket()
@@ -42,13 +51,17 @@ Socket::Socket()
     _size(0),
     _pos(0),
     _error(false)
-{}
+{ }
 
 bool
 Socket::connected() const
 {
-    if (_connected) return true;
-    if (!_socket) return false;
+    if (_connected) {
+        return true;
+    }
+    if (!_socket) {
+        return false;
+    }
 
     size_t retries = 10;
     fd_set fdset;
@@ -118,7 +131,6 @@ Socket::close()
 bool
 Socket::connect(const std::string& hostname, boost::uint16_t port)
 {
-
     // We use _socket here because connected() or _connected might not
     // be true if a connection attempt is underway but not completed.
     if (_socket) {
@@ -129,13 +141,105 @@ Socket::connect(const std::string& hostname, boost::uint16_t port)
     // If _socket is 0, either there has been no connection, or close() has
     // been called. There must not be an error in either case.
     assert(!_error);
+    
+    if (hostname.empty()) {
+        return false;
+    }
+
+    // This is used for ::connect()
+    struct sockaddr *saddr = 0;
+    
+#ifdef HAVE_IPV6
+    int code = 0;
+    struct addrinfo req, *ans;
+    std::memset(&req, 0, sizeof(struct addrinfo));
+    req.ai_family = AF_UNSPEC;  // Allow IPv4 or IPv6
+    req.ai_socktype = SOCK_STREAM;
+
+    // getaddrinfo() is sensitive to how localhost is defined in
+    // /etc/hosts. Whatever hostname is, needs to match the entry in
+    // the hosts file. Localhost is usually only used for debug and
+    // and testing, all other hostnames are fully qualified. Anyway,
+    // this causes our XMLSocketTester test case to fail since not
+    // all build slaves have the same entry for localhost in their
+    // hosts file.
+    code = getaddrinfo(hostname.c_str(), 0, &req, &ans);
+    if (code != 0) {
+        if (code == EAI_NONAME) {
+            std::string localhost;
+            if (hostname == "localhost") {
+                localhost = "localhost.localdomain";
+            } else if (hostname == "localhost.localdomain") {
+                localhost = "localhost";                
+            }
+            if ((code = getaddrinfo(localhost.c_str(), 0, &req, &ans)) != 0) {
+                log_error(_("getaddrinfo() failed again with code: #%d - %s\n"),
+                          code, gai_strerror(code));
+                return false;
+            }
+            log_error(_("getaddrinfo() needed to change localhost, check your /etc/hosts file!"));
+        } else {
+            log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
+                      code, gai_strerror(code));
+            return false;
+        }
+    }
+
+    // display all the IP numbers
+    struct addrinfo *ot = ans;
+    while (ot) {
+        char clienthost   [NI_MAXHOST];
+        std::memset(&clienthost, 0, NI_MAXHOST);
+        char clientservice[NI_MAXSERV];
+        std::memset(&clientservice, 0, NI_MAXSERV);
+        getnameinfo(ot->ai_addr, ot->ai_addrlen,
+                    clienthost, sizeof(clienthost),
+                    clientservice, sizeof(clientservice),
+                    NI_NUMERICHOST);
+        
+        boost::shared_ptr<char> straddr = getIPString(ot);
+        
+        if (ot->ai_family == AF_INET6) {
+            log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
+        } else if (ot->ai_family == AF_INET) {
+            log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
+        } else {
+            log_error("%s has no IP address!", hostname);
+        }
+        
+        ot = ot->ai_next;
+    }
+
+    // Multiple IPV$ and IPV6 numbers may be returned, so we try them all if
+    // required
+    struct addrinfo *it = ans;
+    while (it) {
+        _socket = ::socket(it->ai_family, it->ai_socktype, it->ai_protocol);
+        if (_socket < 0) {
+            const int err = errno;
+            log_error(_("Socket creation failed: %s"), std::strerror(err));
+            _socket = 0;
+            // Try the next IP number
+            it = it->ai_next;
+        } else {
+            break;
+        }
+    }
 
-    if (hostname.empty()) return false;
+    // cache the data we need later
+    struct sockaddr_in6 *addr6 = reinterpret_cast<struct sockaddr_in6 *>(it->ai_addr);
+    // When NULL is passed to getaddrinfo(), the port isn't set in
+    // the returned data, so we do it here.
+    addr6->sin6_port = htons(port);
+    saddr = it->ai_addr;
+    const int addrlen = it->ai_addrlen;
 
+    freeaddrinfo(ans);          // free the response data
+#else
     struct sockaddr_in addr;
     std::memset(&addr, 0, sizeof(addr));
     addr.sin_family = AF_INET;
-
+    addr.sin_port = htons(port);
     addr.sin_addr.s_addr = ::inet_addr(hostname.c_str());
     if (addr.sin_addr.s_addr == INADDR_NONE) {
         struct hostent* host = ::gethostbyname(hostname.c_str());
@@ -143,32 +247,32 @@ Socket::connect(const std::string& hostname, boost::uint16_t port)
             return false;
         }
         addr.sin_addr = *reinterpret_cast<in_addr*>(host->h_addr);
-    }
+        _socket = ::socket(addr.sin_family, SOCK_STREAM, IPPROTO_TCP);        
 
-    addr.sin_port = htons(port);
-
-    _socket = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
-    
-    if (_socket < 0) {
-        const int err = errno;
-        log_error(_("Socket creation failed: %s"), std::strerror(err));
-        _socket = 0;
-        return false;
+        if (_socket < 0) {
+            const int err = errno;
+            log_error(_("Socket creation failed: %s"), std::strerror(err));
+            _socket = 0;
+            return false;
+        }
     }
+    // cache the data we need later
+    const int addrlen = sizeof(struct sockaddr);
+    saddr = reinterpret_cast<struct sockaddr *>(&addr);
+#endif
+
 #ifndef _WIN32
     // Set non-blocking.
     const int flag = ::fcntl(_socket, F_GETFL, 0);
     ::fcntl(_socket, F_SETFL, flag | O_NONBLOCK);
 #endif
 
-    const struct sockaddr* a = reinterpret_cast<struct sockaddr*>(&addr);
-
     // Attempt connection
-    if (::connect(_socket, a, sizeof(struct sockaddr)) < 0) {
+    if (::connect(_socket, saddr, addrlen) < 0) {
         const int err = errno;
 #ifndef _WIN32
         if (err != EINPROGRESS) {
-            log_error(_("Failed to connect socket: %s"), std::strerror(err));
+            log_error(_("Failed to connect to socket: %s"), std::strerror(err));
             _socket = 0;
             return false;
         }
@@ -179,24 +283,48 @@ Socket::connect(const std::string& hostname, boost::uint16_t port)
 
     // Magic timeout number. Use rcfile ?
     const struct timeval tv = { 120, 0 };
-
+    
     // NB: the cast to const char* is needed for windows and is harmless
     // for POSIX.
     if (::setsockopt(_socket, SOL_SOCKET, SO_RCVTIMEO,
-                reinterpret_cast<const char*>(&tv), sizeof(tv))) {
+                     reinterpret_cast<const char*>(&tv), sizeof(tv))) {
         log_error(_("Setting socket timeout failed"));
     }
-
+    
     const int on = 1;
     // NB: the cast to const char* is needed for windows and is harmless
     // for POSIX.
     ::setsockopt(_socket, IPPROTO_TCP, TCP_NODELAY,
-            reinterpret_cast<const char*>(&on), sizeof(on));
-
+                 reinterpret_cast<const char*>(&on), sizeof(on));
+    
     assert(_socket);
+    
     return true;
 }
 
+// Return the string representation of the IPV4 or IPV6 number
+boost::shared_ptr<char>
+Socket::getIPString(struct addrinfo *ai)
+{
+    boost::shared_ptr<char> straddr(new char[INET6_ADDRSTRLEN]);
+    std::memset(straddr.get(), 0, INET6_ADDRSTRLEN);    
+    if (ai->ai_family == AF_INET6) {
+        struct sockaddr_in6 *sock6 = reinterpret_cast<struct sockaddr_in6 *>(ai->ai_addr);
+        struct in6_addr sin6_addr = sock6->sin6_addr;
+        ::inet_ntop(AF_INET6, &sin6_addr, straddr.get(), INET6_ADDRSTRLEN);
+//        log_debug("IPV6 address: %s", straddr.get());
+    } else if (ai->ai_family == AF_INET) {
+        struct sockaddr_in *sock = reinterpret_cast<struct sockaddr_in *>(ai->ai_addr);
+        struct in_addr sin_addr = sock->sin_addr;
+        ::inet_ntop(AF_INET, &sin_addr, straddr.get(), INET_ADDRSTRLEN);
+//        log_debug("IPV4 address: %s", straddr);
+    } else {
+        log_error("no IP address in addrinfo!");
+    }
+    
+    return straddr;
+}
+
 void
 Socket::fillCache()
 {
diff --git a/libbase/Socket.h b/libbase/Socket.h
index b5d5e79..6bef010 100644
--- a/libbase/Socket.h
+++ b/libbase/Socket.h
@@ -23,7 +23,11 @@
 
 #include "dsodefs.h"
 #include <boost/cstdint.hpp>
+#include <boost/shared_ptr.hpp>
 #include "IOChannel.h"
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
 
 namespace gnash {
     class URL;
@@ -119,6 +123,9 @@ public:
 
 private:
 
+    // Return the string representation of the IPV4 or IPV6 number
+    boost::shared_ptr<char> getIPString(struct addrinfo *ai);
+	
     /// Fill the cache.
     void fillCache();
 
@@ -143,8 +150,7 @@ private:
 
 #endif // GNASH_IOCHANNEL_H
 
-
 // Local Variables:
 // mode: C++
-// indent-tabs-mode: t
+// indent-tabs-mode: nil
 // End:
diff --git a/libbase/URL.cpp b/libbase/URL.cpp
index 497fe27..5ffdb70 100644
--- a/libbase/URL.cpp
+++ b/libbase/URL.cpp
@@ -17,6 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "URL.h"
+#include "log.h"
 
 #include <iostream>
 #include <string>
@@ -51,7 +52,6 @@ URL::URL(const std::string& relative_url, const URL& baseurl)
 void
 URL::normalize_path(std::string& path)
 {
-
 #if defined(_WIN32) || defined(WIN32) || defined(__OS2__) || defined(__amigaos4__)
     return;
 #endif
@@ -142,7 +142,7 @@ URL::init_absolute(const std::string& in)
 
 URL::URL(const std::string& absolute_url)
 {
-    //cerr << "URL(" << absolute_url << ")" << endl;
+    // std::cerr << "URL(" << absolute_url << ")" << std::endl;
     if ( ( absolute_url.size() && absolute_url[0] == '/' )
          || absolute_url.find("://") != std::string::npos 
          || ( absolute_url.size() > 1 && absolute_url[1] == ':' )        //for win32
@@ -185,7 +185,6 @@ URL::URL(const std::string& absolute_url)
 void
 URL::init_relative(const std::string& relative_url, const URL& baseurl)
 {
-    
     // If relative url starts with an hash, it's just
     // an anchor change
     if ( relative_url[0] == '#' ){
@@ -311,10 +310,25 @@ URL::split_port_from_host()
     assert(_port == "");
 
     // Extract anchor from path, if any
-    std::string::size_type hashpos = _host.find(':');
-    if ( hashpos != std::string::npos ) {
-        _port = _host.substr(hashpos+1);
-        _host.erase(hashpos);
+
+    // IPV4 addresses have square brackets around the adress like this:
+    // http://[2a00:1450:4001:c01::88]/
+    
+    std::string::size_type ipv6 = _host.find(']');
+    if (ipv6 == std::string::npos) {
+        // IPV6 address
+        std::string::size_type hashpos = _host.find(':');
+        if ( hashpos != std::string::npos ) {
+            _port = _host.substr(hashpos+1);
+            _host.erase(hashpos);
+        }
+    } else {
+        // IPV4 address
+        std::string::size_type hashpos = _host.find(':', ipv6);
+        if ( hashpos != std::string::npos ) {
+            _port = _host.substr(hashpos+1);
+            _host.erase(hashpos);
+        }        
     }
 }
 
@@ -342,7 +356,6 @@ void
 URL::parse_querystring(const std::string& query_string,
                        std::map<std::string, std::string>& target_map)
 {
-
     if ( query_string.empty() ) return; // nothing to do
 
     std::string qstring=query_string;;
diff --git a/libbase/curl_adapter.cpp b/libbase/curl_adapter.cpp
index f6dbaea..b5bdab4 100644
--- a/libbase/curl_adapter.cpp
+++ b/libbase/curl_adapter.cpp
@@ -1088,7 +1088,7 @@ CurlStreamFile::readNonBlocking(void *dst, std::streamsize bytes)
     fillCacheNonBlocking();
     if ( _error ) {
         // I guess an exception would be thrown in this case ?
-        log_error(_("curl adaptor's fillCacheNonBlocking set _error rather then throwing an exception"));
+        log_error(_("curl adaptor's fillCacheNonBlocking method sets an error condition rather than throwing an exception"));
         return 0; 
     }
 
diff --git a/libbase/gnashrc.in b/libbase/gnashrc.in
index 87a7ddd..1c73c56 100644
--- a/libbase/gnashrc.in
+++ b/libbase/gnashrc.in
@@ -202,13 +202,6 @@
 # This is the shared memory key for your system
 #set LCShmKey 3711621821
 
-# Enable support for the X Video extension. Note that this requires a
-# kernel/X11 driver, and compile-time gstreamer or ffmpeg and libXv.
-#
-# Default: false
-#
-#set XVideo true
-
 # Force rendering quality to "BEST".
 #
 # Possible values:
diff --git a/libbase/jemalloc.c b/libbase/jemalloc.c
index aa6c4c7..077dead 100644
--- a/libbase/jemalloc.c
+++ b/libbase/jemalloc.c
@@ -429,7 +429,7 @@ void *_mmap(void *addr, size_t length, int prot, int flags,
 static const bool __isthreaded = true;
 #endif
 
-#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN)
+#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN) || defined(MOZ_MEMORY_LINUX)
 #define JEMALLOC_USES_MAP_ALIGN	 /* Required on Solaris 10. Might improve performance elsewhere. */
 #endif
 
@@ -2238,6 +2238,7 @@ pages_map_align(size_t size, int pfd, size_t alignment)
 	 * We don't use MAP_FIXED here, because it can cause the *replacement*
 	 * of existing mappings, and we only want to create new mappings.
 	 */
+#ifdef MOZ_MEMORY_SOLARIS
 #ifdef MALLOC_PAGEFILE
 	if (pfd != -1) {
 		ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
@@ -2252,6 +2253,31 @@ pages_map_align(size_t size, int pfd, size_t alignment)
 
 	if (ret == MAP_FAILED)
 		ret = NULL;
+#else /* !MOZ_MEMORY_SOLARIS */
+#ifdef MALLOC_PAGEFILE
+	if (pfd != -1) {
+		ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
+		    MAP_NOSYNC, pfd, 0);
+	} else
+#endif
+	       {
+		ret = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE, MAP_PRIVATE |
+		    MAP_NOSYNC | MAP_ANON, -1, 0);
+	}
+	assert(ret != NULL);
+
+	if (ret == MAP_FAILED)
+		return NULL;
+	
+	uintptr_t aligned_ret;
+	size_t extra_size;
+	aligned_ret = (uintptr_t)ret + alignment - 1;
+	aligned_ret &= ~(alignment - 1);
+	extra_size = aligned_ret - (uintptr_t)ret;
+	munmap(ret, extra_size);
+	munmap(ret + extra_size + size, alignment - extra_size);
+	ret = (void*)aligned_ret;
+#endif /* ifdef MOZ_MEMORY_SOLARIS*/
 	return (ret);
 }
 #endif
diff --git a/libbase/rc.cpp b/libbase/rc.cpp
index 7058b09..ef79d6e 100644
--- a/libbase/rc.cpp
+++ b/libbase/rc.cpp
@@ -113,7 +113,6 @@ RcInitFile::RcInitFile()
     _saveStreamingMedia(false),
     _saveLoadedMedia(false),
     _popups(true),
-    _useXv(false),
     _webcamDevice(-1),
     _microphoneDevice(-1),
     _certfile("client.pem"),
diff --git a/libbase/rc.h b/libbase/rc.h
index 188f50d..89769fd 100644
--- a/libbase/rc.h
+++ b/libbase/rc.h
@@ -579,8 +579,6 @@ protected:
 
     bool _popups;
 
-    bool _useXv;
-	
     ///FIXME: this should probably eventually be changed to a more readable
     ///config option instead of an integer
     int _webcamDevice;
@@ -604,7 +602,7 @@ protected:
     bool _ignoreShowMenu;
 
     /// Whether to use HW video decoding support, no value means disabled.
-    /// The only currently supported values are: none, vaapi, or xv.  omap
+    /// The only currently supported values are: none or vaapi
     /// support is coming. 
     std::string _hwaccel;
 
diff --git a/libcore/RunResources.h b/libcore/RunResources.h
index 1334ef1..1c16cf3 100644
--- a/libcore/RunResources.h
+++ b/libcore/RunResources.h
@@ -125,8 +125,8 @@ public:
     void setRenderBackend(const std::string& x) { _renderer_backend = x; }
     std::string& getRenderBackend() { return _renderer_backend; }
 
-    /// Set the hardware video accleration backend, none, vaapi, xv,
-    /// or cairo. This is set in the users gnashrc file, or can be
+    /// Set the hardware video accleration backend, none or vaapi.
+    /// This is set in the users gnashrc file, or can be
     /// overridden with the --render-mode option to gnash.
     std::string& getHWAccelBackend() { return _hwaccel_backend; }
     void setHWAccelBackend(const std::string& x) { _hwaccel_backend = x; }
@@ -144,17 +144,15 @@ private:
 
     boost::shared_ptr<const SWF::TagLoadersTable> _tagLoaders;
 
-#if 1
     /// Whether to ue HW video decoding support, no value means disabled.
-    /// The only currently supported values are: none, vaapi, or xv (omap)
-    /// support coming.  The default is none,
+    /// The only currently supported values are: none or vaapi.
+    /// The default is none,
     std::string _hwaccel_backend;
 
     /// Which renderer backend to use, no value means use the default.
     /// The currently supported values are agg, opengl, or cairo. AGG
     /// being the default.
     std::string _renderer_backend;
-#endif    
 };
 
 } // end of gnash namespace
diff --git a/libcore/as_environment.h b/libcore/as_environment.h
index ceebd6c..9e0a290 100644
--- a/libcore/as_environment.h
+++ b/libcore/as_environment.h
@@ -192,7 +192,7 @@ bool delVariable(const as_environment& ctx, const std::string& varname,
 ///
 /// TODO: return an integer: 0 not a path, 1 a slash-based path, 2 a
 /// dot-based path
-bool parsePath(const std::string& var_path, std::string& path,
+DSOEXPORT bool parsePath(const std::string& var_path, std::string& path,
         std::string& var);
 
 /// Find the object referenced by the given path.
@@ -204,7 +204,7 @@ bool parsePath(const std::string& var_path, std::string& path,
 /// @param ctx     Timeline context to use for variable finding.
 /// @param path    Variable path. 
 /// @param scope   The Scope stack to use for lookups.
-as_object* findObject(const as_environment& ctx, const std::string& path,
+DSOEXPORT as_object* findObject(const as_environment& ctx, const std::string& path,
         const as_environment::ScopeStack* scope = 0);
 
 /// Find the DisplayObject referenced by the given path.
diff --git a/libcore/as_value.h b/libcore/as_value.h
index 331890a..a54efa1 100644
--- a/libcore/as_value.h
+++ b/libcore/as_value.h
@@ -381,7 +381,7 @@ public:
     ///	  evaluation of A and B.
     ///
     /// @param v     The as_value to compare to
-    bool equals(const as_value& v, int version) const;
+    DSOEXPORT bool equals(const as_value& v, int version) const;
     
     /// Set any object value as reachable (for the GC)
     //
diff --git a/libcore/asobj/NetConnection_as.cpp b/libcore/asobj/NetConnection_as.cpp
index 6cf9607..3d56a69 100644
--- a/libcore/asobj/NetConnection_as.cpp
+++ b/libcore/asobj/NetConnection_as.cpp
@@ -882,7 +882,7 @@ handleAMFInvoke(amf::Reader& rd, const boost::uint8_t*& b,
         if (b + namelength > end) {
             throw amf::AMFException("Invoke buffer too short");
         }
-        std::string headerName((char*)b, namelength);
+        std::string headerName((const char*)b, namelength);
 
 #ifdef GNASH_DEBUG_REMOTING
         log_debug("Invoke name %s", headerName);
diff --git a/libcore/movie_root.cpp b/libcore/movie_root.cpp
index ce0d50c..6c32e9b 100644
--- a/libcore/movie_root.cpp
+++ b/libcore/movie_root.cpp
@@ -2140,15 +2140,43 @@ movie_root::getURL(const std::string& urlstr, const std::string& target,
         std::string command = rcfile.getURLOpenerFormat();
 
         /// Try to avoid letting flash movies execute
-        /// arbitrary commands (sic)
+        /// arbitrary commands (sic).
         ///
-        /// Maybe we should exec here, but if we do we might have problems
-        /// with complex urlOpenerFormats like:
-        ///    firefox -remote 'openurl(%u)'
+        /// NOTE: it is assumed that the user-provided command
+        ///       puts the url place-holder within single quotes.
+        ///       Failing that, there will be the possibility 
+        ///       for malicious SWF files to run arbitrary commands.
+        /// 
         ///
-        std::string safeurl = url.encode(urlstr);
+        /// Check safety of user provided command
+        ///
+        /// TODO: improve this check
+        ///       - quote nested in double quote
+        ///       - %u after second quote
+        ///       - use regexp ?
+        /// TODO: check only once
+        ///
+        bool command_is_safe = false;
+        do {
+            std::string::size_type loc = command.find('\'');
+            if ( loc == std::string::npos ) break;
+            loc = command.find("%u", loc);
+            if ( loc == std::string::npos ) break;
+            loc = command.find('\'', loc);
+            if ( loc == std::string::npos ) break;
+            command_is_safe = true;
+        } while (0);
+
+        if ( ! command_is_safe ) {
+            log_error("The '%%u' token in urlOpenerFormat rc directive should be within single quotes");
+            return;
+        } 
+
+        std::string safeurl = urlstr; 
+        boost::replace_all(safeurl, "'", "'\\''");
+
         boost::replace_all(command, "%u", safeurl);
-        
+
         log_debug("Launching URL: %s", command);
         const int ret = std::system(command.c_str());
         if (ret == -1) {
diff --git a/libcore/swf/DefineButtonTag.h b/libcore/swf/DefineButtonTag.h
index 7e1281c..9910e06 100644
--- a/libcore/swf/DefineButtonTag.h
+++ b/libcore/swf/DefineButtonTag.h
@@ -157,8 +157,6 @@ public:
         return (_conditions & KEYPRESS);
     }
 
-private:
-
     /// Return the keycode triggering this action
     //
     /// Return 0 if no key is supposed to trigger us
@@ -166,6 +164,8 @@ private:
         return (_conditions & KEYPRESS) >> 9;
     }
 
+private:
+
     enum Condition
     {
         IDLE_TO_OVER_UP = 1 << 0,
diff --git a/libcore/vm/VM.h b/libcore/vm/VM.h
index af51c93..4bab9b9 100644
--- a/libcore/vm/VM.h
+++ b/libcore/vm/VM.h
@@ -292,7 +292,7 @@ private:
 inline ObjectURI
 getURI(const VM& vm, const std::string& str, bool lowerCaseHint=false)
 {
-    lowerCaseHint=lowerCaseHint; // TODO pass hint to ObjectURI ctor
+    UNUSED(lowerCaseHint); // TODO pass hint to ObjectURI ctor
     // Possible optimization here is to directly compute
     // noCase value if VM version is < 7
     return ObjectURI((NSV::NamedStrings)vm.getStringTable().find(str));
diff --git a/libdevice/events/InputDevice.h b/libdevice/events/InputDevice.h
index 253c6b7..13595cb 100644
--- a/libdevice/events/InputDevice.h
+++ b/libdevice/events/InputDevice.h
@@ -48,7 +48,7 @@ static const int DEFAULT_BUFFER_SIZE = 256;
 
 // The Uinput device is write only, and is used to control the mouse movements.
 // It's not really an input device, but uses the same subsystem.
-class UinputDevice
+class DSOEXPORT UinputDevice
 {
 public:
     UinputDevice();
@@ -122,7 +122,7 @@ public:
     virtual bool init(const std::string &filespec, size_t size) = 0;
     virtual bool check() = 0;
 
-    static std::vector<boost::shared_ptr<InputDevice> > scanForDevices();
+    static DSOEXPORT std::vector<boost::shared_ptr<InputDevice> > scanForDevices();
     
     InputDevice::devicetype_e getType() { return _type; };
     void setType(InputDevice::devicetype_e x) { _type = x; };
@@ -140,7 +140,7 @@ public:
         return input;
     }
 
-    static boost::shared_array<int> convertAbsCoords(int x, int y,
+    static DSOEXPORT boost::shared_array<int> convertAbsCoords(int x, int y,
                                                      int width, int height);
 
     void setScreenSize(int x, int y)
diff --git a/libdevice/rawfb/RawFBDevice.h b/libdevice/rawfb/RawFBDevice.h
index 47313a4..69f85a2 100644
--- a/libdevice/rawfb/RawFBDevice.h
+++ b/libdevice/rawfb/RawFBDevice.h
@@ -43,7 +43,7 @@ namespace rawfb {
 
 #define CMAP_SIZE (256*2)
 
-class RawFBDevice : public GnashDevice
+class DSOEXPORT RawFBDevice : public GnashDevice
 {
   public:
     
diff --git a/libmedia/gst/MediaParserGst.cpp b/libmedia/gst/MediaParserGst.cpp
index 063ac4b..71f98c9 100644
--- a/libmedia/gst/MediaParserGst.cpp
+++ b/libmedia/gst/MediaParserGst.cpp
@@ -198,10 +198,11 @@ MediaParserGst::pushGstBuffer()
 
     GstFlowReturn rv = gst_pad_push (_srcpad, buffer);
     if (!GST_FLOW_IS_SUCCESS (rv)) {
-        log_error(_("MediaParserGst failed to push more data into the demuxer! "
-                    "Seeking back."));
-        _stream->seek(_stream->tell() - ret);
-        return false;
+        // This is not (necessarily) an error situation, because some streams
+        // contain garbage. However, Gstreamer will continue accepting new
+        // frames.
+        log_debug(_("MediaParserGst failed to push more data into the demuxer."));
+        return true;
     }
     
     return true;
diff --git a/libmedia/gst/VideoInputGst.cpp b/libmedia/gst/VideoInputGst.cpp
index 374baa8..8f23c32 100644
--- a/libmedia/gst/VideoInputGst.cpp
+++ b/libmedia/gst/VideoInputGst.cpp
@@ -958,7 +958,7 @@ VideoInputGst::checkForSupportedFramerate(GnashWebcamPrivate *webcam,
 {
     
     if (!webcam) {
-	log_error(_("%s: webam isn't set!"), __FUNCTION__);
+	log_error(_("%s: webcam isn't set!"), __FUNCTION__);
     }
     for (int i = 0; i < webcam->_currentFormat->numFramerates; ++i) {
         int val = std::ceil(static_cast<double>(
diff --git a/macros/kde4.m4 b/macros/kde4.m4
index 5d9ce10..ba3db4a 100644
--- a/macros/kde4.m4
+++ b/macros/kde4.m4
@@ -49,7 +49,7 @@ AC_DEFUN([GNASH_PATH_KDE4],
              [Directory to install KDE 4.x plugin in]),
              with_kde4_plugindir=${withval})
   if test x"${with_kde4_plugindir}" != x ; then 
-    if test ! -d ${with_kde4_plugindir}/imageformats; then
+    if test ! -d ${with_kde4_plugindir}/plugins; then
       AC_MSG_ERROR([${with_kde4_plugindir} directory doesn't contain any KDE 4.x plugins!])
     fi
   fi
diff --git a/macros/npapi.m4 b/macros/npapi.m4
index e3bde2f..7356fb6 100644
--- a/macros/npapi.m4
+++ b/macros/npapi.m4
@@ -89,7 +89,7 @@ AC_DEFUN([GNASH_PATH_NPAPI],
     AC_COMPILE_IFELSE([AC_LANG_SOURCE([
                   #include "npapi.h" 
                   #include "npruntime.h"
-                  int main(int argc, char* argv[]){
+                  int main(int argc, char** argv){
 	            NPString str;
                     uint32_t len = str.UTF8Length;
 	            return 0;
diff --git a/macros/x11.m4 b/macros/x11.m4
index 8125f01..1f8bd33 100644
--- a/macros/x11.m4
+++ b/macros/x11.m4
@@ -1,6 +1,6 @@
 dnl  
 dnl  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
-dnl  2011 Free Software Foundation, Inc.
+dnl  2011, 2012 Free Software Foundation, Inc.
 dnl  
 dnl  This program is free software; you can redistribute it and/or modify
 dnl  it under the terms of the GNU General Public License as published by
@@ -43,14 +43,8 @@ AC_DEFUN([GNASH_PATH_X11],
         break
     	fi
     done
-  fi
-
-  dnl We want to know whether the headers for XShm exist.
-  if test x"${ac_cv_path_x11_incl}" != x ; then
-    includedirfound=`echo "${ac_cv_path_x11_incl}" | cut -b 3-`
-    if test -f "$includedirfound/X11/extensions/Xv.h"; then
-      xv_incl=yes
-    fi
+  else
+    AC_DEFINE(HAVE_X11_X_H, [1], [Have the X11 X.h header file])
   fi
 
   AC_MSG_CHECKING([for X11 headers])
@@ -101,10 +95,6 @@ AC_DEFUN([GNASH_PATH_X11],
         if test -f $i/libICE.a -o -f $i/libICE.${shlibext}; then
           ac_cv_path_x11_lib="${ac_cv_path_x11_lib} -lICE"
         fi
-        if test -f $i/libXv.a -o -f $i/libXv.${shlibext}; then
-          ac_cv_path_x11_lib="${ac_cv_path_x11_lib} -lXv"
-          xv_lib=yes
-        fi
         break
       fi
     done
@@ -138,11 +128,6 @@ AC_DEFUN([GNASH_PATH_X11],
   if test "x$has_x11" = xyes; then
     AC_DEFINE(HAVE_X11, [1], [X11 headers and libraries])
   fi
-  
-  if test x"$xv_incl" != x -a x"$xv_lib" != x; then
-    AC_DEFINE(HAVE_XV, [1], [X Video extension header and library])
-  fi
-  AM_CONDITIONAL(HAVE_XV, [ test x"$xv_incl" != x -a x"$xv_lib" != x ])
 
   AC_SUBST(X11_CFLAGS)
   AC_SUBST(X11_LIBS)
diff --git a/packaging/snapshot.am b/packaging/snapshot.am
index 3dbb7ad..460186d 100644
--- a/packaging/snapshot.am
+++ b/packaging/snapshot.am
@@ -26,8 +26,8 @@ BRANCH_NICK   = "`if test -f revno.h; then grep "NICK" revno.h | cut -d '"' -f 2
 
 # this is used for Debian style naming conventions
 NEXT_RELEASE = 0.8.11
-SNAPSHOT_VERSION := 0.8.10
-#SNAPSHOT_VERSION = $(NEXT_RELEASE)~git.$(BRANCH_NICK)$(BRANCH_REVNO)
+#SNAPSHOT_VERSION := 0.8.11
+SNAPSHOT_VERSION = $(NEXT_RELEASE)~git.$(BRANCH_NICK)$(BRANCH_REVNO)
 
 # these is the directories where the snapshot gets built. Sources are
 # in the top level, the build goes in a _build subdirectory
diff --git a/plugin/klash4/Makefile.am b/plugin/klash4/Makefile.am
index 36a2196..fc43451 100644
--- a/plugin/klash4/Makefile.am
+++ b/plugin/klash4/Makefile.am
@@ -23,7 +23,9 @@ AM_CPPFLAGS = \
 	$(KDE4_CFLAGS) \
 	$(QT4_CFLAGS) \
 	$(X11_CFLAGS) \
-	-DGNASHBINDIR=\"${bindir}\"
+	-I$(top_srcdir)/libbase \
+	-DGNASHBINDIR=\"${bindir}\" \
+	$(NULL)
 
 plugindir   = $(KDE4_PLUGINDIR)
 kde_servicesdir = $(KDE4_SERVICESDIR)
diff --git a/plugin/klash4/klash_part.cpp b/plugin/klash4/klash_part.cpp
index b027b4b..3ba0873 100644
--- a/plugin/klash4/klash_part.cpp
+++ b/plugin/klash4/klash_part.cpp
@@ -43,6 +43,7 @@
 #include "klash_part.h"
 
 #include <csignal>
+#include "GnashSystemIOHeaders.h"
 
 //-----------------------------------------------------------------------------
 
diff --git a/plugin/npapi/GnashNPVariant.h b/plugin/npapi/GnashNPVariant.h
index 6e4b1af..a0d37d4 100644
--- a/plugin/npapi/GnashNPVariant.h
+++ b/plugin/npapi/GnashNPVariant.h
@@ -89,6 +89,19 @@ NPStringToString(const NPString& str)
     return std::string(GetNPStringChars(str), GetNPStringLen(str));
 }
 
+/// Construct a std::string from an NPVariant.
+//
+/// @return a std::string containing the string value of the NPVariant, if it
+///         is an NPString; otherwise an empty string.
+inline std::string
+NPVariantToString(const NPVariant& val)
+{
+    if (!NPVARIANT_IS_STRING(val)) {
+        return std::string();
+    }
+
+    return NPStringToString(NPVARIANT_TO_STRING(val));
+}
 
 /// This class holds ownership of (a copy of) an NPVariant.
 //
diff --git a/plugin/npapi/plugin.cpp b/plugin/npapi/plugin.cpp
index 2cceee8..dc597f1 100644
--- a/plugin/npapi/plugin.cpp
+++ b/plugin/npapi/plugin.cpp
@@ -824,14 +824,12 @@ nsPluginInstance::processPlayerRequest()
             assert(invoke->args.size() > 1);
             
             // The first argument is the URL string.
-            std::string url = NPStringToString(NPVARIANT_TO_STRING(
-                                                   invoke->args[0].get()));
+            std::string url = NPVariantToString(invoke->args[0].get());
 #if 0
             gnash::log_debug("Got a getURL() request: %s", url);
 #endif
             // The second is the method, namely GET or POST.
-            std::string op = NPStringToString(NPVARIANT_TO_STRING(
-                                                  invoke->args[1].get()));
+            std::string op = NPVariantToString(invoke->args[1].get());
             // The third is the optional target, which is something like
             // _blank or _self.
             std::string target;
@@ -841,8 +839,7 @@ nsPluginInstance::processPlayerRequest()
             std::string data;
             
             if (invoke->args.size() >= 3) {
-                target = NPStringToString(NPVARIANT_TO_STRING(
-                                              invoke->args[2].get()));
+                target = NPVariantToString(invoke->args[2].get());
             }
             
             // An empty target defaults to "_self"
@@ -851,8 +848,7 @@ nsPluginInstance::processPlayerRequest()
             if ( target.empty() ) target = "_self";
             
             if (invoke->args.size() == 4) {
-                data = NPStringToString(NPVARIANT_TO_STRING(
-                                            invoke->args[3].get()));
+                data = NPVariantToString(invoke->args[3].get());
             }
             if (op == "GET") {
                 gnash::log_debug("Asked to getURL '%s' in target %s", url,
@@ -871,10 +867,8 @@ nsPluginInstance::processPlayerRequest()
         } else if (invoke->name == "fsCommand") {
             
             assert(invoke->args.size() > 1);
-            std::string command = NPStringToString(NPVARIANT_TO_STRING(
-                                                       invoke->args[0].get()));
-            std::string arg = NPStringToString(NPVARIANT_TO_STRING(
-                                                   invoke->args[1].get()));            
+            std::string command = NPVariantToString(invoke->args[0].get());
+            std::string arg = NPVariantToString(invoke->args[1].get());            
             std::string name = _name; 
             std::stringstream jsurl;
             jsurl << "javascript:" << name << "_DoFSCommand('" << command
@@ -900,8 +894,7 @@ nsPluginInstance::processPlayerRequest()
             // actual callback lives in libcore/movie_root, but it
             // needs to be on the list of supported remote methods so
             // it can be called by Javascript.
-            std::string method = NPStringToString(NPVARIANT_TO_STRING(
-                                                      invoke->args[0].get()));
+            std::string method = NPVariantToString(invoke->args[0].get());
             NPIdentifier id = NPN_GetStringIdentifier(method.c_str());
             // log_debug("SCRIPT OBJECT addMethod: %x, %s", (void *)_scriptObject, method);
             this->getScriptObject()->AddMethod(id, remoteCallback);
diff --git a/revno.h b/revno.h
index 72e2b7e..8406a55 100644
--- a/revno.h
+++ b/revno.h
@@ -1,3 +1,3 @@
-#define BRANCH_REVNO "21522"
-#define BRANCH_NICK "release_0_8_10"
-#define COMMIT_ID "2e609a6"
+#define BRANCH_REVNO "21586"
+#define BRANCH_NICK "master"
+#define COMMIT_ID "6528395"
diff --git a/testsuite/libbase.all/URLTest.cpp b/testsuite/libbase.all/URLTest.cpp
index 4383712..105bb34 100644
--- a/testsuite/libbase.all/URLTest.cpp
+++ b/testsuite/libbase.all/URLTest.cpp
@@ -321,6 +321,24 @@ main(int /*argc*/, char** /*argv*/)
         check_equals(u2.path(), "/home/toto/Téléchargement/testfile.xml");
     }
 
+    // IPV6 paths
+    // http://[2a00:1450:4001:c01::88]/
+    URL v6("http://[2a00:1450:4001:c01::88]/");
+    check_equals (v6.protocol(), "http");
+    check_equals (v6.hostname(), "[2a00:1450:4001:c01::88]");
+    check_equals (v6.port(), "");
+    check_equals (v6.path(), "/");
+    check_equals (v6.querystring(), "");
+    check_equals (v6.anchor(), "");
+
+    URL v66("https://[2a00:1450:4001:c01::88]:8080/");
+    check_equals (v66.protocol(), "https");
+    check_equals (v66.hostname(), "[2a00:1450:4001:c01::88]");
+    check_equals (v66.port(), "8080");
+    check_equals (v66.path(), "/");
+    check_equals (v66.querystring(), "");
+    check_equals (v66.anchor(), "");
+    
 	// TODO: Samba paths
 }
 
diff --git a/testsuite/misc-ming.all/XMLSocketTest.as b/testsuite/misc-ming.all/XMLSocketTest.as
index a90106c..b1d883a 100644
--- a/testsuite/misc-ming.all/XMLSocketTest.as
+++ b/testsuite/misc-ming.all/XMLSocketTest.as
@@ -77,9 +77,9 @@ myXML.onData = handleData;
 myXML.onClose = handleDisconnect;
 receivedArray = new Array();
 
- ret = myXML.connect("localhost", 2229);
- check_equals(ret, true);
- stop();
+ret = myXML.connect("localhost.localdomain", 2229);
+check_equals(ret, true);
+stop();
 
 
 function checkResults() {
diff --git a/testsuite/misc-ming.all/XMLSocketTester.sh b/testsuite/misc-ming.all/XMLSocketTester.sh
index 9b5f5ec..3c4b770 100644
--- a/testsuite/misc-ming.all/XMLSocketTester.sh
+++ b/testsuite/misc-ming.all/XMLSocketTester.sh
@@ -62,7 +62,7 @@ outlog=${top_builddir}/testoutlog.\$$
 ) &
 (
     echo "Running second process"
-    ${top_builddir}/gui/gnash -d100 -v -r0 ${swf} -t ${timeout} > \${outlog}
+    ${top_builddir}/gui/gnash -d100 -vv -r0 ${swf} -t ${timeout} > \${outlog}
     cat \${outlog}
 	if test "x${endtagpat}" != x; then
 		lasttrace=\`grep TRACE \${outlog} | tail -1 | sed 's/.*TRACE: //'\`
diff --git a/testsuite/samples/Makefile.am b/testsuite/samples/Makefile.am
index 4cb11b8..ceca58c 100644
--- a/testsuite/samples/Makefile.am
+++ b/testsuite/samples/Makefile.am
@@ -56,6 +56,7 @@ check_PROGRAMS = \
 	clip_as_button2-TestRunner \
 	subshapes-TestRunner \
 	gotoFrameOnKeyEvent-TestRunner \
+	test_15bpp_bitmap-TestRunner \
 	$(NULL)
 
 check_SCRIPTS = \
@@ -101,6 +102,16 @@ lastopcode_v6_TestRunner: Makefile $(srcdir)/../generic-testrunner.sh $(srcdir)/
 	sh $(srcdir)/../generic-testrunner.sh -c done $(top_builddir) $(srcdir)/test_lastopcode_v6.swf > $@
 	chmod 755 $@
 
+test_15bpp_bitmap_TestRunner_SOURCES = \
+	test_15bpp_bitmap-TestRunner.cpp \
+	$(NULL)
+test_15bpp_bitmap_TestRunner_LDADD = \
+	$(GNASH_LIBS) \
+	$(NULL)
+test_15bpp_bitmap_TestRunner_CXXFLAGS = \
+	-DSRCDIR=\"$(srcdir)\" \
+	$(NULL)
+
 clean-local: 
 
 EXTRA_DIST = \
@@ -109,6 +120,7 @@ EXTRA_DIST = \
 	gotoFrameOnKeyEvent.swf \
 	subshapes.swf \
 	test_lastopcode_v6.swf \
+	test_15bpp_bitmap.swf \
 	README \
 	$(NULL)
 
diff --git a/testsuite/samples/README b/testsuite/samples/README
index 691d66b..34f95d4 100644
--- a/testsuite/samples/README
+++ b/testsuite/samples/README
@@ -1,3 +1,15 @@
+= [test_15bpp_bitmap.swf] =
+
+== Origin ==
+
+Produced by Jan Flanders for Gnash testing.
+See http://savannah.gnu.org/bugs/?34625
+
+== Description ==
+
+A shape filled by a 15bpp bitmap (DEFINELOSSLESS, fmt = 4).
+Uses well-defined colors to aim for easier color checking.
+
 = [gotoFrameOnKeyEvent.swf] =
 
 == Origin == 
diff --git a/testsuite/samples/test_15bpp_bitmap-TestRunner.cpp b/testsuite/samples/test_15bpp_bitmap-TestRunner.cpp
new file mode 100644
index 0000000..898a4e0
--- /dev/null
+++ b/testsuite/samples/test_15bpp_bitmap-TestRunner.cpp
@@ -0,0 +1,141 @@
+/* 
+ *   Copyright (C) 2012 Free Software Foundation, Inc.
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ */ 
+
+#define INPUT_FILENAME "test_15bpp_bitmap.swf"
+
+#include "MovieTester.h"
+#include "GnashException.h"
+#include "MovieClip.h"
+#include "DisplayObject.h"
+#include "DisplayList.h"
+#include "log.h"
+
+#include "check.h"
+#include <string>
+#include <cassert>
+
+using namespace gnash;
+using namespace std;
+
+int
+main(int /*argc*/, char** /*argv*/)
+{
+	string filename = string(SRCDIR) + string("/") + string(INPUT_FILENAME);
+	auto_ptr<MovieTester> t;
+
+	gnash::LogFile& dbglogfile = gnash::LogFile::getDefaultInstance();
+	dbglogfile.setVerbosity(1);
+
+	try
+	{
+		t.reset(new MovieTester(filename));
+	}
+	catch (const GnashException& e)
+	{
+		std::cerr << "Error initializing MovieTester: " << e.what() << std::endl;
+		exit(EXIT_FAILURE);
+	}
+	
+	MovieTester& tester = *t;
+
+	// Colors used for pixel checking
+	rgba gray(135, 135, 135, 255); /* bottom-left of the center */
+	rgba white(255, 255, 255, 255);
+	rgba black(0, 0, 0, 255);
+	rgba dark_cyan(0, 135, 135, 255);
+	rgba cyan(0, 255, 255, 255);
+	rgba dark_magenta(135, 0, 135, 255);
+	rgba magenta(255, 0, 255, 255);
+	rgba dark_yellow(135, 135, 0, 255);
+	rgba yellow(255, 255, 0, 255);
+	rgba middle_gray(127, 127, 127, 255); /* top-right of the center */
+	rgba dark_gray(71, 71, 71, 255); /* top-left & bottom-right */
+	rgba red(255, 0, 0, 255); 
+	rgba green(0, 255, 0, 255); 
+	rgba blue(0, 0, 255, 255); 
+	rgba dark_blue(0, 0, 135, 255); 
+	rgba dark_green(0, 135, 0, 255); 
+	rgba dark_red(135, 0, 0, 255); 
+
+	// Coordinates used for pixel checking
+	struct PT {
+		int x;
+	       	int y;
+		PT(int nx, int ny): x(nx), y(ny) {}
+	};
+
+	// from center to out
+
+	PT ul1(     204,      295);     PT ur1(     307, ul1.y);  	
+	PT ul2(ul1.x-32, ul1.y-32);     PT ur2(ur1.x+32, ul2.y);
+	PT ul3(ul2.x-32, ul2.y-32);     PT ur3(ur2.x+32, ul3.y);
+	PT ul4(ul3.x-32, ul3.y-32);     PT ur4(ur3.x+32, ul4.y);
+	PT ul5(ul4.x-32, ul4.y-32);     PT ur5(ur4.x+32, ul5.y);
+	PT ul6(ul5.x-32, ul5.y-32);     PT ur6(ur5.x+32, ul6.y);
+	PT ul7(ul6.x-32, ul6.y-32);     PT ur7(ur6.x+32, ul7.y);
+
+	PT ll1(ul1.x, 314);             PT lr1(ur1.x, ll1.y);  	
+	PT ll2(ul2.x, ll1.y+32);        PT lr2(ur2.x, ll2.y);
+	PT ll3(ul3.x, ll2.y+32);        PT lr3(ur3.x, ll3.y);
+	PT ll4(ul4.x, ll3.y+32);        PT lr4(ur4.x, ll4.y);
+	PT ll5(ul5.x, ll4.y+32);        PT lr5(ur5.x, ll5.y);
+	PT ll6(ul6.x, ll5.y+32);        PT lr6(ur6.x, ll6.y);
+	PT ll7(ul7.x, ll6.y+32);        PT lr7(ur7.x, ll7.y);
+
+
+	const MovieClip* root = tester.getRootMovie();
+	assert(root);
+
+	check_equals(root->get_frame_count(), 1);
+
+	check_pixel(ul1.x, ul1.y, 8, dark_gray, 1);
+	check_pixel(ul2.x, ul2.y, 8, dark_yellow, 1);
+	check_pixel(ul3.x, ul3.y, 8, dark_magenta, 1);
+	check_pixel(ul4.x, ul4.y, 8, dark_cyan, 1);
+	check_pixel(ul5.x, ul5.y, 8, black, 1);
+	check_pixel(ul6.x, ul6.y, 8, gray, 1);
+	check_pixel(ul6.x, ul7.y, 8, white, 1);
+
+	check_pixel(ur1.x, ur1.y, 8, middle_gray, 1);
+	check_pixel(ur2.x, ur2.y, 8, yellow, 1);
+	check_pixel(ur3.x, ur3.y, 8, magenta, 1);
+	check_pixel(ur4.x, ur4.y, 8, cyan, 1);
+	check_pixel(ur5.x, ur5.y, 8, black, 1);
+	check_pixel(ur6.x, ur6.y, 8, white, 1);
+	check_pixel(ur6.x, ur7.y, 8, white, 1);
+
+	check_pixel(ll1.x, ll1.y, 8, gray, 1);
+	check_pixel(ll2.x, ll2.y, 8, blue, 1);
+	check_pixel(ll3.x, ll3.y, 8, green, 1);
+	check_pixel(ll4.x, ll4.y, 8, red, 1);
+	check_pixel(ll5.x, ll5.y, 8, white, 1);
+	check_pixel(ll6.x, ll6.y, 8, black, 1);
+	check_pixel(ll6.x, ll7.y, 8, white, 1);
+
+	check_pixel(lr1.x, lr1.y, 8, dark_gray, 1);
+	check_pixel(lr2.x, lr2.y, 8, dark_blue, 1);
+	check_pixel(lr3.x, lr3.y, 8, dark_green, 1);
+	check_pixel(lr4.x, lr4.y, 8, dark_red, 1);
+	check_pixel(lr5.x, lr5.y, 8, gray, 1);
+	check_pixel(lr6.x, lr6.y, 8, black, 1);
+	check_pixel(lr6.x, lr7.y, 8, white, 1);
+
+
+}
+
diff --git a/testsuite/samples/test_15bpp_bitmap.swf b/testsuite/samples/test_15bpp_bitmap.swf
new file mode 100644
index 0000000..2fa856a
Binary files /dev/null and b/testsuite/samples/test_15bpp_bitmap.swf differ
diff --git a/utilities/soldumper.cpp b/utilities/soldumper.cpp
index b78168d..68f12f0 100644
--- a/utilities/soldumper.cpp
+++ b/utilities/soldumper.cpp
@@ -173,7 +173,7 @@ main(int argc, char *argv[])
             entry = readdir(library_dir);
         }
         if (library_dir != NULL) {
-            for (i=0; entry>0; i++) {
+            for (i=0; entry>static_cast<struct dirent *>(0); i++) {
                 entry = readdir(library_dir);
                 if (entry != NULL) {
                     //string::size_type pos;


hooks/post-receive
-- 
GNU Shockwave Flash (SWF) player



More information about the pkg-flash-devel mailing list