gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-


From: Bastiaan Jacques
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-2006-gcac316f
Date: Mon, 19 May 2014 15:24:14 +0000

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 "Gnash".

The branch, master has been updated
       via  cac316f4455c6a3d45db880643c98e8107d45ebe (commit)
      from  bd1605d1b61335faa244d3674841e5965b2f89b4 (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 -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=cac316f4455c6a3d45db880643c98e8107d45ebe


commit cac316f4455c6a3d45db880643c98e8107d45ebe
Author: Bastiaan Jacques <address@hidden>
Date:   Mon May 19 17:21:39 2014 +0200

    Switch from boost::shared_ptr to std::shared_ptr.

diff --git a/cygnal/cgi-bin/echo/echo.cpp b/cygnal/cgi-bin/echo/echo.cpp
index 4087a5d..ee302d1 100644
--- a/cygnal/cgi-bin/echo/echo.cpp
+++ b/cygnal/cgi-bin/echo/echo.cpp
@@ -51,11 +51,11 @@ static EchoTest echo;
 extern "C" {
     
     // the standard API
-    boost::shared_ptr<Handler::cygnal_init_t>
-    echo_init_func(boost::shared_ptr<gnash::RTMPMsg> &msg)
+    std::shared_ptr<Handler::cygnal_init_t>
+    echo_init_func(std::shared_ptr<gnash::RTMPMsg> &msg)
     {
        GNASH_REPORT_FUNCTION;
-        boost::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
+        std::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
         
         if (msg) {
             echo.setNetConnection(msg);
@@ -70,11 +70,11 @@ extern "C" {
         return init;
     }
 
-    boost::shared_ptr<cygnal::Buffer> echo_read_func()
+    std::shared_ptr<cygnal::Buffer> echo_read_func()
     {
 //     GNASH_REPORT_FUNCTION;
        
-       boost::shared_ptr<cygnal::Buffer> buf = echo.getResponse();
+       std::shared_ptr<cygnal::Buffer> buf = echo.getResponse();
 
 //     log_network("%s", hexify(data, safe, true));
 
@@ -87,9 +87,9 @@ extern "C" {
     {
 //     GNASH_REPORT_FUNCTION;
 
-       boost::shared_ptr<cygnal::Buffer> buf = echo.getResponse();
+       std::shared_ptr<cygnal::Buffer> buf = echo.getResponse();
 
-        vector<boost::shared_ptr<cygnal::Element> > request =
+        vector<std::shared_ptr<cygnal::Element> > request =
            echo.parseEchoRequest(data, size);
         if (request[3]) {
             buf = echo.formatEchoResponse(request[1]->to_number(), 
*request[3]);
@@ -178,7 +178,7 @@ main(int argc, char *argv[])
     // This is the main message processing loop for rtmp. All message received 
require
     // a response.
     do {
-        boost::shared_ptr<cygnal::Buffer> bufptr(new cygnal::Buffer);
+        std::shared_ptr<cygnal::Buffer> bufptr(new cygnal::Buffer);
         if (infile.empty()) {
             net.readNet(netfd, *bufptr);
         } else {
@@ -190,10 +190,10 @@ main(int argc, char *argv[])
             }
         }
         
-        vector<boost::shared_ptr<cygnal::Element> > request = 
net.parseEchoRequest(
+        vector<std::shared_ptr<cygnal::Element> > request = 
net.parseEchoRequest(
             bufptr->reference(), bufptr->allocated());
         if (request[3]) {
-            boost::shared_ptr<cygnal::Buffer> result = 
net.formatEchoResponse(request[1]->to_number(), *request[3]);
+            std::shared_ptr<cygnal::Buffer> result = 
net.formatEchoResponse(request[1]->to_number(), *request[3]);
             if (net.writeNet(netfd, *result)) {
                 log_debug("Sent echo test response response to client.");
             }
@@ -216,31 +216,31 @@ EchoTest::~EchoTest()
 
 // Parse an Echo Request message coming from the Red5 echo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<cygnal::Element > >
+vector<std::shared_ptr<cygnal::Element > >
 EchoTest::parseEchoRequest(boost::uint8_t *ptr, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
 
     cygnal::AMF amf;
-    vector<boost::shared_ptr<cygnal::Element > > headers;
+    vector<std::shared_ptr<cygnal::Element > > headers;
 
     // The first element is the name of the test, 'echo'
-    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el1);
 
     // The second element is the number of the test,
-    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el2);
 
     // This one has always been a NULL object from my tests
-    boost::shared_ptr<cygnal::Element> el3 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el3 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el3);
 
     // This one has always been an NULL or Undefined object from my tests
-    boost::shared_ptr<cygnal::Element> el4 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el4 = amf.extractAMF(ptr, ptr+size);
     if (!el4) {
        log_error("Couldn't reliably extract the echo data!");
     }
@@ -254,11 +254,11 @@ EchoTest::parseEchoRequest(boost::uint8_t *ptr, size_t 
size)
 // is only used for testing by developers. The format appears to be
 // a string '_result', followed by the number of the test, and then two
 // NULL objects.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 EchoTest::formatEchoResponse(double num, cygnal::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> data = cygnal::AMF::encodeElement(el);
+    std::shared_ptr<cygnal::Buffer> data = cygnal::AMF::encodeElement(el);
     if (data) {
        return formatEchoResponse(num, data->reference(), data->allocated());
     } else {
@@ -269,14 +269,14 @@ EchoTest::formatEchoResponse(double num, cygnal::Element 
&el)
     return data;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 EchoTest::formatEchoResponse(double num, cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return formatEchoResponse(num, data.reference(), data.allocated());
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 EchoTest::formatEchoResponse(double num, boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -291,11 +291,11 @@ EchoTest::formatEchoResponse(double num, boost::uint8_t 
*data, size_t size)
     Element null;
     null.makeNull();
 
-    boost::shared_ptr<cygnal::Buffer> encecho = echo.encode();
-    boost::shared_ptr<cygnal::Buffer> encidx  = index.encode();   
-    boost::shared_ptr<cygnal::Buffer> encnull  = null.encode();   
+    std::shared_ptr<cygnal::Buffer> encecho = echo.encode();
+    std::shared_ptr<cygnal::Buffer> encidx  = index.encode();
+    std::shared_ptr<cygnal::Buffer> encnull  = null.encode();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(encecho->size()
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(encecho->size()
                                                       + encidx->size()
                                                       + encnull->size() + 
size));
 
diff --git a/cygnal/cgi-bin/echo/echo.h b/cygnal/cgi-bin/echo/echo.h
index ca69426..3a3abf6 100644
--- a/cygnal/cgi-bin/echo/echo.h
+++ b/cygnal/cgi-bin/echo/echo.h
@@ -46,38 +46,38 @@ public:
     ~EchoTest ();
   
     // Parse an Echo Request message coming from the Red5 echo_test.
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf)
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf)
         { return parseEchoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
     
     // format a response to the 'echo' test used for testing Gnash.
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Element &el);
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Buffer &data);
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
boost::uint8_t *data, size_t size);
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Element &el);
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Buffer &data);
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
boost::uint8_t *data, size_t size);
 
-    boost::shared_ptr<cygnal::Buffer> getResponse() { return _response; };
-    void setResponse(boost::shared_ptr<cygnal::Buffer> &x) { _response = x; };
+    std::shared_ptr<cygnal::Buffer> getResponse() { return _response; };
+    void setResponse(std::shared_ptr<cygnal::Buffer> &x) { _response = x; };
 
     void setNetConnection(gnash::RTMPMsg *msg) { _netconnect.reset(msg); };
-    void setNetConnection(boost::shared_ptr<gnash::RTMPMsg> msg) { _netconnect 
= msg; };
-    boost::shared_ptr<gnash::RTMPMsg> getNetConnection() { return 
_netconnect;};
+    void setNetConnection(std::shared_ptr<gnash::RTMPMsg> msg) { _netconnect = 
msg; };
+    std::shared_ptr<gnash::RTMPMsg> getNetConnection() { return _netconnect;};
     
 private:
-    boost::shared_ptr<cygnal::Buffer> _response;    
-    boost::shared_ptr<Handler::cygnal_init_t> _info;
+    std::shared_ptr<cygnal::Buffer> _response;
+    std::shared_ptr<Handler::cygnal_init_t> _info;
     /// \var _netconnect
     ///    This store the data from the NetConnection ActionScript
     ///    object we get as the final part of the handshake process
     ///    that is used to set up the connection. This has all the
     ///    file paths and other information needed by the server.
-    boost::shared_ptr<gnash::RTMPMsg>  _netconnect;    
+    std::shared_ptr<gnash::RTMPMsg>    _netconnect;
 };  
 
 // the standard API
 extern "C" {
-    
boost::shared_ptr<Handler::cygnal_init_t>echo_init_func(boost::shared_ptr<gnash::RTMPMsg>
 &msg);
+    
std::shared_ptr<Handler::cygnal_init_t>echo_init_func(std::shared_ptr<gnash::RTMPMsg>
 &msg);
     
-    boost::shared_ptr<cygnal::Buffer> echo_read_func();
+    std::shared_ptr<cygnal::Buffer> echo_read_func();
     size_t echo_write_func(boost::uint8_t *data, size_t size);
 }
 
diff --git a/cygnal/cgi-bin/echo/gateway.cpp b/cygnal/cgi-bin/echo/gateway.cpp
index ff49eca..142b41a 100644
--- a/cygnal/cgi-bin/echo/gateway.cpp
+++ b/cygnal/cgi-bin/echo/gateway.cpp
@@ -49,11 +49,11 @@ static GatewayTest gateway;
 extern "C" {
     
     // the standard API
-    boost::shared_ptr<Handler::cygnal_init_t>
-    gateway_init_func(boost::shared_ptr<gnash::RTMPMsg> &msg)
+    std::shared_ptr<Handler::cygnal_init_t>
+    gateway_init_func(std::shared_ptr<gnash::RTMPMsg> &msg)
     {
        GNASH_REPORT_FUNCTION;
-        boost::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
+        std::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
         
         init->version = "Gateway Test 0.1 (Gnash)";
         init->description = "gateway RTMPT test for Cygnal.\n"
@@ -62,7 +62,7 @@ extern "C" {
         return init;
     }
 
-    boost::shared_ptr<amf::Buffer> gateway_read_func()
+    std::shared_ptr<amf::Buffer> gateway_read_func()
     {
 //     GNASH_REPORT_FUNCTION;
        
@@ -166,8 +166,8 @@ main(int argc, char *argv[])
     }
     
     // Wait for data, and when we get it, process it.
-    boost::shared_ptr<amf::Buffer> content;
-    vector<boost::shared_ptr<amf::Element> > headers;
+    std::shared_ptr<amf::Buffer> content;
+    vector<std::shared_ptr<amf::Element> > headers;
     net.setTimeout(10);
     do {
         netfd = net.newConnection(false, fd);
@@ -177,7 +177,7 @@ main(int argc, char *argv[])
         }
         // See if we have any messages waiting
         if (infile.empty()) {
-            boost::shared_ptr<amf::Buffer> content = net.readNet();
+            std::shared_ptr<amf::Buffer> content = net.readNet();
             if (!content) {
                 done = true;
                 break;
@@ -194,7 +194,7 @@ main(int argc, char *argv[])
             break;
         }
         
-       //boost::shared_ptr<amf::Element> &el0 = headers[0];
+       //std::shared_ptr<amf::Element> &el0 = headers[0];
        
         if (!done) {
             if (headers.size() >= 4) {
@@ -236,12 +236,12 @@ GatewayTest::~GatewayTest()
 
 // Parse an Echo Request message coming from the Red5 echo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<amf::Element > >
+vector<std::shared_ptr<amf::Element > >
 GatewayTest::parseEchoRequest(boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
     
-    vector<boost::shared_ptr<amf::Element > > headers;
+    vector<std::shared_ptr<amf::Element > > headers;
        
     // skip past the header bytes, we don't care about them.
     boost::uint8_t *tmpptr = data + 6;
@@ -252,7 +252,7 @@ GatewayTest::parseEchoRequest(boost::uint8_t *data, size_t 
size)
 
     // Get the first name, which is a raw string, and not preceded by
     // a type byte.
-    boost::shared_ptr<amf::Element > el1(new amf::Element);
+    std::shared_ptr<amf::Element > el1(new amf::Element);
     
     // If the length of the name field is corrupted, then we get out of
     // range quick, and corrupt memory. This is a bit of a hack, but
@@ -271,7 +271,7 @@ GatewayTest::parseEchoRequest(boost::uint8_t *data, size_t 
size)
     // a type byte.
     length = ntohs((*(boost::uint16_t *)tmpptr) & 0xffff);
     tmpptr += sizeof(boost::uint16_t);
-    boost::shared_ptr<amf::Element > el2(new amf::Element);
+    std::shared_ptr<amf::Element > el2(new amf::Element);
 
 //     std::string name2(reinterpret_cast<const char *>(tmpptr), length);
 //     el2->setName(name2.c_str(), name2.size());
@@ -291,11 +291,11 @@ GatewayTest::parseEchoRequest(boost::uint8_t *data, 
size_t size)
     // Get the last two pieces of data, which are both AMF encoded
     // with a type byte.
     amf::AMF amf;
-    boost::shared_ptr<amf::Element> el3 = amf.extractAMF(tmpptr, tmpptr + 
size);
+    std::shared_ptr<amf::Element> el3 = amf.extractAMF(tmpptr, tmpptr + size);
     headers.push_back(el3);
     tmpptr += amf.totalsize();
     
-    boost::shared_ptr<amf::Element> el4 = amf.extractAMF(tmpptr, tmpptr + 
size);
+    std::shared_ptr<amf::Element> el4 = amf.extractAMF(tmpptr, tmpptr + size);
     headers.push_back(el4);
 
      return headers;
@@ -308,7 +308,7 @@ amf::Buffer &
 GatewayTest::formatEchoResponse(const std::string &num, amf::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<amf::Buffer> data;
+    std::shared_ptr<amf::Buffer> data;
 
     amf::Element nel;
     if (el.getType() == amf::Element::TYPED_OBJECT_AMF0) {
@@ -319,7 +319,7 @@ GatewayTest::formatEchoResponse(const std::string &num, 
amf::Element &el)
            // FIXME: see about using std::reverse() instead.
            for (int i=el.propertySize()-1; i>=0; i--) {
 //         for (int i=0 ; i<el.propertySize(); i++) {
-               boost::shared_ptr<amf::Element> child = el.getProperty(i);
+               std::shared_ptr<amf::Element> child = el.getProperty(i);
                nel.addProperty(child);
            }
            data = nel.encode();
@@ -370,11 +370,11 @@ GatewayTest::formatEchoResponse(const std::string &num, 
boost::uint8_t *data, si
     // the request, a slash followed by a number like "/2".
     string result = num;
     result += "/onResult";
-    boost::shared_ptr<amf::Buffer> res = amf::AMF::encodeString(result);
+    std::shared_ptr<amf::Buffer> res = amf::AMF::encodeString(result);
     _buffer.append(res->begin()+1, res->size()-1);
 
     // Add the null data item
-    boost::shared_ptr<amf::Buffer> null = amf::AMF::encodeString("null");
+    std::shared_ptr<amf::Buffer> null = amf::AMF::encodeString("null");
     _buffer.append(null->begin()+1, null->size()-1);
 
     // Add the other binary blob
diff --git a/cygnal/cgi-bin/echo/gateway.h b/cygnal/cgi-bin/echo/gateway.h
index 637ef68..52b73c1 100644
--- a/cygnal/cgi-bin/echo/gateway.h
+++ b/cygnal/cgi-bin/echo/gateway.h
@@ -43,9 +43,9 @@ public:
     ~GatewayTest ();
 
     // Parse an Echo Request message coming from the Red5 echo_test.
-    std::vector<boost::shared_ptr<amf::Element > > 
parseEchoRequest(amf::Buffer &buf)
+    std::vector<std::shared_ptr<amf::Element > > parseEchoRequest(amf::Buffer 
&buf)
         { return parseEchoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<amf::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<amf::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
 
     // format a response to the 'echo' test used for testing Gnash.
     amf::Buffer &formatEchoResponse(const std::string &num, amf::Element &el);
diff --git a/cygnal/cgi-bin/fitcDemo/fitcDemo.cpp 
b/cygnal/cgi-bin/fitcDemo/fitcDemo.cpp
index 49ec080..5ce6683 100644
--- a/cygnal/cgi-bin/fitcDemo/fitcDemo.cpp
+++ b/cygnal/cgi-bin/fitcDemo/fitcDemo.cpp
@@ -54,13 +54,13 @@ static FitcDemoTest fitcDemo;
        
 extern "C" {
     
-    boost::shared_ptr<Handler::cygnal_init_t>
+    std::shared_ptr<Handler::cygnal_init_t>
     fitcDemo_class_init()
     {
        GNASH_REPORT_FUNCTION;
         // the standard API
         
-        boost::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
+        std::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
 //     init.read_func = read_func;
 //     init.write_func = write_func;
         
@@ -72,7 +72,7 @@ extern "C" {
 //     GNASH_REPORT_FUNCTION;
        
        size_t safe = 0;
-       boost::shared_ptr<amf::Buffer> buf = fitcDemo.getResponse();
+       std::shared_ptr<amf::Buffer> buf = fitcDemo.getResponse();
 
        if (size < buf->allocated()) {
            safe = buf->allocated();
@@ -92,9 +92,9 @@ extern "C" {
     {
 //     GNASH_REPORT_FUNCTION;
 
-       boost::shared_ptr<amf::Buffer> buf = fitcDemo.getResponse();
+       std::shared_ptr<amf::Buffer> buf = fitcDemo.getResponse();
 
-        vector<boost::shared_ptr<amf::Element> > request =
+        vector<std::shared_ptr<amf::Element> > request =
            fitcDemo.parseFitcDemoRequest(data, size);
         if (request[3]) {
             buf = fitcDemo.formatFitcDemoResponse(request[1]->to_number(), 
*request[3]);
@@ -183,7 +183,7 @@ main(int argc, char *argv[])
     // This is the main message processing loop for rtmp. All message received 
require
     // a response.
     do {
-        boost::shared_ptr<amf::Buffer> bufptr(new amf::Buffer);
+        std::shared_ptr<amf::Buffer> bufptr(new amf::Buffer);
         if (infile.empty()) {
             net.readNet(netfd, *bufptr);
         } else {
@@ -195,10 +195,10 @@ main(int argc, char *argv[])
             }
         }
         
-        vector<boost::shared_ptr<amf::Element> > request = 
net.parseFitcDemoRequest(
+        vector<std::shared_ptr<amf::Element> > request = 
net.parseFitcDemoRequest(
             bufptr->reference(), bufptr->allocated());
         if (request[3]) {
-            boost::shared_ptr<amf::Buffer> result = 
net.formatFitcDemoResponse(request[1]->to_number(), *request[3]);
+            std::shared_ptr<amf::Buffer> result = 
net.formatFitcDemoResponse(request[1]->to_number(), *request[3]);
             if (net.writeNet(netfd, *result)) {
                 log_debug("Sent fitcDemo test response response to client.");
             }
@@ -221,31 +221,31 @@ FitcDemoTest::~FitcDemoTest()
 
 // Parse an FitcDemo Request message coming from the Red5 fitcDemo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<amf::Element > >
+vector<std::shared_ptr<amf::Element > >
 FitcDemoTest::parseFitcDemoRequest(boost::uint8_t *ptr, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
 
     AMF amf;
-    vector<boost::shared_ptr<amf::Element > > headers;
+    vector<std::shared_ptr<amf::Element > > headers;
 
     // The first element is the name of the test, 'fitcDemo'
-    boost::shared_ptr<amf::Element> el1 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<amf::Element> el1 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el1);
 
     // The second element is the number of the test,
-    boost::shared_ptr<amf::Element> el2 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<amf::Element> el2 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el2);
 
     // This one has always been a NULL object from my tests
-    boost::shared_ptr<amf::Element> el3 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<amf::Element> el3 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el3);
 
     // This one has always been an NULL or Undefined object from my tests
-    boost::shared_ptr<amf::Element> el4 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<amf::Element> el4 = amf.extractAMF(ptr, ptr+size);
     if (!el4) {
        log_error("Couldn't reliably extract the fitcDemo data!");
     }
@@ -259,11 +259,11 @@ FitcDemoTest::parseFitcDemoRequest(boost::uint8_t *ptr, 
size_t size)
 // is only used for testing by developers. The format appears to be
 // a string '_result', followed by the number of the test, and then two
 // NULL objects.
-boost::shared_ptr<amf::Buffer>
+std::shared_ptr<amf::Buffer>
 FitcDemoTest::formatFitcDemoResponse(double num, amf::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<amf::Buffer> data = amf::AMF::encodeElement(el);
+    std::shared_ptr<amf::Buffer> data = amf::AMF::encodeElement(el);
     if (data) {
        return formatFitcDemoResponse(num, data->reference(), 
data->allocated());
     } else {
@@ -274,14 +274,14 @@ FitcDemoTest::formatFitcDemoResponse(double num, 
amf::Element &el)
     return data;
 }
 
-boost::shared_ptr<amf::Buffer>
+std::shared_ptr<amf::Buffer>
 FitcDemoTest::formatFitcDemoResponse(double num, amf::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return formatFitcDemoResponse(num, data.reference(), data.allocated());
 }
 
-boost::shared_ptr<amf::Buffer>
+std::shared_ptr<amf::Buffer>
 FitcDemoTest::formatFitcDemoResponse(double num, boost::uint8_t *data, size_t 
size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -296,11 +296,11 @@ FitcDemoTest::formatFitcDemoResponse(double num, 
boost::uint8_t *data, size_t si
     Element null;
     null.makeNull();
 
-    boost::shared_ptr<amf::Buffer> encfitcDemo = fitcDemo.encode();
-    boost::shared_ptr<amf::Buffer> encidx  = index.encode();   
-    boost::shared_ptr<amf::Buffer> encnull  = null.encode();   
+    std::shared_ptr<amf::Buffer> encfitcDemo = fitcDemo.encode();
+    std::shared_ptr<amf::Buffer> encidx  = index.encode();
+    std::shared_ptr<amf::Buffer> encnull  = null.encode();
 
-    boost::shared_ptr<amf::Buffer> buf(new amf::Buffer(encfitcDemo->size()
+    std::shared_ptr<amf::Buffer> buf(new amf::Buffer(encfitcDemo->size()
                                                       + encidx->size()
                                                       + encnull->size() + 
size));
 
diff --git a/cygnal/cgi-bin/fitcDemo/fitcDemo.h 
b/cygnal/cgi-bin/fitcDemo/fitcDemo.h
index 30de5a5..aa371b8 100644
--- a/cygnal/cgi-bin/fitcDemo/fitcDemo.h
+++ b/cygnal/cgi-bin/fitcDemo/fitcDemo.h
@@ -45,24 +45,24 @@ public:
     ~FitcDemoTest ();
   
     // Parse an FitcDemo Request message coming from the Red5 fitcDemo_test.
-    std::vector<boost::shared_ptr<amf::Element > > 
parseFitcDemoRequest(amf::Buffer &buf)
+    std::vector<std::shared_ptr<amf::Element > > 
parseFitcDemoRequest(amf::Buffer &buf)
         { return parseFitcDemoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<amf::Element > > 
parseFitcDemoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<amf::Element > > 
parseFitcDemoRequest(boost::uint8_t *buf, size_t size);
     
     // format a response to the 'fitcDemo' test used for testing Gnash.
-    boost::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
amf::Element &el);
-    boost::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
amf::Buffer &data);
-    boost::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
boost::uint8_t *data, size_t size);
+    std::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
amf::Element &el);
+    std::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
amf::Buffer &data);
+    std::shared_ptr<amf::Buffer> formatFitcDemoResponse(double num, 
boost::uint8_t *data, size_t size);
 
-    boost::shared_ptr<amf::Buffer> getResponse() { return _response; };
-    void setResponse(boost::shared_ptr<amf::Buffer> &x) { _response = x; };
+    std::shared_ptr<amf::Buffer> getResponse() { return _response; };
+    void setResponse(std::shared_ptr<amf::Buffer> &x) { _response = x; };
 
 private:
-    boost::shared_ptr<amf::Buffer> _response;    
+    std::shared_ptr<amf::Buffer> _response;
 };  
 
 extern "C" {
-    boost::shared_ptr<Handler::cygnal_init_t> fitcDemo_class_init(); 
+    std::shared_ptr<Handler::cygnal_init_t> fitcDemo_class_init();
     // the standard API
     size_t fitcDemo_read_func(boost::uint8_t *data, size_t size);
     size_t fitcDemo_write_func(boost::uint8_t *data, size_t size);
diff --git a/cygnal/cgi-bin/oflaDemo/oflaDemo.cpp 
b/cygnal/cgi-bin/oflaDemo/oflaDemo.cpp
index d4f0a40..0c7a8e2 100644
--- a/cygnal/cgi-bin/oflaDemo/oflaDemo.cpp
+++ b/cygnal/cgi-bin/oflaDemo/oflaDemo.cpp
@@ -105,12 +105,12 @@ static OflaDemoTest oflaDemo;
 extern "C" {
     
     // the standard API
-    boost::shared_ptr<Handler::cygnal_init_t>
-    oflaDemo_init_func(boost::shared_ptr<gnash::RTMPMsg> &msg)
+    std::shared_ptr<Handler::cygnal_init_t>
+    oflaDemo_init_func(std::shared_ptr<gnash::RTMPMsg> &msg)
     {
        GNASH_REPORT_FUNCTION;
         
-        boost::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
+        std::shared_ptr<Handler::cygnal_init_t> init(new 
Handler::cygnal_init_t);
         if (msg) {
             oflaDemo.setNetConnection(msg);
         } else {
@@ -124,11 +124,11 @@ extern "C" {
         return init;
     }
 
-    boost::shared_ptr<cygnal::Buffer> oflaDemo_read_func()
+    std::shared_ptr<cygnal::Buffer> oflaDemo_read_func()
     {
 //     GNASH_REPORT_FUNCTION;
        
-       boost::shared_ptr<cygnal::Buffer> buf = oflaDemo.getResponse();
+       std::shared_ptr<cygnal::Buffer> buf = oflaDemo.getResponse();
 //     log_network("%s", hexify(data, safe, true));
 
         return buf;
@@ -140,20 +140,20 @@ extern "C" {
     {
 //     GNASH_REPORT_FUNCTION;
 
-       boost::shared_ptr<cygnal::Buffer> buf = oflaDemo.getResponse();
+       std::shared_ptr<cygnal::Buffer> buf = oflaDemo.getResponse();
 
-        vector<boost::shared_ptr<cygnal::Element> > request =
+        vector<std::shared_ptr<cygnal::Element> > request =
            oflaDemo.parseOflaDemoRequest(data, size);
         
         if (request.empty()) {
             // Send the packet to notify the client that the
             // NetConnection::connect() was sucessful. After the client
             // receives this, the handhsake is completed.
-            boost::shared_ptr<cygnal::Buffer> error =
+            std::shared_ptr<cygnal::Buffer> error =
                 oflaDemo.encodeResult(RTMPMsg::NC_CALL_FAILED);
             // This builds the full header,which is required as the first part
             // of the packet.
-            boost::shared_ptr<cygnal::Buffer> head = oflaDemo.encodeHeader(0x3,
+            std::shared_ptr<cygnal::Buffer> head = oflaDemo.encodeHeader(0x3,
                                           RTMP::HEADER_12, error->allocated(),
                                           RTMP::INVOKE, RTMPMsg::FROM_SERVER);
             boost::scoped_ptr<cygnal::Buffer> response(new cygnal::Buffer(
@@ -250,7 +250,7 @@ main(int argc, char *argv[])
     // This is the main message processing loop for rtmp. All message received 
require
     // a response.
     do {
-        boost::shared_ptr<cygnal::Buffer> bufptr(new cygnal::Buffer);
+        std::shared_ptr<cygnal::Buffer> bufptr(new cygnal::Buffer);
         if (infile.empty()) {
             net.readNet(netfd, *bufptr);
         } else {
@@ -262,10 +262,10 @@ main(int argc, char *argv[])
             }
         }
         
-        vector<boost::shared_ptr<cygnal::Element> > request = 
net.parseOflaDemoRequest(
+        vector<std::shared_ptr<cygnal::Element> > request = 
net.parseOflaDemoRequest(
             bufptr->reference(), bufptr->allocated());
         if (request[3]) {
-            boost::shared_ptr<cygnal::Buffer> result = 
net.formatOflaDemoResponse(request[1]->to_number(), *request[3]);
+            std::shared_ptr<cygnal::Buffer> result = 
net.formatOflaDemoResponse(request[1]->to_number(), *request[3]);
             if (net.writeNet(netfd, *result)) {
                 log_debug("Sent oflaDemo test response response to client.");
             }
@@ -286,14 +286,14 @@ demoService::~demoService()
 //    GNASH_REPORT_FUNCTION;
 }
 
-std::vector<boost::shared_ptr<demoService::filestats_t> > &
+std::vector<std::shared_ptr<demoService::filestats_t> > &
 demoService::getListOfAvailableFiles(const std::string &path)
 {
 //    GNASH_REPORT_FUNCTION;
     return getListOfAvailableFiles(path, ".flv");
 }
 
-std::vector<boost::shared_ptr<demoService::filestats_t> > &
+std::vector<std::shared_ptr<demoService::filestats_t> > &
 demoService::getListOfAvailableFiles(const std::string &path,
                                    const std::string &type)
 {
@@ -342,7 +342,7 @@ demoService::getListOfAvailableFiles(const std::string 
&path,
                 filespec += name;
                 struct stat st;
                 if (stat(filespec.c_str(), &st) == 0) {
-                    boost::shared_ptr<demoService::filestats_t> stats(new 
filestats_t);
+                    std::shared_ptr<demoService::filestats_t> stats(new 
filestats_t);
                     stats->name = name;
                     stringstream ss;
                         ss << st.st_size;
@@ -385,16 +385,16 @@ OflaDemoTest::~OflaDemoTest()
 
 // Parse an OflaDemo Request message coming from the Red5 oflaDemo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<cygnal::Element > >
+vector<std::shared_ptr<cygnal::Element > >
 OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, size_t size)
 {
     GNASH_REPORT_FUNCTION;
 
     demoService demo;
     cygnal::AMF amf;
-    vector<boost::shared_ptr<cygnal::Element > > headers;
+    vector<std::shared_ptr<cygnal::Element > > headers;
 
-    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
     if (!el1) {
         log_error("No AMF data in message!");
         return headers;
@@ -405,7 +405,7 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
     headers.push_back(el1);
 
     // The second element is a number
-    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
     if (!el2) {
         log_error("No AMF data in message!");
         return headers;
@@ -416,11 +416,11 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
     if (method == "demoService.getListOfAvailableFLVs") {
         // Get the path from the NetConnection object we recieved from the
         // client at the end of the handshake process.
-        boost::shared_ptr<cygnal::Element> version;
-        boost::shared_ptr<cygnal::Element> tcurl;
-        boost::shared_ptr<cygnal::Element> swfurl;
+        std::shared_ptr<cygnal::Element> version;
+        std::shared_ptr<cygnal::Element> tcurl;
+        std::shared_ptr<cygnal::Element> swfurl;
         
-        boost::shared_ptr<gnash::RTMPMsg> msg = getNetConnection();
+        std::shared_ptr<gnash::RTMPMsg> msg = getNetConnection();
         if (msg) {
             version  = msg->findProperty("flashVer");
             if (version) {
@@ -446,32 +446,32 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
             std::string key = docroot + "/";
             key += url.hostname() + url.path();
             demo.getListOfAvailableFiles(key);
-            std::vector<boost::shared_ptr<demoService::filestats_t> > 
&mediafiles = demo.getFileStats(); 
+            std::vector<std::shared_ptr<demoService::filestats_t> > 
&mediafiles = demo.getFileStats();
             // std::vector<demoService::filestats_t> mediafiles = 
demo.getListOfAvailableFiles(key); 
-            std::vector<boost::shared_ptr<demoService::filestats_t> 
>::iterator it;
+            std::vector<std::shared_ptr<demoService::filestats_t> >::iterator 
it;
             // Make the top level object
             Element toparr;
             toparr.makeECMAArray();
             
             size_t total_size = 0;
-            vector<boost::shared_ptr<cygnal::Buffer> > buffers;
+            vector<std::shared_ptr<cygnal::Buffer> > buffers;
             for (it=mediafiles.begin(); it<mediafiles.end(); ++it) {
-                vector<boost::shared_ptr<cygnal::Element> > data;
+                vector<std::shared_ptr<cygnal::Element> > data;
                 
-                boost::shared_ptr<demoService::filestats_t> file = *it;
-                boost::shared_ptr<cygnal::Element> obj(new cygnal::Element);
+                std::shared_ptr<demoService::filestats_t> file = *it;
+                std::shared_ptr<cygnal::Element> obj(new cygnal::Element);
                 obj->makeECMAArray();
                 obj->setName(file->name);
                 
-                boost::shared_ptr<cygnal::Element> modified(new 
cygnal::Element);
+                std::shared_ptr<cygnal::Element> modified(new cygnal::Element);
                 modified->makeString("lastModified", file->last);
                 obj->addProperty(modified);
 
-                boost::shared_ptr<cygnal::Element> name(new cygnal::Element);
+                std::shared_ptr<cygnal::Element> name(new cygnal::Element);
                 name->makeString("name", file->name);
                 obj->addProperty(name);
 
-                boost::shared_ptr<cygnal::Element> size(new cygnal::Element);
+                std::shared_ptr<cygnal::Element> size(new cygnal::Element);
                 size->makeString("size", file->size);
                 obj->addProperty(size);
 
@@ -479,31 +479,31 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
                 toparr.addProperty(obj);
             }
             
-            boost::shared_ptr<cygnal::Buffer> topenc = toparr.encode();
+            std::shared_ptr<cygnal::Buffer> topenc = toparr.encode();
             total_size += topenc->allocated();
             
             // Start with the method name for the INVOKE
             cygnal::Element method;
             method.makeString("_result");
-            boost::shared_ptr<cygnal::Buffer> methodenc  = method.encode();
+            std::shared_ptr<cygnal::Buffer> methodenc  = method.encode();
             total_size += methodenc->allocated();
             
             // Add the stream ID
             cygnal::Element sid;
             sid.makeNumber(2); // FIXME: needs a real value!
-            boost::shared_ptr<cygnal::Buffer> sidenc  = sid.encode();
+            std::shared_ptr<cygnal::Buffer> sidenc  = sid.encode();
             total_size += sidenc->allocated();
 
             // There there is always a NULL object to start the data
             Element null;
             null.makeNull();
-            boost::shared_ptr<cygnal::Buffer> encnull  = null.encode();
+            std::shared_ptr<cygnal::Buffer> encnull  = null.encode();
             total_size += encnull->allocated();
 
-            boost::shared_ptr<cygnal::Buffer> result(new 
cygnal::Buffer(total_size+cygnal::AMF_HEADER_SIZE+RTMP_MAX_HEADER_SIZE+10));    
        
+            std::shared_ptr<cygnal::Buffer> result(new 
cygnal::Buffer(total_size+cygnal::AMF_HEADER_SIZE+RTMP_MAX_HEADER_SIZE+10));
             _response.reset(new 
cygnal::Buffer(total_size+cygnal::AMF_HEADER_SIZE+RTMP_MAX_HEADER_SIZE+10));
 #if 0
-            boost::shared_ptr<cygnal::Buffer> head = encodeHeader(0x3,
+            std::shared_ptr<cygnal::Buffer> head = encodeHeader(0x3,
                            RTMP::HEADER_8, total_size,
                            RTMP::INVOKE, RTMPMsg::FROM_SERVER);
             *result = head;
@@ -515,11 +515,11 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
 
 #if 0
             // Followed by all the encoded objects and properties
-            vector<boost::shared_ptr<cygnal::Buffer> >::iterator rit;
+            vector<std::shared_ptr<cygnal::Buffer> >::iterator rit;
             for (rit=buffers.begin(); rit<buffers.end(); ++rit) {
-                boost::shared_ptr<cygnal::Buffer> buf = *rit;
+                std::shared_ptr<cygnal::Buffer> buf = *rit;
                 *_response += buf;
-                std::vector<boost::shared_ptr<cygnal::Element> > data1;
+                std::vector<std::shared_ptr<cygnal::Element> > data1;
             }
 #endif
         }
@@ -534,11 +534,11 @@ OflaDemoTest::parseOflaDemoRequest(boost::uint8_t *ptr, 
size_t size)
 // is only used for testing by developers. The format appears to be
 // a string '_result', followed by the number of the test, and then two
 // NULL objects.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 OflaDemoTest::formatOflaDemoResponse(double num, cygnal::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> data = cygnal::AMF::encodeElement(el);
+    std::shared_ptr<cygnal::Buffer> data = cygnal::AMF::encodeElement(el);
     if (data) {
        return formatOflaDemoResponse(num, data->reference(), 
data->allocated());
     } else {
@@ -549,14 +549,14 @@ OflaDemoTest::formatOflaDemoResponse(double num, 
cygnal::Element &el)
     return data;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 OflaDemoTest::formatOflaDemoResponse(double num, cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return formatOflaDemoResponse(num, data.reference(), data.allocated());
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 OflaDemoTest::formatOflaDemoResponse(double num, boost::uint8_t *data, size_t 
size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -571,11 +571,11 @@ OflaDemoTest::formatOflaDemoResponse(double num, 
boost::uint8_t *data, size_t si
     Element null;
     null.makeNull();
 
-    boost::shared_ptr<cygnal::Buffer> encoflaDemo = oflaDemo.encode();
-    boost::shared_ptr<cygnal::Buffer> encidx  = index.encode();   
-    boost::shared_ptr<cygnal::Buffer> encnull  = null.encode();   
+    std::shared_ptr<cygnal::Buffer> encoflaDemo = oflaDemo.encode();
+    std::shared_ptr<cygnal::Buffer> encidx  = index.encode();
+    std::shared_ptr<cygnal::Buffer> encnull  = null.encode();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new 
cygnal::Buffer(encoflaDemo->size()
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(encoflaDemo->size()
                                                       + encidx->size()
                                                       + encnull->size() + 
size));
 
diff --git a/cygnal/cgi-bin/oflaDemo/oflaDemo.h 
b/cygnal/cgi-bin/oflaDemo/oflaDemo.h
index 04fd03b..843465f 100644
--- a/cygnal/cgi-bin/oflaDemo/oflaDemo.h
+++ b/cygnal/cgi-bin/oflaDemo/oflaDemo.h
@@ -54,16 +54,16 @@ public:
     ~demoService();
 
     /// return the list of FLV files we've found
-    std::vector<boost::shared_ptr<filestats_t> > 
&getListOfAvailableFiles(const std::string &path);
+    std::vector<std::shared_ptr<filestats_t> > &getListOfAvailableFiles(const 
std::string &path);
 
     /// return the list of FLV files we've found of the specified type
-    std::vector<boost::shared_ptr<filestats_t> > 
&getListOfAvailableFiles(const std::string &path,
+    std::vector<std::shared_ptr<filestats_t> > &getListOfAvailableFiles(const 
std::string &path,
                                                                          const 
std::string &type);
-    std::vector<boost::shared_ptr<filestats_t> > &getFileStats() { return 
_stats; };
+    std::vector<std::shared_ptr<filestats_t> > &getFileStats() { return 
_stats; };
     
 private:
     std::string                                _path;
-    std::vector<boost::shared_ptr<filestats_t> >       _stats;
+    std::vector<std::shared_ptr<filestats_t> > _stats;
 };
     
 class OflaDemoTest : public cygnal::RTMPServer
@@ -73,38 +73,38 @@ public:
     ~OflaDemoTest ();
   
     // Parse an OflaDemo Request message coming from the Red5 oflaDemo_test.
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseOflaDemoRequest(cygnal::Buffer &buf)
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseOflaDemoRequest(cygnal::Buffer &buf)
         { return parseOflaDemoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseOflaDemoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseOflaDemoRequest(boost::uint8_t *buf, size_t size);
     
     // format a response to the 'oflaDemo' test used for testing Gnash.
-    boost::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
cygnal::Element &el);
-    boost::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
cygnal::Buffer &data);
-    boost::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
boost::uint8_t *data, size_t size);
+    std::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
cygnal::Element &el);
+    std::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
cygnal::Buffer &data);
+    std::shared_ptr<cygnal::Buffer> formatOflaDemoResponse(double num, 
boost::uint8_t *data, size_t size);
 
-    boost::shared_ptr<cygnal::Buffer> getResponse() { return _response; };
-    void setResponse(boost::shared_ptr<cygnal::Buffer> &x) { _response = x; };
+    std::shared_ptr<cygnal::Buffer> getResponse() { return _response; };
+    void setResponse(std::shared_ptr<cygnal::Buffer> &x) { _response = x; };
     
     void setNetConnection(gnash::RTMPMsg *msg) { _netconnect.reset(msg); };
-    void setNetConnection(boost::shared_ptr<gnash::RTMPMsg> msg) { _netconnect 
= msg; };
-    boost::shared_ptr<gnash::RTMPMsg> getNetConnection() { return 
_netconnect;};
+    void setNetConnection(std::shared_ptr<gnash::RTMPMsg> msg) { _netconnect = 
msg; };
+    std::shared_ptr<gnash::RTMPMsg> getNetConnection() { return _netconnect;};
 
     /// \var _netconnect
     ///    This store the data from the NetConnection ActionScript
     ///    object we get as the final part of the handshake process
     ///    that is used to set up the connection. This has all the
     ///    file paths and other information needed by the server.
-    boost::shared_ptr<gnash::RTMPMsg>  _netconnect;
+    std::shared_ptr<gnash::RTMPMsg>    _netconnect;
 private:
-    boost::shared_ptr<cygnal::Buffer> _response;
-    boost::shared_ptr<Handler::cygnal_init_t> _info;
+    std::shared_ptr<cygnal::Buffer> _response;
+    std::shared_ptr<Handler::cygnal_init_t> _info;
 }; 
 
 // the standard API
 extern "C" {
-    
boost::shared_ptr<Handler::cygnal_init_t>oflaDemo_init_func(boost::shared_ptr<gnash::RTMPMsg>
 &msg);
+    
std::shared_ptr<Handler::cygnal_init_t>oflaDemo_init_func(std::shared_ptr<gnash::RTMPMsg>
 &msg);
     
-    boost::shared_ptr<cygnal::Buffer> oflaDemo_read_func();
+    std::shared_ptr<cygnal::Buffer> oflaDemo_read_func();
     size_t oflaDemo_write_func(boost::uint8_t *data, size_t size);
 }
 
diff --git a/cygnal/cvm.cpp b/cygnal/cvm.cpp
index ff5d931..6293444 100644
--- a/cygnal/cvm.cpp
+++ b/cygnal/cvm.cpp
@@ -344,7 +344,7 @@ vm_main(int argc, char *argv[])
 #endif
     gnash::media::MediaHandler::set(handler);
 
-    boost::shared_ptr<sound::sound_handler> soundHandler(
+    std::shared_ptr<sound::sound_handler> soundHandler(
             new sound::NullSoundHandler());
 
     std::vector<movie_data>    data;
diff --git a/cygnal/cygnal.cpp b/cygnal/cygnal.cpp
index 320e278..2baa15a 100644
--- a/cygnal/cygnal.cpp
+++ b/cygnal/cygnal.cpp
@@ -305,7 +305,7 @@ Cygnal::loadPeersFile(const std::string &filespec)
         }
 
        // Create a new peer item
-       boost::shared_ptr<peer_t> peer(new Cygnal::peer_t);
+       std::shared_ptr<peer_t> peer(new Cygnal::peer_t);
        peer->hostname = host;
        peer->port = strtol(portstr.c_str(), NULL, 0) & 0xffff;
 
@@ -350,14 +350,14 @@ Cygnal::probePeers(peer_t &peer)
 }
 
 void
-Cygnal::probePeers(std::vector<boost::shared_ptr<peer_t> > &peers)
+Cygnal::probePeers(std::vector<std::shared_ptr<peer_t> > &peers)
 {
 //     GNASH_REPORT_FUNCTION;
 
 //     createClient();
-    std::vector<boost::shared_ptr<Cygnal::peer_t> >::iterator it;
+    std::vector<std::shared_ptr<Cygnal::peer_t> >::iterator it;
     for (it = peers.begin(); it != peers.end(); ++it) {
-       boost::shared_ptr<Cygnal::peer_t> peer = *it;
+       std::shared_ptr<Cygnal::peer_t> peer = *it;
        probePeers(*peer);
        if (peer->connected) {
            log_network(_("%s is active on fd #%d."), peer->hostname,
@@ -371,7 +371,7 @@ void
 Cygnal::removeHandler(const std::string &path)
 {
 //     GNASH_REPORT_FUNCTION;
-    map<std::string, boost::shared_ptr<Handler> >::iterator it;
+    map<std::string, std::shared_ptr<Handler> >::iterator it;
     it = _handlers.find(path);
     if (it != _handlers.end()) {
        boost::mutex::scoped_lock lock(_mutex);
@@ -379,12 +379,12 @@ Cygnal::removeHandler(const std::string &path)
     }
 }
 
-boost::shared_ptr<Handler>
+std::shared_ptr<Handler>
 Cygnal::findHandler(const std::string &path)
 {
 //     GNASH_REPORT_FUNCTION;
-    map<std::string, boost::shared_ptr<Handler> >::iterator it;
-    boost::shared_ptr<Handler> hand;
+    map<std::string, std::shared_ptr<Handler> >::iterator it;
+    std::shared_ptr<Handler> hand;
     it = _handlers.find(path);
     if (it != _handlers.end()) {
        hand = (*it).second;
@@ -396,7 +396,7 @@ Cygnal::findHandler(const std::string &path)
 void
 Cygnal::dump()
 {
-    std::vector<boost::shared_ptr<Cygnal::peer_t> >::iterator it;
+    std::vector<std::shared_ptr<Cygnal::peer_t> >::iterator it;
     for (it = _peers.begin(); it != _peers.end(); ++it) {
        cerr << "Remote Peer: " << (*it)->hostname
             << ":" << (*it)->port << endl;
@@ -846,11 +846,11 @@ connection_handler(Network::thread_params_t *args)
            hargs->protocol = args->protocol;
            hargs->netfd = args->netfd;
 #if 0
-           boost::shared_ptr<Handler> hand = cyg.findHandler(path);
+           std::shared_ptr<Handler> hand = cyg.findHandler(path);
            HTTPServer *http = new HTTPServer;
            hargs.entry = http;
            http->setDocRoot(crcfile.getDocumentRoot());
-           boost::shared_ptr<cygnal::Buffer> buf(http->peekChunk());
+           std::shared_ptr<cygnal::Buffer> buf(http->peekChunk());
            http->processHeaderFields(*buf);
            string hostname, path;
            string::size_type pos = http->getField("host").find(":", 0);
@@ -912,7 +912,7 @@ connection_handler(Network::thread_params_t *args)
            rargs->protocol = args->protocol;
            rargs->netfd = args->netfd;
            RTMPServer *rtmp = new RTMPServer;
-           boost::shared_ptr<cygnal::Element> tcurl = 
+           std::shared_ptr<cygnal::Element> tcurl =
                rtmp->processClientHandShake(args->netfd);
            if (!tcurl) {
 //                 log_error("Couldn't read the tcUrl variable!");
@@ -921,7 +921,7 @@ connection_handler(Network::thread_params_t *args)
            }
            URL url(tcurl->to_string());
            string key = url.hostname() + url.path();
-           boost::shared_ptr<Handler> hand = cyg.findHandler(url.path());
+           std::shared_ptr<Handler> hand = cyg.findHandler(url.path());
            if (!hand) {
                log_network(_("Creating new %s Handler for: %s for fd %#d"),
                            proto_str[args->protocol], key, args->netfd);
@@ -929,8 +929,8 @@ connection_handler(Network::thread_params_t *args)
                cyg.addHandler(key, hand);
                rargs->entry = rtmp;
                hand->setNetConnection(rtmp->getNetConnection());
-               std::vector<boost::shared_ptr<Cygnal::peer_t> >::iterator it;
-               std::vector<boost::shared_ptr<Cygnal::peer_t> > active = 
cyg.getActive();
+               std::vector<std::shared_ptr<Cygnal::peer_t> >::iterator it;
+               std::vector<std::shared_ptr<Cygnal::peer_t> > active = 
cyg.getActive();
                for (it = active.begin(); it < active.end(); ++it) {
                    Cygnal::peer_t *peer = (*it).get();
                    hand->addRemote(peer->fd);
@@ -952,7 +952,7 @@ connection_handler(Network::thread_params_t *args)
                    cgiroot = PLUGINSDIR;
                }
                hand->scanDir(cgiroot);
-               boost::shared_ptr<Handler::cygnal_init_t> init = 
+               std::shared_ptr<Handler::cygnal_init_t> init =
                    hand->initModule(url.path());
                
                // this is where the real work gets done.
@@ -1045,7 +1045,7 @@ event_handler(Network::thread_params_t *args)
            // hand->dump();
        }
 #if 0
-       boost::shared_ptr<DiskStream> 
filestream(cache.findFile(args->filespec));
+       std::shared_ptr<DiskStream> filestream(cache.findFile(args->filespec));
        if (filestream) {
            filestream->dump();
        }
@@ -1053,7 +1053,7 @@ event_handler(Network::thread_params_t *args)
 //             cache.dump();
 #endif
        //hand->dump();
-       boost::shared_ptr<DiskStream> ds;
+       std::shared_ptr<DiskStream> ds;
        for (int i=1; i <= hand->getActiveDiskStreams(); i++) {
            ds = hand->getDiskStream(i);
            if (ds) {
@@ -1090,7 +1090,7 @@ event_handler(Network::thread_params_t *args)
                  {
                      largs.netfd = i;
                      // largs.filespec = fullpath;
-                     boost::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
+                     std::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
                      if (!http->http_handler(hand, args->netfd, args->buffer)) 
{
                          log_network(_("Done with HTTP connection for fd #%d, 
CGI %s"), i, args->filespec);
                          net.closeNet(args->netfd);
@@ -1114,7 +1114,7 @@ event_handler(Network::thread_params_t *args)
                  {
                      net.setTimeout(timeout);
                      args->netfd = i;
-                     boost::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
+                     std::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
                      // args->filespec = path;
                      if (!http->http_handler(hand, args->netfd, args->buffer)) 
{
                          log_network(_("Done with HTTP connection for fd #%d, 
CGI %s"), i, largs.filespec);
@@ -1126,7 +1126,7 @@ event_handler(Network::thread_params_t *args)
                  {
                      args->netfd = i;
                      // args->filespec = path;
-                     boost::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
+                     std::shared_ptr<HTTPServer> &http = 
hand->getHTTPHandler(i);
                      if (!http->http_handler(hand, args->netfd, args->buffer)) 
{
                          log_network(_("Done with HTTP connection for fd #%d, 
CGI %s"), i, args->filespec);
                          return;
diff --git a/cygnal/cygnal.h b/cygnal/cygnal.h
index 7640556..632ecc1 100644
--- a/cygnal/cygnal.h
+++ b/cygnal/cygnal.h
@@ -59,28 +59,28 @@ public:
 
     void probePeers();
     void probePeers(peer_t &peer);
-    void probePeers(boost::shared_ptr<peer_t> peer);
-    void probePeers(std::vector<boost::shared_ptr<peer_t> > &peers);
+    void probePeers(std::shared_ptr<peer_t> peer);
+    void probePeers(std::vector<std::shared_ptr<peer_t> > &peers);
 
-    void addHandler(const std::string &path, boost::shared_ptr<Handler> x) {
+    void addHandler(const std::string &path, std::shared_ptr<Handler> x) {
        _handlers[path] = x;
     };
 
-    boost::shared_ptr<Handler> findHandler(const std::string &path);
+    std::shared_ptr<Handler> findHandler(const std::string &path);
     void removeHandler(const std::string &path);
 
-    std::vector<boost::shared_ptr<peer_t> > & getActive() { return 
_active_peers; };
+    std::vector<std::shared_ptr<peer_t> > & getActive() { return 
_active_peers; };
 
     void dump();
 
 private:
-    void addPeer(boost::shared_ptr<peer_t> x) {
+    void addPeer(std::shared_ptr<peer_t> x) {
        _peers.push_back(x);
     };
 
-    std::vector<boost::shared_ptr<peer_t> > _peers;
-    std::vector<boost::shared_ptr<peer_t> > _active_peers;
-    std::map<std::string, boost::shared_ptr<Handler> > _handlers;
+    std::vector<std::shared_ptr<peer_t> > _peers;
+    std::vector<std::shared_ptr<peer_t> > _active_peers;
+    std::map<std::string, std::shared_ptr<Handler> > _handlers;
     boost::mutex _mutex;
 };
 
diff --git a/cygnal/handler.cpp b/cygnal/handler.cpp
index 4ec0a27..65a67eb 100644
--- a/cygnal/handler.cpp
+++ b/cygnal/handler.cpp
@@ -107,7 +107,7 @@ Handler::addClient(int fd, Network::protocols_supported_e 
proto)
          break;
       case Network::HTTP:
       {
-         boost::shared_ptr<HTTPServer> http(new HTTPServer);
+         std::shared_ptr<HTTPServer> http(new HTTPServer);
          _http[fd] = http;
          break;
       }
@@ -115,7 +115,7 @@ Handler::addClient(int fd, Network::protocols_supported_e 
proto)
          break;
       case Network::RTMP:
       {
-         boost::shared_ptr<RTMPServer> rtmp(new RTMPServer);
+         std::shared_ptr<RTMPServer> rtmp(new RTMPServer);
          _rtmp[fd] = rtmp;
          break;
       }
@@ -265,7 +265,7 @@ Handler::removeClient(int x)
 }
 
 void 
-Handler::setPlugin(boost::shared_ptr<Handler::cygnal_init_t> &/* init */)
+Handler::setPlugin(std::shared_ptr<Handler::cygnal_init_t> &/* init */)
 {
 //    GNASH_REPORT_FUNCTION;
 //     _plugin.reset(init.get());
@@ -279,7 +279,7 @@ Handler::setPlugin(Handler::cygnal_io_read_t /* read_ptr 
*/, Handler::cygnal_io_
     _plugin.reset(new Handler::cygnal_init_t);
 }
 
-boost::shared_ptr<Handler::cygnal_init_t>
+std::shared_ptr<Handler::cygnal_init_t>
 Handler::initModule(const std::string& str)
 {
     // GNASH_REPORT_FUNCTION;
@@ -318,7 +318,7 @@ Handler::initModule(const std::string& str)
     if (!init_symptr) {
        log_network(_("No %s symbol in plugin"), symbol);
     } else {
-       boost::shared_ptr<cygnal_init_t> info = init_symptr(_netconnect);
+       std::shared_ptr<cygnal_init_t> info = init_symptr(_netconnect);
        log_network(_("Initialized Plugin: \"%s\": %s"), info->version,
                    info->description);
     }
@@ -369,12 +369,12 @@ Handler::writeToPlugin(boost::uint8_t *data, size_t size)
     return ret;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 Handler::readFromPlugin()
 {
     // GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     if (_plugin) {
        buf = _plugin->read_func();
     }
@@ -398,7 +398,7 @@ Handler::initialized()
 }
 
 // Find a stream in the vector or Disk Streams
-boost::shared_ptr<gnash::DiskStream>
+std::shared_ptr<gnash::DiskStream>
 Handler::findStream(const std::string &filespec)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -454,7 +454,7 @@ Handler::playStream(const std::string &filespec)
 {
     GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<gnash::DiskStream> ds = _diskstreams[_streams];
+    std::shared_ptr<gnash::DiskStream> ds = _diskstreams[_streams];
 
     string fullpath = crcfile.getDocumentRoot();
     fullpath += "/";
@@ -599,7 +599,7 @@ Handler::dump()
 
     cerr << "Currently there are " << dec <<_diskstreams.size() << " 
DiskStreams."
         << endl;
-    map<int, boost::shared_ptr<DiskStream> >::iterator it;
+    map<int, std::shared_ptr<DiskStream> >::iterator it;
     for (it = _diskstreams.begin(); it != _diskstreams.end(); ++it) {
        if (it->second) {
            cerr << "DiskStream for fd #" << dec << it->first << endl;
diff --git a/cygnal/handler.h b/cygnal/handler.h
index 6154e75..847b36b 100644
--- a/cygnal/handler.h
+++ b/cygnal/handler.h
@@ -91,7 +91,7 @@ public:
     /// This typedef is only used for the io function that must be
     /// supported by the plugin.
     typedef size_t (*cygnal_io_write_t)(boost::uint8_t *data, size_t size);
-    typedef boost::shared_ptr<cygnal::Buffer> (*cygnal_io_read_t)();
+    typedef std::shared_ptr<cygnal::Buffer> (*cygnal_io_read_t)();
     typedef struct {
        std::string version;
        std::string description;
@@ -104,7 +104,7 @@ public:
     
     /// This typedef is only used for the init function optionally
     /// supported by the plugin.
-    typedef 
boost::shared_ptr<cygnal_init_t>(*cygnal_io_init_t)(boost::shared_ptr<gnash::RTMPMsg>
 &msg);
+    typedef 
std::shared_ptr<cygnal_init_t>(*cygnal_io_init_t)(std::shared_ptr<gnash::RTMPMsg>
 &msg);
 
     DSOEXPORT Handler();
     ~Handler();
@@ -121,14 +121,14 @@ public:
     // Check the status of active disk streams, which is one less than
     // default as the Streams IDs start at 1.
     int getActiveDiskStreams() { return _diskstreams.size(); }
-    // int removeDiskStream(boost::shared_ptr<DiskStream> x);
+    // int removeDiskStream(std::shared_ptr<DiskStream> x);
     
     // Operate on a disk streaming inprogress
-    boost::shared_ptr<gnash::DiskStream> getDiskStream(int x) { return 
_diskstreams[x]; }
-    void setDiskStream(int x, boost::shared_ptr<gnash::DiskStream> y) { 
_diskstreams[x] = y; }
+    std::shared_ptr<gnash::DiskStream> getDiskStream(int x) { return 
_diskstreams[x]; }
+    void setDiskStream(int x, std::shared_ptr<gnash::DiskStream> y) { 
_diskstreams[x] = y; }
 
     /// Add a SharedObject
-    void addSOL(boost::shared_ptr<cygnal::Element> x) {
+    void addSOL(std::shared_ptr<cygnal::Element> x) {
        _sol.push_back(x);
     };
 
@@ -162,19 +162,19 @@ public:
     ///     Add a remote machine to the list for input messages.
     size_t addRemote(int x) { _remote.push_back(x); return _remote.size(); };
 
-    void setPlugin(boost::shared_ptr<Handler::cygnal_init_t> &init);
+    void setPlugin(std::shared_ptr<Handler::cygnal_init_t> &init);
     void setPlugin(Handler::cygnal_io_read_t read_ptr, 
Handler::cygnal_io_write_t write_ptr );
 
     /// Initialize the named module within Cygnal
     //
-    boost::shared_ptr<cygnal_init_t> initModule(const std::string& module);
+    std::shared_ptr<cygnal_init_t> initModule(const std::string& module);
 
     /// \method initialized
     ///     See if any of the cgi-bins has been loaded.
     bool initialized();
 
     /// This method reads raw data from a plugin.
-    boost::shared_ptr<cygnal::Buffer> readFromPlugin();
+    std::shared_ptr<cygnal::Buffer> readFromPlugin();
 
     /// This method writes raw data to a plugin.
     size_t writeToPlugin(cygnal::Buffer &buf) {
@@ -208,7 +208,7 @@ public:
     int pauseStream(double transid);
 
     // Find a stream in the vector or Disk Streams
-    boost::shared_ptr<gnash::DiskStream> findStream(const std::string 
&filespec);
+    std::shared_ptr<gnash::DiskStream> findStream(const std::string &filespec);
 
     // Pause the RTMP stream
     int togglePause(double);
@@ -231,13 +231,13 @@ public:
     // and shouldn't really be done here, but we're trying not to
     // break things while refactoring.
     void setNetConnection(gnash::RTMPMsg *msg) { _netconnect.reset(msg); };
-    void setNetConnection(boost::shared_ptr<gnash::RTMPMsg> msg) { _netconnect 
= msg; };
-    boost::shared_ptr<gnash::RTMPMsg> getNetConnection() { return 
_netconnect;};
+    void setNetConnection(std::shared_ptr<gnash::RTMPMsg> msg) { _netconnect = 
msg; };
+    std::shared_ptr<gnash::RTMPMsg> getNetConnection() { return _netconnect;};
 #endif
     
 #if 1
-    boost::shared_ptr<HTTPServer> &getHTTPHandler(int fd)  { return _http[fd]; 
};
-    boost::shared_ptr<RTMPServer> getRTMPHandler(int fd)  { return _rtmp[fd]; 
};
+    std::shared_ptr<HTTPServer> &getHTTPHandler(int fd)  { return _http[fd]; };
+    std::shared_ptr<RTMPServer> getRTMPHandler(int fd)  { return _rtmp[fd]; };
 #endif
     
     // Parse the first nessages when starting a new message handler,
@@ -265,14 +265,14 @@ protected:
     ///   This is all the opened disk based files that are currently
     ///   being streamed by the server.
     //    boost::shared_array<gnash::DiskStream> _diskstreams;
-    std::map<int, boost::shared_ptr<gnash::DiskStream> > _diskstreams;
+    std::map<int, std::shared_ptr<gnash::DiskStream> > _diskstreams;
     /// \var _protocol
     ///    this is the map of which protocol is being used by which
     ///    file descriptor.
     std::map<int, gnash::Network::protocols_supported_e> _protocol;
 #if 1
-    std::map<int, boost::shared_ptr<HTTPServer> > _http;
-    std::map<int, boost::shared_ptr<RTMPServer> > _rtmp;
+    std::map<int, std::shared_ptr<HTTPServer> > _http;
+    std::map<int, std::shared_ptr<RTMPServer> > _rtmp;
 #endif
     /// \var _clients
     ///            is the array of all clients connected to this server for
@@ -286,16 +286,16 @@ protected:
     /// \var _local
     ///    These are local process we're responsible for
     ///    starting and stopping.
-    boost::shared_ptr<cygnal::Proc>    _local;
+    std::shared_ptr<cygnal::Proc>      _local;
     /// \var _plugins
     ///            is for the dynamically loaded applications
-    boost::shared_ptr<cygnal_init_t>   _plugin;
+    std::shared_ptr<cygnal_init_t>     _plugin;
     /// \var _file
     ///            is for disk based files
-    std::vector<boost::shared_ptr<gnash::DiskStream> > _files;
+    std::vector<std::shared_ptr<gnash::DiskStream> > _files;
     /// \var _sol
     ///            is for remote SharedObjects
-    std::vector<boost::shared_ptr<cygnal::Element> > _sol;
+    std::vector<std::shared_ptr<cygnal::Element> > _sol;
     ///var _bodysize;
     ///     is to store the body size of the previous packet for this
     ///     channel. 4 and 1 byte heades don't use the length field,
@@ -317,7 +317,7 @@ protected:
     ///    object we get as the final part of the handshake process
     ///    that is used to set up the connection. This has all the
     ///    file paths and other information needed by the server.
-    boost::shared_ptr<gnash::RTMPMsg>  _netconnect;
+    std::shared_ptr<gnash::RTMPMsg>    _netconnect;
 #endif
 
     std::map<int, std::string> _keys;
@@ -325,7 +325,7 @@ private:
     boost::mutex                       _mutex;
     
 // Remote Shared Objects. References are an index into this vector.
-//    std::map<std::string, boost::shared_ptr<handler_t> > _handlers;
+//    std::map<std::string, std::shared_ptr<handler_t> > _handlers;
 };
 
 } // end of gnash namespace
diff --git a/cygnal/http_server.cpp b/cygnal/http_server.cpp
index fde1cb8..2a11fea 100644
--- a/cygnal/http_server.cpp
+++ b/cygnal/http_server.cpp
@@ -145,7 +145,7 @@ HTTPServer::processClientRequest(Handler *hand, int fd, 
cygnal::Buffer *buf)
     string url = _docroot + _filespec;
     
     // See if the file is in the cache and already opened.
-    boost::shared_ptr<DiskStream> filestream(cache.findFile(_filespec));
+    std::shared_ptr<DiskStream> filestream(cache.findFile(_filespec));
     if (filestream) {
        log_debug("FIXME: found filestream %s in cache!", _filespec);
        filestream->dump();
@@ -202,7 +202,7 @@ HTTPServer::processGetRequest(Handler *hand, int fd, 
cygnal::Buffer *buf)
     
     string url = _docroot + _filespec;
 
-    boost::shared_ptr<DiskStream> ds = hand->getDiskStream(fd);
+    std::shared_ptr<DiskStream> ds = hand->getDiskStream(fd);
     if (ds) {
        _diskstream = ds;
     }
@@ -271,14 +271,14 @@ HTTPServer::processGetRequest(Handler *hand, int fd, 
cygnal::Buffer *buf)
 // A POST request asks sends a data from the client to the server. After 
processing
 // the header like we normally do, we then read the amount of bytes specified 
by
 // the "content-length" field, and then write that data to disk, or decode the 
amf.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processPostRequest(int fd, cygnal::Buffer * /* bufFIXME */)
 {
     GNASH_REPORT_FUNCTION;
 
 //    cerr << "QUE1 = " << _que.size() << endl;
 
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     
     if (_que.size() == 0) {
        return buf;
@@ -295,7 +295,7 @@ HTTPServer::processPostRequest(int fd, cygnal::Buffer * /* 
bufFIXME */)
     clearHeader();
     boost::uint8_t *data = processHeaderFields(buf.get());
     size_t length = strtol(getField("content-length").c_str(), NULL, 0);
-    boost::shared_ptr<cygnal::Buffer> content(new cygnal::Buffer(length));
+    std::shared_ptr<cygnal::Buffer> content(new cygnal::Buffer(length));
     int ret = 0;
     if (buf->allocated() - (data - buf->reference()) ) {
 //     cerr << "Don't need to read more data: have " << buf->allocated() << " 
bytes" << endl;
@@ -321,7 +321,7 @@ HTTPServer::processPostRequest(int fd, cygnal::Buffer * /* 
bufFIXME */)
        log_debug("Got AMF data in POST");
 #if 0
        amf::AMF amf;
-       boost::shared_ptr<cygnal::Element> el = 
amf.extractAMF(content.reference(), content.end());
+       std::shared_ptr<cygnal::Element> el = 
amf.extractAMF(content.reference(), content.end());
        el->dump();             // FIXME: do something intelligent
                                // with this Element
 #endif
@@ -342,13 +342,13 @@ HTTPServer::processPostRequest(int fd, cygnal::Buffer * 
/* bufFIXME */)
        cgis.startCGI(_filespec, true, CGIBIN_PORT);
        cgis.createClient("localhost", CGIBIN_PORT);
        cgis.writeNet(*content);
-       boost::shared_ptr<cygnal::Buffer> reply = cgis.readNet();
+       std::shared_ptr<cygnal::Buffer> reply = cgis.readNet();
        
        writeNet(fd, *reply);
 //     cgis.stopCGI(_filespec);
 #else
-       vector<boost::shared_ptr<cygnal::Element> > headers = 
parseEchoRequest(*content);
-       //boost::shared_ptr<cygnal::Element> &el0 = headers[0];
+       vector<std::shared_ptr<cygnal::Element> > headers = 
parseEchoRequest(*content);
+       //std::shared_ptr<cygnal::Element> &el0 = headers[0];
 
        if (headers.size() >= 4) {
            if (headers[3]) {
@@ -367,61 +367,61 @@ HTTPServer::processPostRequest(int fd, cygnal::Buffer * 
/* bufFIXME */)
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processPutRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
 //    GNASH_REPORT_FUNCTION;
     log_unimpl(_("PUT request"));
 
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processDeleteRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     log_unimpl(_("DELETE request"));
     
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processConnectRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     log_unimpl(_("CONNECT request"));
 
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processOptionsRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     log_unimpl(_("OPTIONS request"));
 
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processHeadRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     log_unimpl(_("HEAD request"));
     
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 HTTPServer::processTraceRequest(int /* fd */, cygnal::Buffer */* buf */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     log_unimpl(_("TRACE request"));
     
     return buf;
@@ -512,7 +512,7 @@ HTTPServer::formatPostReply(rtmpt_cmd_e /* code */)
 
 #if 0
     formatHeader(_filesize, code);
-    boost::shared_ptr<cygnal::Buffer> buf = new cygnal::Buffer;
+    std::shared_ptr<cygnal::Buffer> buf = new cygnal::Buffer;
     if (_header.str().size()) {
        buf->resize(_header.str().size());
        string str = _header.str();
@@ -533,12 +533,12 @@ HTTPServer::formatPostReply(rtmpt_cmd_e /* code */)
 #ifndef USE_CGIBIN
 // Parse an Echo Request message coming from the Red5 echo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<cygnal::Element > >
+vector<std::shared_ptr<cygnal::Element > >
 HTTPServer::parseEchoRequest(boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
     
-    vector<boost::shared_ptr<cygnal::Element > > headers;
+    vector<std::shared_ptr<cygnal::Element > > headers;
        
     // skip past the header bytes, we don't care about them.
     boost::uint8_t *tmpptr = data + 6;
@@ -549,7 +549,7 @@ HTTPServer::parseEchoRequest(boost::uint8_t *data, size_t 
size)
 
     // Get the first name, which is a raw string, and not preceded by
     // a type byte.
-    boost::shared_ptr<cygnal::Element > el1(new cygnal::Element);
+    std::shared_ptr<cygnal::Element > el1(new cygnal::Element);
     
     // If the length of the name field is corrupted, then we get out of
     // range quick, and corrupt memory. This is a bit of a hack, but
@@ -568,7 +568,7 @@ HTTPServer::parseEchoRequest(boost::uint8_t *data, size_t 
size)
     // a type byte.
     length = ntohs((*(boost::uint16_t *)tmpptr) & 0xffff);
     tmpptr += sizeof(boost::uint16_t);
-    boost::shared_ptr<cygnal::Element > el2(new cygnal::Element);
+    std::shared_ptr<cygnal::Element > el2(new cygnal::Element);
 
 //     std::string name2(reinterpret_cast<const char *>(tmpptr), length);
 //     el2->setName(name2.c_str(), name2.size());
@@ -588,11 +588,11 @@ HTTPServer::parseEchoRequest(boost::uint8_t *data, size_t 
size)
     // Get the last two pieces of data, which are both AMF encoded
     // with a type byte.
     amf::AMF amf;
-    boost::shared_ptr<cygnal::Element> el3 = amf.extractAMF(tmpptr, tmpptr + 
size);
+    std::shared_ptr<cygnal::Element> el3 = amf.extractAMF(tmpptr, tmpptr + 
size);
     headers.push_back(el3);
     tmpptr += amf.totalsize();
     
-    boost::shared_ptr<cygnal::Element> el4 = amf.extractAMF(tmpptr, tmpptr + 
size);
+    std::shared_ptr<cygnal::Element> el4 = amf.extractAMF(tmpptr, tmpptr + 
size);
     headers.push_back(el4);
 
      return headers;
@@ -605,7 +605,7 @@ cygnal::Buffer &
 HTTPServer::formatEchoResponse(const std::string &num, cygnal::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> data;
+    std::shared_ptr<cygnal::Buffer> data;
 
     cygnal::Element nel;
     if (el.getType() == cygnal::Element::TYPED_OBJECT_AMF0) {
@@ -616,7 +616,7 @@ HTTPServer::formatEchoResponse(const std::string &num, 
cygnal::Element &el)
            // FIXME: see about using std::reverse() instead.
            for (int i=el.propertySize()-1; i>=0; i--) {
 //         for (int i=0 ; i<el.propertySize(); i++) {
-               boost::shared_ptr<cygnal::Element> child = el.getProperty(i);
+               std::shared_ptr<cygnal::Element> child = el.getProperty(i);
                nel.addProperty(child);
            }
            data = nel.encode();
@@ -667,11 +667,11 @@ HTTPServer::formatEchoResponse(const std::string &num, 
boost::uint8_t *data, siz
     // the request, a slash followed by a number like "/2".
     string result = num;
     result += "/onResult";
-    boost::shared_ptr<cygnal::Buffer> res = amf::AMF::encodeString(result);
+    std::shared_ptr<cygnal::Buffer> res = amf::AMF::encodeString(result);
     _buffer.append(res->begin()+1, res->size()-1);
 
     // Add the null data item
-    boost::shared_ptr<cygnal::Buffer> null = amf::AMF::encodeString("null");
+    std::shared_ptr<cygnal::Buffer> null = amf::AMF::encodeString("null");
     _buffer.append(null->begin()+1, null->size()-1);
 
     // Add the other binary blob
@@ -1006,7 +1006,7 @@ HTTPServer::http_handler(Handler *hand, int netfd, 
cygnal::Buffer *buf)
 
     // Handler *hand = reinterpret_cast<Handler *>(args->handler);
     // cygnal::Buffer *buf = args->buffer;
-    // boost::shared_ptr<HTTPServer> www(new HTTPServer); // = 
hand->getHTTPHandler    (args->netfd);
+    // std::shared_ptr<HTTPServer> www(new HTTPServer); // = 
hand->getHTTPHandler    (args->netfd);
     
     string url, parameters;
     // by default, only look once unless changed later
diff --git a/cygnal/http_server.h b/cygnal/http_server.h
index e63f307..e1b3edb 100644
--- a/cygnal/http_server.h
+++ b/cygnal/http_server.h
@@ -49,16 +49,16 @@ public:
     http_method_e processClientRequest(int fd);
     http_method_e processClientRequest(Handler *hand, int fd, cygnal::Buffer 
*buf);
     cygnal::Buffer &processGetRequest(Handler *hand, int fd, cygnal::Buffer 
*buf);
-    boost::shared_ptr<cygnal::Buffer> processPostRequest(int fd, 
cygnal::Buffer *buf);
-    boost::shared_ptr<cygnal::Buffer> processPutRequest(int fd, cygnal::Buffer 
*buf);
-    boost::shared_ptr<cygnal::Buffer> processDeleteRequest(int fd, 
cygnal::Buffer *buf);
-    boost::shared_ptr<cygnal::Buffer> processConnectRequest(int fd, 
cygnal::Buffer *buf);
-    boost::shared_ptr<cygnal::Buffer> processOptionsRequest(int fd, 
cygnal::Buffer *buf);
-    boost::shared_ptr<cygnal::Buffer> processHeadRequest(int fd, 
cygnal::Buffer *buf);
-    boost::shared_ptr<cygnal::Buffer> processTraceRequest(int fd, 
cygnal::Buffer *buf);
+    std::shared_ptr<cygnal::Buffer> processPostRequest(int fd, cygnal::Buffer 
*buf);
+    std::shared_ptr<cygnal::Buffer> processPutRequest(int fd, cygnal::Buffer 
*buf);
+    std::shared_ptr<cygnal::Buffer> processDeleteRequest(int fd, 
cygnal::Buffer *buf);
+    std::shared_ptr<cygnal::Buffer> processConnectRequest(int fd, 
cygnal::Buffer *buf);
+    std::shared_ptr<cygnal::Buffer> processOptionsRequest(int fd, 
cygnal::Buffer *buf);
+    std::shared_ptr<cygnal::Buffer> processHeadRequest(int fd, cygnal::Buffer 
*buf);
+    std::shared_ptr<cygnal::Buffer> processTraceRequest(int fd, cygnal::Buffer 
*buf);
 
     // Handle the response for the request.
-    boost::shared_ptr<cygnal::Buffer> formatServerReply(http_status_e code);
+    std::shared_ptr<cygnal::Buffer> formatServerReply(http_status_e code);
     cygnal::Buffer &formatGetReply(gnash::DiskStream::filetype_e type, size_t 
size, http_status_e code); 
     cygnal::Buffer &formatGetReply(size_t size, http_status_e code); 
     cygnal::Buffer &formatGetReply(http_status_e code); 
@@ -87,8 +87,8 @@ public:
     
 #if 0
     // Parse an Echo Request message coming from the Red5 echo_test.
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(gnash::cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(gnash::cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
     
     // format a response to the 'echo' test used for testing Gnash.
     gnash::cygnal::Buffer &formatEchoResponse(const std::string &num, 
cygnal::Element &el);
@@ -97,12 +97,12 @@ public:
 #endif
 
     bool http_handler(Handler *hand, int netfd, cygnal::Buffer *buf);
-    boost::shared_ptr<gnash::DiskStream> getDiskStream() { return _diskstream; 
};
+    std::shared_ptr<gnash::DiskStream> getDiskStream() { return _diskstream; };
 
     void dump();    
 private:
     cygnal::Buffer _buf;
-    boost::shared_ptr<gnash::DiskStream> _diskstream;
+    std::shared_ptr<gnash::DiskStream> _diskstream;
 };
 
 } // end of gnash namespace
diff --git a/cygnal/libamf/amf.cpp b/cygnal/libamf/amf.cpp
index a49e645..e01a199 100644
--- a/cygnal/libamf/amf.cpp
+++ b/cygnal/libamf/amf.cpp
@@ -135,14 +135,14 @@ swapBytes(void *word, size_t size)
 /// @param num A double value to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeNumber(double indata)
 {
 //    GNASH_REPORT_FUNCTION;
     double num;
     // Encode the data as a 64 bit, big-endian, numeric value
     // only one additional byte for the type
-    boost::shared_ptr<Buffer> buf(new Buffer(AMF0_NUMBER_SIZE + 1));
+    std::shared_ptr<Buffer> buf(new Buffer(AMF0_NUMBER_SIZE + 1));
     *buf = Element::NUMBER_AMF0;
     num = indata;
     swapBytes(&num, AMF0_NUMBER_SIZE);
@@ -156,12 +156,12 @@ AMF::encodeNumber(double indata)
 /// @param flag The boolean value to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeBoolean(bool flag)
 {
 //    GNASH_REPORT_FUNCTION;
     // Encode a boolean value. 0 for false, 1 for true
-    boost::shared_ptr<Buffer> buf(new Buffer(2));
+    std::shared_ptr<Buffer> buf(new Buffer(2));
     *buf = Element::BOOLEAN_AMF0; 
     *buf += static_cast<boost::uint8_t>(flag);
     
@@ -171,14 +171,14 @@ AMF::encodeBoolean(bool flag)
 /// \brief Encode the end of an object to it's serialized representation.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeObject(const cygnal::Element &data)
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint32_t length;
     length = data.propertySize();
     gnash::log_debug(_("Encoded data size has %d properties"), length);
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     if (length) {
        buf.reset(new cygnal::Buffer);
     } else {
@@ -187,11 +187,11 @@ AMF::encodeObject(const cygnal::Element &data)
     
     *buf = Element::OBJECT_AMF0;
     if (data.propertySize() > 0) {
-       std::vector<boost::shared_ptr<cygnal::Element> >::const_iterator ait;
-       std::vector<boost::shared_ptr<cygnal::Element> > props = 
data.getProperties();
+       std::vector<std::shared_ptr<cygnal::Element> >::const_iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> > props = 
data.getProperties();
        for (ait = props.begin(); ait != props.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
-           boost::shared_ptr<cygnal::Buffer> item = AMF::encodeElement(el);
+           std::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Buffer> item = AMF::encodeElement(el);
            if (item) {
                *buf += item;
                item.reset();
@@ -213,11 +213,11 @@ AMF::encodeObject(const cygnal::Element &data)
 /// \brief Encode the end of an object to it's serialized representation.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeObjectEnd()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf(new Buffer(1));
+    std::shared_ptr<Buffer> buf(new Buffer(1));
     *buf += TERMINATOR;
 
     return buf;
@@ -226,11 +226,11 @@ AMF::encodeObjectEnd()
 /// \brief Encode an "Undefined" object to it's serialized representation.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeUndefined()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf(new Buffer(1));
+    std::shared_ptr<Buffer> buf(new Buffer(1));
     *buf = Element::UNDEFINED_AMF0;
     
     return buf;
@@ -239,11 +239,11 @@ AMF::encodeUndefined()
 /// \brief Encode a "Unsupported" object to it's serialized representation.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeUnsupported()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf(new Buffer(1));
+    std::shared_ptr<Buffer> buf(new Buffer(1));
     *buf = Element::UNSUPPORTED_AMF0;
     
     return buf;
@@ -254,12 +254,12 @@ AMF::encodeUnsupported()
 /// @param data A pointer to the raw bytes that becomes the data.
 /// 
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeDate(const boost::uint8_t *date)
 {
 //    GNASH_REPORT_FUNCTION;
-//    boost::shared_ptr<Buffer> buf;
-    boost::shared_ptr<Buffer> buf;
+//    std::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     if (date != 0) {
        buf.reset(new Buffer(AMF0_NUMBER_SIZE+1));
        *buf = Element::DATE_AMF0;
@@ -274,12 +274,12 @@ AMF::encodeDate(const boost::uint8_t *date)
 ///            A NULL object is often used as a placeholder in RTMP.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeNull()
 {
 //    GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<Buffer> buf(new Buffer(1));
+    std::shared_ptr<Buffer> buf(new Buffer(1));
     *buf = Element::NULL_AMF0;
     
     return buf;
@@ -292,11 +292,11 @@ AMF::encodeNull()
 /// @param nbytes The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeXMLObject(const boost::uint8_t * /*data */, size_t /* size */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     gnash::log_unimpl(_("XML AMF objects not supported yet"));
     buf.reset();
     return buf;
@@ -309,7 +309,7 @@ AMF::encodeXMLObject(const boost::uint8_t * /*data */, 
size_t /* size */)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeTypedObject(const cygnal::Element &data)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -317,7 +317,7 @@ AMF::encodeTypedObject(const cygnal::Element &data)
     size_t size = 0;
     boost::uint32_t props;
     props = data.propertySize();
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     //    log_debug("Encoded data size has %d properties", props);
     if (props) {
        // Calculate the total size of the output buffer
@@ -346,11 +346,11 @@ AMF::encodeTypedObject(const cygnal::Element &data)
     }
     
     if (data.propertySize() > 0) {
-       std::vector<boost::shared_ptr<cygnal::Element> >::const_iterator ait;
-       std::vector<boost::shared_ptr<cygnal::Element> > props = 
data.getProperties();
+       std::vector<std::shared_ptr<cygnal::Element> >::const_iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> > props = 
data.getProperties();
        for (ait = props.begin(); ait != props.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
-           boost::shared_ptr<cygnal::Buffer> item = AMF::encodeElement(el);
+           std::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Buffer> item = AMF::encodeElement(el);
            if (item) {
                *buf += item;
                item.reset();
@@ -376,12 +376,12 @@ AMF::encodeTypedObject(const cygnal::Element &data)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format (header,data)
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeReference(boost::uint16_t index)
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint16_t num = index;
-    boost::shared_ptr<cygnal::Buffer> buf(new Buffer(3));
+    std::shared_ptr<cygnal::Buffer> buf(new Buffer(3));
     *buf = Element::REFERENCE_AMF0;
     swapBytes(&num, sizeof(boost::uint16_t));
     *buf += num;
@@ -396,11 +396,11 @@ AMF::encodeReference(boost::uint16_t index)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format (header,data)
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeMovieClip(const boost::uint8_t * /*data */, size_t /* size */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     gnash::log_unimpl(_("Movie Clip AMF objects not supported yet"));
     
     return buf;
@@ -415,7 +415,7 @@ AMF::encodeMovieClip(const boost::uint8_t * /*data */, 
size_t /* size */)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeECMAArray(const cygnal::Element &data)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -425,7 +425,7 @@ AMF::encodeECMAArray(const cygnal::Element &data)
 
     length = data.propertySize();
     //    log_debug("Encoded data size has %d properties", length);
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
     if (length == 0) {
        // an undefined array is only 5 bytes, 1 for the type and
        // 4 for the length.
@@ -439,11 +439,11 @@ AMF::encodeECMAArray(const cygnal::Element &data)
     // At lest for red5, it seems to encode from the last item to the
     // first, so we do the same for now.
     if (data.propertySize() > 0) {
-       boost::shared_ptr<cygnal::Buffer> item;
-       std::vector<boost::shared_ptr<cygnal::Element> >::const_iterator ait;   
 
-       std::vector<boost::shared_ptr<cygnal::Element> > props = 
data.getProperties();
+       std::shared_ptr<cygnal::Buffer> item;
+       std::vector<std::shared_ptr<cygnal::Element> >::const_iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> > props = 
data.getProperties();
        for (ait = props.begin(); ait != props.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Element> el = (*(ait));
            if (sparse) {
                sparse = false;
 //             char num[12];
@@ -468,7 +468,7 @@ AMF::encodeECMAArray(const cygnal::Element &data)
 #if 0
     double count = data.propertySize();
     cygnal::Element ellen("length", count);
-    boost::shared_ptr<cygnal::Buffer> buflen = ellen.encode();
+    std::shared_ptr<cygnal::Buffer> buflen = ellen.encode();
     *buf += buflen;
 #endif
     
@@ -487,11 +487,11 @@ AMF::encodeECMAArray(const cygnal::Element &data)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeLongString(const boost::uint8_t * /* data */, size_t /* size */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     gnash::log_unimpl(_("Long String AMF objects not supported yet"));
     
     return buf;
@@ -504,11 +504,11 @@ AMF::encodeLongString(const boost::uint8_t * /* data */, 
size_t /* size */)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeRecordSet(const boost::uint8_t * /* data */, size_t /* size */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     gnash::log_unimpl(_("Reecord Set AMF objects not supported yet"));
     
     return buf;
@@ -523,14 +523,14 @@ AMF::encodeRecordSet(const boost::uint8_t * /* data */, 
size_t /* size */)
 /// @param size The number of bytes to serialize.
 ///
 /// @return a binary AMF packet in big endian format (header,data)
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeStrictArray(const cygnal::Element &data)
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint32_t items;
     items = data.propertySize();
     //    log_debug("Encoded data size has %d properties", items);
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
     if (items) {
        buf.reset(new cygnal::Buffer);
     } else {
@@ -544,13 +544,13 @@ AMF::encodeStrictArray(const cygnal::Element &data)
     *buf += items;
 
     if (data.propertySize() > 0) {
-       std::vector<boost::shared_ptr<cygnal::Element> >::const_iterator ait;   
 
-       std::vector<boost::shared_ptr<cygnal::Element> > props = 
data.getProperties();
+       std::vector<std::shared_ptr<cygnal::Element> >::const_iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> > props = 
data.getProperties();
        bool sparse = false;
        size_t counter = 0;
        for (ait = props.begin(); ait != props.end(); ++ait) {
            counter++;
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Element> el = (*(ait));
 #if 0
            // FIXME: Red5's echo tests like to turn strict array's into ecma
            // arrays, but we shouldn't do that in the core.
@@ -582,7 +582,7 @@ AMF::encodeStrictArray(const cygnal::Element &data)
                    cygnal::Element ellen("length", nodes);
                    *buf += AMF::encodeElement(ellen);
                } else {
-                   boost::shared_ptr<cygnal::Buffer> item = 
AMF::encodeElement(el);
+                   std::shared_ptr<cygnal::Buffer> item = 
AMF::encodeElement(el);
                    if (item) {
                        *buf += item;
                        item.reset();
@@ -604,7 +604,7 @@ AMF::encodeStrictArray(const cygnal::Element &data)
 /// @param str a string value
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeString(const std::string &str)
 {
     boost::uint8_t *ptr = const_cast<boost::uint8_t *>(reinterpret_cast<const 
boost::uint8_t *>(str.c_str()));
@@ -618,11 +618,11 @@ AMF::encodeString(const std::string &str)
 /// @param size The size of the data in bytes
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeString(boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer>buf(new Buffer(size + AMF_HEADER_SIZE));
+    std::shared_ptr<Buffer>buf(new Buffer(size + AMF_HEADER_SIZE));
     *buf = Element::STRING_AMF0;
     // when a string is stored in an element, we add a NULL terminator so
     // it can be printed by to_string() efficiently. The NULL terminator
@@ -641,13 +641,13 @@ AMF::encodeString(boost::uint8_t *data, size_t size)
 ///    A NULL String is a string with no associated data.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeNullString()
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint16_t length;
     
-    boost::shared_ptr<Buffer> buf(new Buffer(AMF_HEADER_SIZE));
+    std::shared_ptr<Buffer> buf(new Buffer(AMF_HEADER_SIZE));
     *buf = Element::STRING_AMF0;
     // when a string is stored in an element, we add a NULL terminator so
     // it can be printed by to_string() efficiently. The NULL terminator
@@ -682,17 +682,17 @@ AMF::encodeNullString()
 /// @param el A smart pointer to the Element to encode.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
-AMF::encodeElement(boost::shared_ptr<cygnal::Element> el)
+std::shared_ptr<Buffer>
+AMF::encodeElement(std::shared_ptr<cygnal::Element> el)
 {
     return encodeElement(*el);
 }
 
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 AMF::encodeElement(const cygnal::Element& el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
     // Encode the element's data
     switch (el.getType()) {
       case Element::NOTYPE:
@@ -700,14 +700,14 @@ AMF::encodeElement(const cygnal::Element& el)
          break;
       case Element::NUMBER_AMF0:
       {
-  //     boost::shared_ptr<Buffer> encnum = AMF::encodeNumber(el.to_number());
+  //     std::shared_ptr<Buffer> encnum = AMF::encodeNumber(el.to_number());
   //     *buf += encnum;
          buf = AMF::encodeNumber(el.to_number());
           break;
       }
       case Element::BOOLEAN_AMF0:
       {
-//       boost::shared_ptr<Buffer> encbool = AMF::encodeBoolean(el.to_bool());
+//       std::shared_ptr<Buffer> encbool = AMF::encodeBoolean(el.to_bool());
 //       *buf += encodeBoolean(el.to_bool());
 //       *buf += encbool;
          buf = AMF::encodeBoolean(el.to_bool());
@@ -715,7 +715,7 @@ AMF::encodeElement(const cygnal::Element& el)
       }
       case Element::STRING_AMF0:
       {
-  //     boost::shared_ptr<Buffer> encstr = AMF::encodeString(el.to_string());
+  //     std::shared_ptr<Buffer> encstr = AMF::encodeString(el.to_string());
          //      *buf += encstr;
          if (el.getDataSize() == 0) {
              buf = encodeNullString();
@@ -755,7 +755,7 @@ AMF::encodeElement(const cygnal::Element& el)
       }
       case Element::DATE_AMF0:
       {
-  //     boost::shared_ptr<Buffer> encdate = AMF::encodeNumber(el.to_number());
+  //     std::shared_ptr<Buffer> encdate = AMF::encodeNumber(el.to_number());
          buf = AMF::encodeDate(el.to_reference());
           break;
       }
@@ -789,7 +789,7 @@ AMF::encodeElement(const cygnal::Element& el)
     };
 
     // If the name field is set, it's a property, followed by the data
-    boost::shared_ptr<Buffer> bigbuf;
+    std::shared_ptr<Buffer> bigbuf;
     if (el.getName() && (el.getType() != Element::TYPED_OBJECT_AMF0)) {
        if (buf) {
            bigbuf.reset(new cygnal::Buffer(el.getNameSize() + 
sizeof(boost::uint16_t) + buf->size()));
@@ -821,15 +821,15 @@ AMF::encodeElement(const cygnal::Element& el)
 /// @param el A smart pointer to the Element to encode.
 ///
 /// @return a binary AMF packet in big endian format
-boost::shared_ptr<Buffer>
-AMF::encodeProperty(boost::shared_ptr<cygnal::Element> el)
+std::shared_ptr<Buffer>
+AMF::encodeProperty(std::shared_ptr<cygnal::Element> el)
 {
 //    GNASH_REPORT_FUNCTION;
     size_t outsize;
     
     outsize = el->getNameSize() + el->getDataSize() + AMF_PROP_HEADER_SIZE;
 
-    boost::shared_ptr<Buffer> buf(new Buffer(outsize));
+    std::shared_ptr<Buffer> buf(new Buffer(outsize));
     _totalsize += outsize;
 
     // Add the length of the string for the name of the property
@@ -879,8 +879,8 @@ AMF::encodeProperty(boost::shared_ptr<cygnal::Element> el)
 /// @return A smart ptr to an Element.
 ///
 /// @remarks May throw a ParserException
-boost::shared_ptr<cygnal::Element> 
-AMF::extractAMF(boost::shared_ptr<Buffer> buf)
+std::shared_ptr<cygnal::Element>
+AMF::extractAMF(std::shared_ptr<Buffer> buf)
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint8_t* start = buf->reference();
@@ -900,14 +900,14 @@ AMF::extractAMF(boost::shared_ptr<Buffer> buf)
 /// @return A smart ptr to an Element.
 ///
 /// @remarks May throw a ParserException
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* tooFar)
 {
 //    GNASH_REPORT_FUNCTION;
 
     boost::uint8_t *tmpptr = in;
     boost::uint16_t length;
-    boost::shared_ptr<cygnal::Element> el(new Element);
+    std::shared_ptr<cygnal::Element> el(new Element);
 
     if (in == 0) {
         gnash::log_error(_("AMF body input data is NULL"));
@@ -1002,7 +1002,7 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
                     tmpptr++;
                     break;
                 }
-                boost::shared_ptr<cygnal::Element> child =
+                std::shared_ptr<cygnal::Element> child =
                     amf_obj.extractProperty(tmpptr, tooFar); 
                 if (child == 0) {
                     // skip past zero length string (2 bytes), null
@@ -1050,7 +1050,7 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
                     tmpptr++;
                     break;
                 }
-                boost::shared_ptr<cygnal::Element> child =
+                std::shared_ptr<cygnal::Element> child =
                     amf_obj.extractProperty(tmpptr, tooFar); 
                 if (child == 0) {
                     // skip past zero length string (2 bytes),
@@ -1071,7 +1071,7 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
   
             tmpptr += sizeof(boost::uint32_t);
             while (items--) {
-                boost::shared_ptr<cygnal::Element> child =
+                std::shared_ptr<cygnal::Element> child =
                     amf_obj.extractProperty(tmpptr, tooFar); 
                 if (child == 0) {
                     break;
@@ -1095,7 +1095,7 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
             // Skip past the length field to get to the start of the data
             tmpptr += sizeof(boost::uint32_t);
             while (items) {
-                boost::shared_ptr<cygnal::Element> child =
+                std::shared_ptr<cygnal::Element> child =
                     amf_obj.extractAMF(tmpptr, tooFar); 
                 if (child == 0) {
                     break;
@@ -1152,7 +1152,7 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
                     tmpptr++;
                     break;
                 }
-                boost::shared_ptr<cygnal::Element> child =
+                std::shared_ptr<cygnal::Element> child =
                     amf_obj.extractProperty(tmpptr, tooFar); 
                 if (child == 0) {
                     break;
@@ -1187,8 +1187,8 @@ AMF::extractAMF(boost::uint8_t *in, boost::uint8_t* 
tooFar)
 /// @return A smart ptr to an Element.
 ///
 /// @remarks May throw a ParserException
-boost::shared_ptr<cygnal::Element> 
-AMF::extractProperty(boost::shared_ptr<Buffer> buf)
+std::shared_ptr<cygnal::Element>
+AMF::extractProperty(std::shared_ptr<Buffer> buf)
 {
 //    GNASH_REPORT_FUNCTION;
 
@@ -1210,14 +1210,14 @@ AMF::extractProperty(boost::shared_ptr<Buffer> buf)
 /// @return A smart ptr to an Element.
 ///
 /// @remarks May throw a ParserException
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 AMF::extractProperty(boost::uint8_t *in, boost::uint8_t* tooFar)
 {
 //    GNASH_REPORT_FUNCTION;
     
     boost::uint8_t *tmpptr = in;
     boost::uint16_t length;
-    boost::shared_ptr<cygnal::Element> el;
+    std::shared_ptr<cygnal::Element> el;
 
     length = ntohs((*(boost::uint16_t *)tmpptr) & 0xffff);
     // go past the length bytes, which leaves us pointing at the raw data
diff --git a/cygnal/libamf/amf.h b/cygnal/libamf/amf.h
index 6478de3..e222384 100644
--- a/cygnal/libamf/amf.h
+++ b/cygnal/libamf/amf.h
@@ -135,7 +135,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeString(const std::string &str);
+    static std::shared_ptr<Buffer> encodeString(const std::string &str);
     
     /// Encode an array of ASCII bytes to its serialized representation.
     // 
@@ -145,7 +145,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeString(boost::uint8_t *data,
+    static std::shared_ptr<Buffer> encodeString(boost::uint8_t *data,
                                                  size_t size);
 
     /// Encode a String object to its serialized representation.
@@ -154,7 +154,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeNullString();
+    static std::shared_ptr<Buffer> encodeNullString();
 
     /// Encode a Boolean object to its serialized representation.
     //
@@ -162,13 +162,13 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeBoolean(bool flag);
+    static std::shared_ptr<Buffer> encodeBoolean(bool flag);
 
     /// Encode an "Undefined" object to its serialized representation.
     //
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeUndefined();
+    static std::shared_ptr<Buffer> encodeUndefined();
 
     /// Encode a NULL object to its serialized representation.
     //
@@ -176,13 +176,13 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeNull();
+    static std::shared_ptr<Buffer> encodeNull();
 
     /// Encode a "Unsupported" object to its serialized representation.
     //
     /// @return a binary AMF packet in big endian format
     ///
-    static  boost::shared_ptr<Buffer> encodeUnsupported();
+    static  std::shared_ptr<Buffer> encodeUnsupported();
 
     /// Encode an XML object to its serialized representation.
     //
@@ -192,7 +192,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeXMLObject(const boost::uint8_t 
*data,
+    static std::shared_ptr<Buffer> encodeXMLObject(const boost::uint8_t *data,
                                                     size_t nbytes);
 
     /// Encode a Typed Object to its serialized representation.
@@ -203,7 +203,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeTypedObject(const cygnal::Element 
&data);
+    static std::shared_ptr<Buffer> encodeTypedObject(const cygnal::Element 
&data);
 
     /// Encode a Reference to an object to its serialized representation.
     //
@@ -213,7 +213,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format (header,data)
     ///
-    static boost::shared_ptr<Buffer> encodeReference(boost::uint16_t index);
+    static std::shared_ptr<Buffer> encodeReference(boost::uint16_t index);
 
     /// Encode a Movie Clip (swf data) to its serialized representation.
     //
@@ -223,7 +223,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format (header,data)
     ///
-    static boost::shared_ptr<Buffer> encodeMovieClip(const boost::uint8_t 
*data,
+    static std::shared_ptr<Buffer> encodeMovieClip(const boost::uint8_t *data,
                                                     size_t size);
 
     /// Encode an ECMA Array to its serialized representation.
@@ -237,7 +237,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeECMAArray(const cygnal::Element 
&data);
+    static std::shared_ptr<Buffer> encodeECMAArray(const cygnal::Element 
&data);
 
     /// Encode a Long String to its serialized representation.
     //
@@ -247,7 +247,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeLongString(const boost::uint8_t 
*data,
+    static std::shared_ptr<Buffer> encodeLongString(const boost::uint8_t *data,
                                                      size_t size);
 
     /// Encode a Record Set to its serialized representation.
@@ -258,7 +258,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeRecordSet(const boost::uint8_t 
*data,
+    static std::shared_ptr<Buffer> encodeRecordSet(const boost::uint8_t *data,
                                                     size_t size);
 
     /// Encode a Date to its serialized representation.
@@ -267,7 +267,7 @@ public:
     /// 
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeDate(const boost::uint8_t *data);
+    static std::shared_ptr<Buffer> encodeDate(const boost::uint8_t *data);
 
     /// Encode a Strict Array to its serialized representation.
     //
@@ -280,7 +280,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format (header,data)
     ///
-    static boost::shared_ptr<Buffer> encodeStrictArray(const cygnal::Element 
&data);
+    static std::shared_ptr<Buffer> encodeStrictArray(const cygnal::Element 
&data);
     
     /// Encode an object to its serialized representation.
     //
@@ -288,13 +288,13 @@ public:
     /// 
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeObject(const cygnal::Element &data);
+    static std::shared_ptr<Buffer> encodeObject(const cygnal::Element &data);
 
     /// Encode the end of an object to its serialized representation.
     //
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeObjectEnd();
+    static std::shared_ptr<Buffer> encodeObjectEnd();
 
     /// Encode a 64 bit number to its serialized representation.
     //
@@ -302,7 +302,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeNumber(double num);
+    static std::shared_ptr<Buffer> encodeNumber(double num);
 
     /// Encode an Element to its serialized representation.
     //
@@ -310,7 +310,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> 
encodeElement(boost::shared_ptr<cygnal::Element> el);
+    static std::shared_ptr<Buffer> 
encodeElement(std::shared_ptr<cygnal::Element> el);
 
     /// Encode an Element to its serialized representation.
     //
@@ -318,7 +318,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    static boost::shared_ptr<Buffer> encodeElement(const cygnal::Element& el);
+    static std::shared_ptr<Buffer> encodeElement(const cygnal::Element& el);
 
     /// Encode a variable to its serialized representation.
     //
@@ -326,7 +326,7 @@ public:
     ///
     /// @return a binary AMF packet in big endian format
     ///
-    boost::shared_ptr<Buffer> 
encodeProperty(boost::shared_ptr<cygnal::Element> el);
+    std::shared_ptr<Buffer> encodeProperty(std::shared_ptr<cygnal::Element> 
el);
 
     /// @} end of encoding methods 
 
@@ -358,7 +358,7 @@ public:
     ///
     /// @remarks May throw a ParserException
     ///
-    boost::shared_ptr<cygnal::Element> extractAMF(boost::uint8_t *in, 
boost::uint8_t* tooFar);
+    std::shared_ptr<cygnal::Element> extractAMF(boost::uint8_t *in, 
boost::uint8_t* tooFar);
 
     /// Extract an AMF object from an array of raw bytes.
     //
@@ -368,7 +368,7 @@ public:
     ///
     /// @remarks May throw a ParserException
     ///
-    boost::shared_ptr<cygnal::Element> extractAMF(boost::shared_ptr<Buffer> 
buf);
+    std::shared_ptr<cygnal::Element> extractAMF(std::shared_ptr<Buffer> buf);
     
     /// Extract a Property.
     //
@@ -385,7 +385,7 @@ public:
     ///
     /// @remarks May throw a ParserException
     ///
-    boost::shared_ptr<cygnal::Element> extractProperty(boost::uint8_t *in, 
boost::uint8_t* tooFar);
+    std::shared_ptr<cygnal::Element> extractProperty(boost::uint8_t *in, 
boost::uint8_t* tooFar);
 
     /// Extract a Property.
     //
@@ -399,7 +399,7 @@ public:
     ///
     /// @remarks May throw a ParserException
     ///
-    boost::shared_ptr<cygnal::Element> 
extractProperty(boost::shared_ptr<Buffer> buf);
+    std::shared_ptr<cygnal::Element> extractProperty(std::shared_ptr<Buffer> 
buf);
 
     /// @} end of decoding methods 
 
diff --git a/cygnal/libamf/amf_msg.cpp b/cygnal/libamf/amf_msg.cpp
index f18c4ff..217542e 100644
--- a/cygnal/libamf/amf_msg.cpp
+++ b/cygnal/libamf/amf_msg.cpp
@@ -40,13 +40,13 @@ using std::endl;
 namespace cygnal
 {
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeContextHeader(boost::uint16_t version, boost::uint16_t headers,
                             boost::uint16_t messages)
 {
 //    GNASH_REPORT_FUNCTION;
     size_t size = sizeof(AMF_msg::context_header_t);
-    boost::shared_ptr<cygnal::Buffer> buf (new cygnal::Buffer(size));
+    std::shared_ptr<cygnal::Buffer> buf (new cygnal::Buffer(size));
 
     // use a short as a temporary, as it turns out htons() returns a 32bit int
     // instead when compiling with -O2. This forces appending bytes to get the
@@ -61,7 +61,7 @@ AMF_msg::encodeContextHeader(boost::uint16_t version, 
boost::uint16_t headers,
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeContextHeader(AMF_msg::context_header_t *head)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -72,14 +72,14 @@ AMF_msg::encodeContextHeader(AMF_msg::context_header_t 
*head)
 //  00 06 67 65 74 77 61 79                <- getway, message #1
 //  00 04 2f 32 32 39                      <- /229, operation name
 //  00 00 00 0e                                   <- byte length of message
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeMsgHeader(AMF_msg::message_header_t *head)
 {
 //    GNASH_REPORT_FUNCTION;
     // The size of the buffer are the two strings, their lenght fields, and 
the integer.
 //     size_t size = head->target.size() + head->response.size() + 
sizeof(boost::uint32_t)
 //         + (sizeof(boost::uint16_t) * 2);
-    boost::shared_ptr<cygnal::Buffer> buf (new 
cygnal::Buffer(sizeof(AMF_msg::message_header_t)));
+    std::shared_ptr<cygnal::Buffer> buf (new 
cygnal::Buffer(sizeof(AMF_msg::message_header_t)));
 
     // Encode the target URI, which usually looks something like ."getway"
     boost::uint16_t length = head->target.size();    
@@ -98,18 +98,18 @@ AMF_msg::encodeMsgHeader(AMF_msg::message_header_t *head)
 }
 
 // These methods parse the raw data of the AMF packet
-boost::shared_ptr<AMF_msg::context_header_t>
+std::shared_ptr<AMF_msg::context_header_t>
 AMF_msg::parseContextHeader(cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return parseContextHeader(data.reference(), data.size());
 }
 
-boost::shared_ptr<AMF_msg::context_header_t>
+std::shared_ptr<AMF_msg::context_header_t>
 AMF_msg::parseContextHeader(boost::uint8_t *data, size_t /* size */)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<AMF_msg::context_header_t> msg (new 
AMF_msg::context_header_t);
+    std::shared_ptr<AMF_msg::context_header_t> msg (new 
AMF_msg::context_header_t);
 
     boost::uint16_t tmpnum = *reinterpret_cast<boost::uint16_t *>(data);
     msg->version  = tmpnum;
@@ -121,20 +121,20 @@ AMF_msg::parseContextHeader(boost::uint8_t *data, size_t 
/* size */)
     return msg;
 }
 
-boost::shared_ptr<AMF_msg::message_header_t>
+std::shared_ptr<AMF_msg::message_header_t>
 AMF_msg::parseMessageHeader(cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return parseMessageHeader(data.reference(), data.size());
 }
 
-boost::shared_ptr<AMF_msg::message_header_t>
+std::shared_ptr<AMF_msg::message_header_t>
 AMF_msg::parseMessageHeader(boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
     AMF amf;
     boost::uint8_t *tmpptr = data;
-    boost::shared_ptr<AMF_msg::message_header_t> msg (new 
AMF_msg::message_header_t);
+    std::shared_ptr<AMF_msg::message_header_t> msg (new 
AMF_msg::message_header_t);
 
     // The target is a standard length->bytes field
     boost::uint16_t length = ntohs((*(boost::uint16_t *)tmpptr) & 0xffff);
@@ -190,20 +190,20 @@ AMF_msg::parseMessageHeader(boost::uint8_t *data, size_t 
size)
     return msg;
 }
 
-boost::shared_ptr<AMF_msg::context_header_t>
+std::shared_ptr<AMF_msg::context_header_t>
 AMF_msg::parseAMFPacket(cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return parseAMFPacket(data.reference(), data.size());
 }
 
-boost::shared_ptr<AMF_msg::context_header_t>
+std::shared_ptr<AMF_msg::context_header_t>
 AMF_msg::parseAMFPacket(boost::uint8_t *data, size_t size)
 {
     GNASH_REPORT_FUNCTION;
 //    _messages.push_back();
     boost::uint8_t *ptr = data + sizeof(AMF_msg::context_header_t);
-    boost::shared_ptr<context_header_t> header = 
AMF_msg::parseContextHeader(data, size);
+    std::shared_ptr<context_header_t> header = 
AMF_msg::parseContextHeader(data, size);
 
 //     log_debug("%s: %s", __PRETTY_FUNCTION__, hexify(data, size, true));
     
@@ -211,13 +211,13 @@ AMF_msg::parseAMFPacket(boost::uint8_t *data, size_t size)
     /// Read all the messages from the AMF packet
     try {
         for (int i=0; i<header->messages; i++) {
-            boost::shared_ptr<AMF_msg::amf_message_t> msgpkt(new 
AMF_msg::amf_message_t);
-            boost::shared_ptr<AMF_msg::message_header_t> msghead = 
AMF_msg::parseMessageHeader(ptr, size);
+            std::shared_ptr<AMF_msg::amf_message_t> msgpkt(new 
AMF_msg::amf_message_t);
+            std::shared_ptr<AMF_msg::message_header_t> msghead = 
AMF_msg::parseMessageHeader(ptr, size);
             if (msghead) {
                 ptr += msghead->target.size() + msghead->response.size()
                     + (sizeof(boost::uint16_t) * 2)
                     + (sizeof(boost::uint32_t));
-                boost::shared_ptr<cygnal::Element> el = amf.extractAMF(ptr, 
ptr+size);
+                std::shared_ptr<cygnal::Element> el = amf.extractAMF(ptr, 
ptr+size);
                 msgpkt->header.target = msghead->target;
                 msgpkt->header.response = msghead->response;
                 msgpkt->header.size = msghead->size;
@@ -234,7 +234,7 @@ AMF_msg::parseAMFPacket(boost::uint8_t *data, size_t size)
     return header;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeAMFPacket(const std::string & /* target */,
                          const std::string & /*response */, size_t /* size */)
 {
@@ -243,29 +243,29 @@ AMF_msg::encodeAMFPacket(const std::string & /* target */,
     return encodeAMFPacket();
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeAMFPacket()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
 
     // Encode the packet header
-    boost::shared_ptr<cygnal::Buffer> buf1 = encodeContextHeader(0, 0, 
_messages.size());
+    std::shared_ptr<cygnal::Buffer> buf1 = encodeContextHeader(0, 0, 
_messages.size());
     *buf = buf1;
 
     // Now encode all the messages
 
-    std::vector<boost::shared_ptr<AMF_msg::amf_message_t> >::iterator it;
+    std::vector<std::shared_ptr<AMF_msg::amf_message_t> >::iterator it;
     for (it = _messages.begin(); it != _messages.end(); ++it) {
-        boost::shared_ptr<AMF_msg::amf_message_t> msg = (*(it));
+        std::shared_ptr<AMF_msg::amf_message_t> msg = (*(it));
 
-        boost::shared_ptr<cygnal::Buffer> buf2 = 
encodeMsgHeader(msg->header.target,
+        std::shared_ptr<cygnal::Buffer> buf2 = 
encodeMsgHeader(msg->header.target,
                                                             
msg->header.response,
                                                             msg->header.size);
 
 //     AMF_msg::dump(msg->header);
 //     msg->data->dump();
-        boost::shared_ptr<cygnal::Buffer> buf3 = msg->data->encode();
+        std::shared_ptr<cygnal::Buffer> buf3 = msg->data->encode();
        *buf += buf2;
        *buf += buf3;
     }
@@ -273,7 +273,7 @@ AMF_msg::encodeAMFPacket()
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 AMF_msg::encodeMsgHeader(const std::string &target,
                          const std::string &response, size_t size)
 {
@@ -282,7 +282,7 @@ AMF_msg::encodeMsgHeader(const std::string &target,
     total += response.size() + sizeof(boost::uint16_t);
     total += sizeof(boost::uint32_t);
     
-    boost::shared_ptr<cygnal::Buffer> buf (new cygnal::Buffer(total));
+    std::shared_ptr<cygnal::Buffer> buf (new cygnal::Buffer(total));
     boost::uint16_t length = target.size();
     swapBytes(&length, sizeof(boost::uint16_t));
     *buf += length;
@@ -322,9 +322,9 @@ AMF_msg::dump()
 {
 //    GNASH_REPORT_FUNCTION;
     cout << "AMF Packet has " << _messages.size() << " messages." << endl;
-    std::vector<boost::shared_ptr<AMF_msg::amf_message_t> >::iterator it;
+    std::vector<std::shared_ptr<AMF_msg::amf_message_t> >::iterator it;
     for (it = _messages.begin(); it != _messages.end(); ++it) {
-        boost::shared_ptr<AMF_msg::amf_message_t> msg = (*(it));
+        std::shared_ptr<AMF_msg::amf_message_t> msg = (*(it));
         AMF_msg::dump(msg->header);
         msg->data->dump();
     }
diff --git a/cygnal/libamf/amf_msg.h b/cygnal/libamf/amf_msg.h
index a8da5c0..0be1e30 100644
--- a/cygnal/libamf/amf_msg.h
+++ b/cygnal/libamf/amf_msg.h
@@ -69,41 +69,41 @@ class DSOEXPORT AMF_msg {
     } message_header_t;
     typedef struct {
         message_header_t header;
-        boost::shared_ptr<cygnal::Element> data;
+        std::shared_ptr<cygnal::Element> data;
     } amf_message_t;
 
-    size_t addMessage(boost::shared_ptr<amf_message_t> msg)
+    size_t addMessage(std::shared_ptr<amf_message_t> msg)
     {
         _messages.push_back(msg); return _messages.size();
     };
-    boost::shared_ptr<amf_message_t> &getMessage(int x) { return _messages[x]; 
};
+    std::shared_ptr<amf_message_t> &getMessage(int x) { return _messages[x]; };
     size_t messageCount() { return _messages.size(); };
     
     // These methods create the raw data of the AMF packet from Elements
-    static boost::shared_ptr<cygnal::Buffer> 
encodeContextHeader(context_header_t *head);
-    static boost::shared_ptr<cygnal::Buffer> 
encodeContextHeader(boost::uint16_t version,
+    static std::shared_ptr<cygnal::Buffer> 
encodeContextHeader(context_header_t *head);
+    static std::shared_ptr<cygnal::Buffer> encodeContextHeader(boost::uint16_t 
version,
                                                              boost::uint16_t 
headers,
                                                              boost::uint16_t 
messages);
 
-    static boost::shared_ptr<cygnal::Buffer> encodeMsgHeader(message_header_t 
*head);
-    static boost::shared_ptr<cygnal::Buffer> encodeMsgHeader(const std::string 
&target,
+    static std::shared_ptr<cygnal::Buffer> encodeMsgHeader(message_header_t 
*head);
+    static std::shared_ptr<cygnal::Buffer> encodeMsgHeader(const std::string 
&target,
                                           const std::string &response, size_t 
size);
     
     // These methods parse the raw data of the AMF packet into data structures
-    static boost::shared_ptr<context_header_t> 
parseContextHeader(cygnal::Buffer &data);
-    static boost::shared_ptr<context_header_t> 
parseContextHeader(boost::uint8_t *data, size_t size);
+    static std::shared_ptr<context_header_t> parseContextHeader(cygnal::Buffer 
&data);
+    static std::shared_ptr<context_header_t> parseContextHeader(boost::uint8_t 
*data, size_t size);
     
-    static boost::shared_ptr<message_header_t> 
parseMessageHeader(cygnal::Buffer &data);
-    static boost::shared_ptr<message_header_t> 
parseMessageHeader(boost::uint8_t *data, size_t size);
+    static std::shared_ptr<message_header_t> parseMessageHeader(cygnal::Buffer 
&data);
+    static std::shared_ptr<message_header_t> parseMessageHeader(boost::uint8_t 
*data, size_t size);
 
     // These methods parse the entire packet. which consists of multiple 
messages
-    boost::shared_ptr<context_header_t> parseAMFPacket(cygnal::Buffer &buf);
-    boost::shared_ptr<context_header_t> parseAMFPacket(boost::uint8_t *data,
+    std::shared_ptr<context_header_t> parseAMFPacket(cygnal::Buffer &buf);
+    std::shared_ptr<context_header_t> parseAMFPacket(boost::uint8_t *data,
                                                       size_t size);
 
     // This methods create an entire packet from multiple messages, already 
parsed in
-    boost::shared_ptr<cygnal::Buffer> encodeAMFPacket();
-    boost::shared_ptr<cygnal::Buffer> encodeAMFPacket(const std::string 
&target,
+    std::shared_ptr<cygnal::Buffer> encodeAMFPacket();
+    std::shared_ptr<cygnal::Buffer> encodeAMFPacket(const std::string &target,
                                     const std::string &response, size_t size);
     
     static void dump(context_header_t &data);
@@ -111,7 +111,7 @@ class DSOEXPORT AMF_msg {
     void dump();
     
 private:
-    std::vector<boost::shared_ptr<amf_message_t> > _messages;
+    std::vector<std::shared_ptr<amf_message_t> > _messages;
 //     context_header_t    _context_header;
 };
 
diff --git a/cygnal/libamf/buffer.cpp b/cygnal/libamf/buffer.cpp
index 3d8b171..a06c57b 100644
--- a/cygnal/libamf/buffer.cpp
+++ b/cygnal/libamf/buffer.cpp
@@ -384,7 +384,7 @@ Buffer::operator+=(boost::uint32_t length)
 /// 
 /// @return A reference to a Buffer.
 Buffer &
-Buffer::operator+=(boost::shared_ptr<Buffer> buf)
+Buffer::operator+=(std::shared_ptr<Buffer> buf)
 {
 //    GNASH_REPORT_FUNCTION;
     append(buf->reference(), buf->allocated());
@@ -524,7 +524,7 @@ Buffer::operator=(boost::uint8_t *data)
 /// 
 /// @return A reference to a Buffer.
 Buffer &
-Buffer::operator=(boost::shared_ptr<Buffer> buf)
+Buffer::operator=(std::shared_ptr<Buffer> buf)
 {
 //    GNASH_REPORT_FUNCTION;
     copy(buf->reference(), buf->size());
diff --git a/cygnal/libamf/buffer.h b/cygnal/libamf/buffer.h
index 4a608f6..e3f1ba5 100644
--- a/cygnal/libamf/buffer.h
+++ b/cygnal/libamf/buffer.h
@@ -156,7 +156,7 @@ public:
     /// 
     /// @return A reference to a Buffer.
     Buffer &operator=(Buffer &buf);
-    Buffer &operator=(boost::shared_ptr<Buffer> buf);
+    Buffer &operator=(std::shared_ptr<Buffer> buf);
     /// \brief Copy a string into the buffer.
     ///                This overwrites all data, and resets the seek ptr.
     ///
@@ -225,7 +225,7 @@ public:
     /// 
     /// @return A reference to a Buffer.
     Buffer &operator+=(Buffer &buf);
-    Buffer &operator+=(boost::shared_ptr<Buffer> buf);
+    Buffer &operator+=(std::shared_ptr<Buffer> buf);
 
     /// \brief Append a string to existing data in the buffer.
     ///
diff --git a/cygnal/libamf/element.cpp b/cygnal/libamf/element.cpp
index f87d452..300f06a 100644
--- a/cygnal/libamf/element.cpp
+++ b/cygnal/libamf/element.cpp
@@ -431,7 +431,7 @@ Element::calculateSize(cygnal::Element &el) const
     // More complex messages have child elements, either properties or
     // the items in an array, If we have children, count up their size too.
     // Calculate the total size of the message
-    std::vector<boost::shared_ptr<cygnal::Element> > props = 
el.getProperties();
+    std::vector<std::shared_ptr<cygnal::Element> > props = el.getProperties();
     for (size_t i=0; i<props.size(); i++) {
        outsize += props[i]->getDataSize();
        if (props[i]->getNameSize()) {
@@ -450,7 +450,7 @@ Element::calculateSize(cygnal::Element &el) const
 ///    properties into raw binary data in big endoan format.
 ///
 /// @return a smart pointer to a Buffer class.
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 Element::encode()
 {
 //    GNASH_REPORT_FUNCTION;
@@ -458,12 +458,12 @@ Element::encode()
     return encode(false);
 }
 
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 Element::encode(bool notobject)
 {
 //    GNASH_REPORT_FUNCTION;
     size_t size = 0;
-    boost::shared_ptr<Buffer> buf;
+    std::shared_ptr<Buffer> buf;
 
     if (_type == Element::OBJECT_AMF0) {
        // Calculate the total size of the output buffer
@@ -493,7 +493,7 @@ Element::encode(bool notobject)
        }
 
        for (size_t i=0; i<_properties.size(); i++) {
-           boost::shared_ptr<Buffer> partial = 
AMF::encodeElement(_properties[i]);
+           std::shared_ptr<Buffer> partial = 
AMF::encodeElement(_properties[i]);
 //         log_debug("Encoded partial size for is %d", partial->size());
 //         _properties[i]->dump();
 //         partial->dump();
@@ -525,7 +525,7 @@ Element::encode(bool notobject)
 ///            the array to get.
 ///
 /// @return A smart pointer to the Element or property.
-boost::shared_ptr<Element>
+std::shared_ptr<Element>
 Element::operator[](size_t index)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -533,7 +533,7 @@ Element::operator[](size_t index)
        return _properties[index];
     }
     
-    boost::shared_ptr<Element> el; 
+    std::shared_ptr<Element> el;
     return el;
 }
 
@@ -711,7 +711,7 @@ Element::makeString(const string &name, const string &str)
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeNumber(boost::shared_ptr<cygnal::Buffer> buf)
+Element::makeNumber(std::shared_ptr<cygnal::Buffer> buf)
 {
 //    GNASH_REPORT_FUNCTION;
     return makeNumber(buf->reference());
@@ -947,7 +947,7 @@ Element::makeObject(const std::string &name)
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeObject(const std::string &name, 
std::vector<boost::shared_ptr<Element> > &data)
+Element::makeObject(const std::string &name, 
std::vector<std::shared_ptr<Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     _type = OBJECT_AMF0;
@@ -963,13 +963,13 @@ Element::makeObject(const std::string &name, 
std::vector<boost::shared_ptr<Eleme
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeObject(std::vector<boost::shared_ptr<Element> > &data)
+Element::makeObject(std::vector<std::shared_ptr<Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     _type = Element::OBJECT_AMF0;
-    std::vector<boost::shared_ptr<Element> >::const_iterator ait;
+    std::vector<std::shared_ptr<Element> >::const_iterator ait;
     for (ait = data.begin(); ait != data.end(); ++ait) {
-       boost::shared_ptr<Element> el = (*(ait));
+       std::shared_ptr<Element> el = (*(ait));
        addProperty(el);
 //     el->dump(os);
     }
@@ -1189,7 +1189,7 @@ Element::makeECMAArray(const std::string &name)
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeECMAArray(const std::string &name, 
std::vector<boost::shared_ptr<cygnal::Element> > &data)
+Element::makeECMAArray(const std::string &name, 
std::vector<std::shared_ptr<cygnal::Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     _type = Element::ECMA_ARRAY_AMF0;
@@ -1206,7 +1206,7 @@ Element::makeECMAArray(const std::string &name, 
std::vector<boost::shared_ptr<cy
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeECMAArray(std::vector<boost::shared_ptr<cygnal::Element> > &data)
+Element::makeECMAArray(std::vector<std::shared_ptr<cygnal::Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     makeObject(data);
@@ -1252,7 +1252,7 @@ Element::makeStrictArray(const std::string &name)
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeStrictArray(const std::string &name, 
std::vector<boost::shared_ptr<cygnal::Element> > &data)
+Element::makeStrictArray(const std::string &name, 
std::vector<std::shared_ptr<cygnal::Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     makeObject(name, data);
@@ -1268,7 +1268,7 @@ Element::makeStrictArray(const std::string &name, 
std::vector<boost::shared_ptr<
 ///
 /// @return A reference to this Element.
 Element &
-Element::makeStrictArray(std::vector<boost::shared_ptr<cygnal::Element> > 
&data)
+Element::makeStrictArray(std::vector<std::shared_ptr<cygnal::Element> > &data)
 {
 //    GNASH_REPORT_FUNCTION;
     makeObject(data);
@@ -1554,10 +1554,10 @@ Element::dump(std::ostream& os) const
     }
 
     if (_properties.size() > 0) {
-       std::vector<boost::shared_ptr<Element> >::const_iterator ait;
+       std::vector<std::shared_ptr<Element> >::const_iterator ait;
        os << "# of Properties in object: " << _properties.size() << std::endl;
        for (ait = _properties.begin(); ait != _properties.end(); ++ait) {
-           const boost::shared_ptr<Element> el = (*(ait));
+           const std::shared_ptr<Element> el = (*(ait));
            el->dump(os);
        }
     }
@@ -1569,21 +1569,21 @@ Element::dump(std::ostream& os) const
 ///    search for.
 ///
 /// @return A smart pointer to the Element for this property.
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 Element::findProperty(const std::string &name)
 {
     if (_properties.size() > 0) {
-       std::vector<boost::shared_ptr<Element> >::iterator ait;
+       std::vector<std::shared_ptr<Element> >::iterator ait;
 //     cerr << "# of Properties in object: " << _properties.size() << endl;
        for (ait = _properties.begin(); ait != _properties.end(); ++ait) {
-           boost::shared_ptr<Element> el = (*(ait));
+           std::shared_ptr<Element> el = (*(ait));
            if (el->getName() == name) {
                return el;
            }
 //         el->dump();
        }
     }
-    boost::shared_ptr<Element> el;
+    std::shared_ptr<Element> el;
     return el;
 }
 
diff --git a/cygnal/libamf/element.h b/cygnal/libamf/element.h
index 22f9502..cdf0db8 100644
--- a/cygnal/libamf/element.h
+++ b/cygnal/libamf/element.h
@@ -182,7 +182,7 @@ public:
     ///
     /// @return A reference to this Element.
     Element &operator=(Element &el);
-//    Element &operator=(boost::shared_ptr<Element>);
+//    Element &operator=(std::shared_ptr<Element>);
 
     /// \brief Make this Element be the same as a double.
     ///                This sets both the data type and the value.
@@ -254,7 +254,7 @@ public:
     /// @param buf A smart pointer to a Buffer class.
     ///
     /// @return A reference to this Element.
-    Element &makeNumber(boost::shared_ptr<cygnal::Buffer> buf); 
+    Element &makeNumber(std::shared_ptr<cygnal::Buffer> buf);
 
     /// \brief Make this Element with a double value.
     ///                The size isn't needed as a double is always the same 
size.
@@ -350,7 +350,7 @@ public:
     /// @param data A smart pointer to an Element to use as the value.
     ///
     /// @return A reference to this Element.
-    Element &makeObject(std::vector<boost::shared_ptr<cygnal::Element> > 
&data);
+    Element &makeObject(std::vector<std::shared_ptr<cygnal::Element> > &data);
     
     /// \brief Make this Element a Property with an Object as the value.
     ///
@@ -359,7 +359,7 @@ public:
     /// @param data A smart pointer to an Element to use as the value.
     ///
     /// @return A reference to this Element.
-    Element &makeObject(const std::string &name, 
std::vector<boost::shared_ptr<cygnal::Element> > &data);
+    Element &makeObject(const std::string &name, 
std::vector<std::shared_ptr<cygnal::Element> > &data);
     
     /// \brief Make this Element as an XML Object data type.
     ///                This is like a string object, but the type is different.
@@ -407,7 +407,7 @@ public:
     /// @param data A smart pointer to a vector of Elements to use as the 
vaule.
     ///
     /// @return A reference to this Element.
-    Element &makeECMAArray(std::vector<boost::shared_ptr<cygnal::Element> > 
&data);
+    Element &makeECMAArray(std::vector<std::shared_ptr<cygnal::Element> > 
&data);
 
     /// \brief Make this Element a Property with an ECMA Array as the value.
     ///
@@ -416,7 +416,7 @@ public:
     /// @param data A smart pointer to a vector of Elements to use as the 
vaule.
     ///
     /// @return A reference to this Element.
-    Element &makeECMAArray(const std::string &name, 
std::vector<boost::shared_ptr<cygnal::Element> > &data);
+    Element &makeECMAArray(const std::string &name, 
std::vector<std::shared_ptr<cygnal::Element> > &data);
 
     /// \brief Make this Element a Property with an Strict Array as the value.
     ///                This is an array of a single AMF type. These are stored
@@ -441,7 +441,7 @@ public:
     /// @param data A smart pointer to a vector of Elements to use as the 
vaule.
     ///
     /// @return A reference to this Element.
-    Element &makeStrictArray(std::vector<boost::shared_ptr<cygnal::Element> > 
&data);
+    Element &makeStrictArray(std::vector<std::shared_ptr<cygnal::Element> > 
&data);
 
     /// \brief Make this Element a Property with an Strict Array as the value.
     ///
@@ -450,7 +450,7 @@ public:
     /// @param data A smart pointer to a vector of Elements to use as the 
vaule.
     ///
     /// @return A reference to this Element.
-    Element &makeStrictArray(const std::string &name, 
std::vector<boost::shared_ptr<cygnal::Element> > &data);
+    Element &makeStrictArray(const std::string &name, 
std::vector<std::shared_ptr<cygnal::Element> > &data);
 
     /// \brief Make this Element a Property with an Typed Object as the value.
     ///
@@ -573,7 +573,7 @@ public:
     /// @param buf A smart pointer to an Element.
     ///
     /// @return A boolean true if the Elements are indentical.
-    bool operator==(boost::shared_ptr<cygnal::Element> );
+    bool operator==(std::shared_ptr<cygnal::Element> );
     
     /// \brief Test equivalance against a boolean value
     ///                This compares all the data and the data type in the
@@ -592,7 +592,7 @@ public:
     ///                the array to get.
     ///
     /// @return A smart pointer to the Element or property.
-    boost::shared_ptr<cygnal::Element> operator[](size_t index);
+    std::shared_ptr<cygnal::Element> operator[](size_t index);
 
     /// \brief Get the size in bytes of the Element's data.
     ///                All data in an Element is stored in a Buffer class.
@@ -688,21 +688,21 @@ public:
     ///                search for.
     ///
     /// @return A smart pointer to the Element for this property.
-    boost::shared_ptr<Element> findProperty(const std::string &name);
+    std::shared_ptr<Element> findProperty(const std::string &name);
 
     /// \brief Find the property at this index for this Object.
     ///
     /// @param index The index of the property in the array of data.
     ///
     /// @return A smart pointer to the Element for this property.
-    boost::shared_ptr<Element> getProperty(size_t index) const { return 
_properties[index]; };
+    std::shared_ptr<Element> getProperty(size_t index) const { return 
_properties[index]; };
 
     /// \brief Add a Property to the array of properties for this object.
     ///
     /// @param el A smart pointer to the Element for this Property.
     ///
     /// @return nothing.
-    void addProperty(boost::shared_ptr<Element> el) { 
_properties.push_back(el); };
+    void addProperty(std::shared_ptr<Element> el) { _properties.push_back(el); 
};
 
     void clearProperties() { return _properties.clear(); };
 
@@ -712,7 +712,7 @@ public:
     ///
     /// @remarks This does not remove the Element from array of
     ///                properties.
-    boost::shared_ptr<Element> popProperty()
+    std::shared_ptr<Element> popProperty()
                        { return _properties.front(); };
 
     /// \brief Get the count of properties for this Element.
@@ -730,8 +730,8 @@ public:
     ///                formatting onStatus response packets.
     ///
     /// @return a smart pointer to a Buffer class.
-    boost::shared_ptr<Buffer> encode();
-    boost::shared_ptr<Buffer> encode(bool notobject);
+    std::shared_ptr<Buffer> encode();
+    std::shared_ptr<Buffer> encode(bool notobject);
 
     /// \brief Get the array of properties for this Element.
     ///
@@ -739,7 +739,7 @@ public:
     ///
     /// @remarks This is only intended to be used for testing and
     ///                debugging purposes.
-    std::vector<boost::shared_ptr<Element> > getProperties() const
+    std::vector<std::shared_ptr<Element> > getProperties() const
                        { return _properties; };
 
     size_t calculateSize();
@@ -770,7 +770,7 @@ private:
     /// \var _buffer
     ///                A smart pointer to the Buffer used to hold the data
     ///                for this Element.
-    boost::shared_ptr<cygnal::Buffer> _buffer;
+    std::shared_ptr<cygnal::Buffer> _buffer;
 
     /// \var _type
     ///                The AMF0 data type of this Element.
@@ -779,7 +779,7 @@ private:
     /// \var _properties
     ///                The vector of properties stored for this Element if
     ///                it's a top level object.
-    std::vector<boost::shared_ptr<Element> > _properties;
+    std::vector<std::shared_ptr<Element> > _properties;
 };                              // end of class definition
 
 
diff --git a/cygnal/libamf/flv.cpp b/cygnal/libamf/flv.cpp
index 0f8a206..101003e 100644
--- a/cygnal/libamf/flv.cpp
+++ b/cygnal/libamf/flv.cpp
@@ -61,11 +61,11 @@ Flv::~Flv()
 }
 
 // Encode the data into a Buffer
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 Flv::encodeHeader(boost::uint8_t type)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf(new 
Buffer(sizeof(Flv::flv_header_t)));
+    std::shared_ptr<cygnal::Buffer> buf(new Buffer(sizeof(Flv::flv_header_t)));
     buf->clear();
     
     boost::uint8_t version = 0x1;
@@ -81,11 +81,11 @@ Flv::encodeHeader(boost::uint8_t type)
 }
 
 // Decode a Buffer into a header
-boost::shared_ptr<Flv::flv_header_t>
+std::shared_ptr<Flv::flv_header_t>
 Flv::decodeHeader(boost::uint8_t *data)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<flv_header_t> header(new flv_header_t);
+    std::shared_ptr<flv_header_t> header(new flv_header_t);
     memcpy(header.get(), data, sizeof(flv_header_t));
 //    std::copy(buf->begin(), buf->begin() + sizeof(flv_header_t), 
header.get());
 
@@ -128,13 +128,13 @@ Flv::decodeHeader(boost::uint8_t *data)
 }
 
 // Decode a MetaData object, which is after the header, but before all the tags
-boost::shared_ptr<cygnal::Element> 
-Flv::decodeMetaData(boost::shared_ptr<cygnal::Buffer> buf)
+std::shared_ptr<cygnal::Element>
+Flv::decodeMetaData(std::shared_ptr<cygnal::Buffer> buf)
 {
     return decodeMetaData(buf->reference(), buf->size());
 }
 
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 Flv::decodeMetaData(boost::uint8_t *buf, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -170,11 +170,11 @@ Flv::decodeMetaData(boost::uint8_t *buf, size_t size)
     return _metadata;
 }
 
-boost::shared_ptr<Flv::flv_audio_t>
+std::shared_ptr<Flv::flv_audio_t>
 Flv::decodeAudioData(boost::uint8_t byte)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<flv_audio_t> audio(new flv_audio_t);
+    std::shared_ptr<flv_audio_t> audio(new flv_audio_t);
 //    memset(audio->reference(), 0, sizeof(flv_audio_t));
 
     // Get the sound type
@@ -229,11 +229,11 @@ Flv::decodeAudioData(boost::uint8_t byte)
     return audio;
 }
 
-boost::shared_ptr<Flv::flv_video_t>
+std::shared_ptr<Flv::flv_video_t>
 Flv::decodeVideoData(boost::uint8_t byte)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<flv_video_t> video(new flv_video_t);
+    std::shared_ptr<flv_video_t> video(new flv_video_t);
 //    memset(video, 0, sizeof(flv_video_t));
 
     // Get the codecID codecID
@@ -288,12 +288,12 @@ Flv::convert24(boost::uint8_t *num)
 }
 
 // Decode the tag header
-boost::shared_ptr<Flv::flv_tag_t>
+std::shared_ptr<Flv::flv_tag_t>
 Flv::decodeTagHeader(boost::uint8_t *buf)
 {
 //    GNASH_REPORT_FUNCTION;
     flv_tag_t *data = reinterpret_cast<flv_tag_t *>(buf);
-    boost::shared_ptr<flv_tag_t> tag(new flv_tag_t);
+    std::shared_ptr<flv_tag_t> tag(new flv_tag_t);
     memcpy(tag.get(), data, sizeof(flv_tag_t));
 
 //    std::copy(buf->begin(), buf->end(), tag);
@@ -306,21 +306,21 @@ Flv::decodeTagHeader(boost::uint8_t *buf)
     return tag;
 }
 
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 Flv::findProperty(const std::string &name)
 {
     if (_properties.size() > 0) {
-       std::vector<boost::shared_ptr<cygnal::Element> >::iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> >::iterator ait;
 //     cerr << "# of Properties in object: " << _properties.size() << endl;
        for (ait = _properties.begin(); ait != _properties.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Element> el = (*(ait));
            if (el->getName() == name) {
                return el;
            }
 //         el->dump();
        }
     }
-    boost::shared_ptr<cygnal::Element> el;
+    std::shared_ptr<cygnal::Element> el;
     return el;
 }
 
@@ -329,11 +329,11 @@ Flv::dump()
 {
 //    GNASH_REPORT_FUNCTION;
     if (_properties.size() > 0) {
-       std::vector<boost::shared_ptr<cygnal::Element> >::iterator ait;
+       std::vector<std::shared_ptr<cygnal::Element> >::iterator ait;
        std::cerr << "# of Properties in object: " << _properties.size()
                  << std::endl;
        for (ait = _properties.begin(); ait != _properties.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Element> el = (*(ait));
             // an onMetaData packet of an FLV stream only contains number or
             // boolean bydefault
             if (el->getType() == Element::NUMBER_AMF0) {
diff --git a/cygnal/libamf/flv.h b/cygnal/libamf/flv.h
index 01d9b8d..18c817f 100644
--- a/cygnal/libamf/flv.h
+++ b/cygnal/libamf/flv.h
@@ -167,15 +167,15 @@ class DSOEXPORT Flv {
     /// @param type The data type for the header
     ///
     /// @return a smart pointer to a Buffer containing the data in big endian 
format.
-    boost::shared_ptr<cygnal::Buffer> encodeHeader(boost::uint8_t type);
+    std::shared_ptr<cygnal::Buffer> encodeHeader(boost::uint8_t type);
     
     /// \brief Decode a Buffer into a header
     ///
     /// @param buf a smart pointer to a Buffer containing the data.
     ///
     /// @return a smart pointer to data structure that contains the data.
-    boost::shared_ptr<flv_header_t> 
decodeHeader(boost::shared_ptr<cygnal::Buffer> buf) { return 
decodeHeader(buf->reference()); };
-    boost::shared_ptr<flv_header_t> decodeHeader(boost::uint8_t *data);
+    std::shared_ptr<flv_header_t> decodeHeader(std::shared_ptr<cygnal::Buffer> 
buf) { return decodeHeader(buf->reference()); };
+    std::shared_ptr<flv_header_t> decodeHeader(boost::uint8_t *data);
 
     /// \brief Decode a MetaData object.
     ///                This is after the header, but before all the other tags 
usually
@@ -183,7 +183,7 @@ class DSOEXPORT Flv {
     /// @param buf a smart pointer to a Buffer containing the data.
     ///
     /// @return a smart pointer to an Element that contains the data.
-    boost::shared_ptr<cygnal::Element> 
decodeMetaData(boost::shared_ptr<cygnal::Buffer> buf);
+    std::shared_ptr<cygnal::Element> 
decodeMetaData(std::shared_ptr<cygnal::Buffer> buf);
 
     /// \brief Decode a MetaData object.
     ///                This is after the header, but before all the other tags 
usually
@@ -193,29 +193,29 @@ class DSOEXPORT Flv {
     /// @param size The size of the data in bytes
     ///
     /// @return a smart pointer to an Element that contains the data.
-    boost::shared_ptr<cygnal::Element> decodeMetaData(boost::uint8_t *data, 
size_t size);
+    std::shared_ptr<cygnal::Element> decodeMetaData(boost::uint8_t *data, 
size_t size);
 
     /// \brief Decode an Audio object.
     ///
     /// @param flags The data to deserialize.
     /// 
     /// @return a smart pointer to an audio data structure that contains the 
data.
-    boost::shared_ptr<flv_audio_t> decodeAudioData(boost::uint8_t flags);
+    std::shared_ptr<flv_audio_t> decodeAudioData(boost::uint8_t flags);
 
     /// \brief Decode an Video object.
     ///
     /// @param flags The data to deserialize.
     /// 
     /// @return a smart pointer to an video data structure that contains the 
data.
-    boost::shared_ptr<flv_video_t> decodeVideoData(boost::uint8_t flags);
+    std::shared_ptr<flv_video_t> decodeVideoData(boost::uint8_t flags);
     
     /// \brief Decode an MetaData object.
     ///
     /// @param flags The data to deserialize.
     /// 
     /// @return a smart pointer to an video data structure that contains the 
data.
-    boost::shared_ptr<flv_tag_t> 
decodeTagHeader(boost::shared_ptr<cygnal::Buffer> &buf) { return 
decodeTagHeader(buf->reference()); };
-    boost::shared_ptr<flv_tag_t> decodeTagHeader(boost::uint8_t *data);
+    std::shared_ptr<flv_tag_t> decodeTagHeader(std::shared_ptr<cygnal::Buffer> 
&buf) { return decodeTagHeader(buf->reference()); };
+    std::shared_ptr<flv_tag_t> decodeTagHeader(boost::uint8_t *data);
 
     /// \brief Find the named property for this Object.
     ///
@@ -223,14 +223,14 @@ class DSOEXPORT Flv {
     ///                search for.
     ///
     /// @return A smart pointer to the Element for this property.    
-    boost::shared_ptr<cygnal::Element> findProperty(const std::string &name);
+    std::shared_ptr<cygnal::Element> findProperty(const std::string &name);
 
     /// \brief Set all the properties from an array of Element classes.
     ///
     /// @param array
     ///
     /// @return nothing
-    void setProperties(std::vector<boost::shared_ptr<cygnal::Element> > array)
+    void setProperties(std::vector<std::shared_ptr<cygnal::Element> > array)
                        { _properties = array; };
 
     /// \brief Convert a 24 bit integer to a 32 bit one so we can use it.
@@ -258,12 +258,12 @@ class DSOEXPORT Flv {
     /// \var Flv::_properties
     ///                The array of properties for this Flv file, which is
     ///                populated by the data from the first onMetaTag block.
-    std::vector<boost::shared_ptr<cygnal::Element> > _properties;
+    std::vector<std::shared_ptr<cygnal::Element> > _properties;
 
     /// \var _metadata
     ///         The data contained in the first onMetaData tag from
     ///         the FLV file.
-    boost::shared_ptr<cygnal::Element> _metadata;
+    std::shared_ptr<cygnal::Element> _metadata;
     
 }; // end of class definition
 
diff --git a/cygnal/libamf/lcshm.cpp b/cygnal/libamf/lcshm.cpp
index 0b0f362..31a0f95 100644
--- a/cygnal/libamf/lcshm.cpp
+++ b/cygnal/libamf/lcshm.cpp
@@ -386,7 +386,7 @@ LcShm::parseHeader(boost::uint8_t *data, boost::uint8_t* 
tooFar)
     ptr += LC_HEADER_SIZE;
     
     AMF amf;
-    boost::shared_ptr<Element> el = amf.extractAMF(ptr, tooFar);
+    std::shared_ptr<Element> el = amf.extractAMF(ptr, tooFar);
     if (el == 0) {
         log_debug(_("Didn't extract an element from the byte stream!"));
         return 0;
@@ -465,17 +465,17 @@ LcShm::formatHeader(const std::string &con, const 
std::string &host, bool /* dom
 //  Make sure it is always right. Probably wrong.
 
     // Which is then always followed by 3 AMF objects.
-    boost::shared_ptr<cygnal::Buffer> buf1 = AMF::encodeString(con);
+    std::shared_ptr<cygnal::Buffer> buf1 = AMF::encodeString(con);
     memcpy(ptr_FH, buf1->begin(), buf1->size());
     ptr_FH += buf1->size();
 
     const std::string protocol="localhost";
        // This could equal to the domain name.
-    boost::shared_ptr<cygnal::Buffer> buf2 = AMF::encodeString(protocol);
+    std::shared_ptr<cygnal::Buffer> buf2 = AMF::encodeString(protocol);
     memcpy(ptr_FH, buf2->begin(), buf2->size());
     ptr_FH += buf2->size();
 
-    boost::shared_ptr<cygnal::Buffer> buf3 = AMF::encodeString(host);
+    std::shared_ptr<cygnal::Buffer> buf3 = AMF::encodeString(host);
     memcpy(ptr_FH, buf3->begin(), buf3->size());
     ptr_FH += buf3->size();
     
@@ -528,7 +528,7 @@ LcShm::connect(const string& names)
     _baseaddr = baseAddress;
     parseHeader(baseAddress, tooFar);
 //     log_debug("Base address in 'connect' is: 0x%x, 0x%x",(unsigned int) 
SharedMem::begin(), (unsigned int) _baseaddr);
-//  vector<boost::shared_ptr<Element> > ellist = parseBody(ptr);
+//  vector<std::shared_ptr<Element> > ellist = parseBody(ptr);
 //  log_debug("Base address is: 0x%x, 0x%x",
 //               (unsigned int)Listener::getBaseAddress(), (unsigned 
int)_baseaddr);
 
@@ -567,7 +567,7 @@ LcShm::connect(key_t key)
     Listener::setBaseAddress(baseAddress);
     _baseaddr = baseAddress;
     parseHeader(baseAddress, tooFar);
-//    vector<boost::shared_ptr<Element> > ellist = parseBody(ptr);
+//    vector<std::shared_ptr<Element> > ellist = parseBody(ptr);
 //     log_debug("Base address is: 0x%x, 0x%x",
 //               (unsigned int)Listener::getBaseAddress(), (unsigned 
int)_baseaddr);
     
@@ -616,7 +616,7 @@ LcShm::send(const string&  name , const string&  domainname 
,
       int message_size=0;
       if (data.size()!=0){     
                   for(iter = data.begin(); iter != data.end(); ++iter){
-                           boost::shared_ptr<Buffer> buf = 
AMF::encodeElement(*iter);                                                      
            
+                           std::shared_ptr<Buffer> buf = 
AMF::encodeElement(*iter);
                                message_size+=buf->size();
                        }
        }       
@@ -642,16 +642,16 @@ LcShm::send(const string&  name , const string&  
domainname ,
 //  Make sure it is right later.
 
     // Which is then always followed by 3 AMF objects.
-    boost::shared_ptr<cygnal::Buffer> buf1 = AMF::encodeString(name);
+    std::shared_ptr<cygnal::Buffer> buf1 = AMF::encodeString(name);
     memcpy(ptr, buf1->begin(), buf1->size());
     ptr += buf1->size();
        
     const std::string protocol="localhostf";
-    boost::shared_ptr<cygnal::Buffer> buf2 = AMF::encodeString(protocol);
+    std::shared_ptr<cygnal::Buffer> buf2 = AMF::encodeString(protocol);
     memcpy(ptr, buf2->begin(), buf2->size());
     ptr += buf2->size();
 
-    boost::shared_ptr<cygnal::Buffer> buf3 = AMF::encodeString(domainname);
+    std::shared_ptr<cygnal::Buffer> buf3 = AMF::encodeString(domainname);
     memcpy(ptr, buf3->begin(), buf3->size());
     ptr += buf3->size();
        
@@ -661,7 +661,7 @@ LcShm::send(const string&  name , const string&  domainname 
,
       if (data.size()==0){               
                   for(iter = data.begin(); iter != data.end(); ++iter){
                                // temporary buf for element
-                               boost::shared_ptr<Buffer> buf = 
AMF::encodeElement(*iter);              
+                               std::shared_ptr<Buffer> buf = 
AMF::encodeElement(*iter);
                                memcpy(ptr, buf->begin(), buf->size() );
                                ptr+= buf->size();              
                        }
@@ -748,7 +748,7 @@ LcShm::send(const string&  name , const string&  domainname 
,
 ///
 /// @return nothing.
 /// We may only need a connection name for the receive function.
-///void recv(std::string &name, std::string &dataname, 
boost::shared_ptr<cygnal::Element> data)
+///void recv(std::string &name, std::string &dataname, 
std::shared_ptr<cygnal::Element> data)
 //{
         //GNASH_REPORT_FUNCTION;
 
@@ -765,7 +765,7 @@ LcShm::send(const string&  name , const string&  domainname 
,
 ///         boost::uint8_t *parseHeader(boost::uint8_t *data, boost::uint8_t* 
tooFar);
 ///            This should be easy if parseHeader function has been finished.
 ///  3: Parse the body of the shared memory
-///        std::vector<boost::shared_ptr<cygnal::Element> > 
parseBody(boost::uint8_t *data);
+///        std::vector<std::shared_ptr<cygnal::Element> > 
parseBody(boost::uint8_t *data);
 ///            This should be easy if parseHeader function has been finished.
 ///  4: The listened should implement these commands somehow automatically .
 ///         Handler?
@@ -787,10 +787,10 @@ LcShm::dump()
     cerr << "Connection Name:\t" << _object.connection_name << endl;
     cerr << "Hostname Name:\t\t" << _object.hostname << endl;
     cerr << "Domain Allowed:\t\t" << ((_object.domain) ? "true" : "false") << 
endl;
-    vector<boost::shared_ptr<Element> >::iterator ait;
+    vector<std::shared_ptr<Element> >::iterator ait;
     cerr << "# of Elements in file: " << _amfobjs.size() << endl;
     for (ait = _amfobjs.begin(); ait != _amfobjs.end(); ++ait) {
-       boost::shared_ptr<Element> el = (*(ait));
+       std::shared_ptr<Element> el = (*(ait));
         el->dump();
     }
 
diff --git a/cygnal/libamf/lcshm.h b/cygnal/libamf/lcshm.h
index fdda811..984c5bd 100644
--- a/cygnal/libamf/lcshm.h
+++ b/cygnal/libamf/lcshm.h
@@ -129,7 +129,7 @@ public:
         std::string connection_name;
         std::string protocol;
         std::string method_name;
-        std::vector<boost::shared_ptr<cygnal::Element> > data; // this can be 
any AMF data type
+        std::vector<std::shared_ptr<cygnal::Element> > data; // this can be 
any AMF data type
     } lc_message_t;
     /// \struct LcShm::lc_object.t
     ///                Hold the data for each connection to the memory segment.
@@ -203,7 +203,7 @@ public:
     ///
     /// @return nothing.
        /// We may only need a connection name for the receive function.
-    void recv(std::string &name, std::string &dataname, 
boost::shared_ptr<cygnal::Element> data);
+    void recv(std::string &name, std::string &dataname, 
std::shared_ptr<cygnal::Element> data);
 
     /// \brief Parse the body of a memory segment.
     ///
@@ -211,7 +211,7 @@ public:
     ///
     /// @return A vector of smart pointers to the AMF0 Elements in
     ///                this memopry segment.
-    std::vector<boost::shared_ptr<cygnal::Element> > parseBody(boost::uint8_t 
*data);
+    std::vector<std::shared_ptr<cygnal::Element> > parseBody(boost::uint8_t 
*data);
 
     /// \brief Parse the header of the memory segment.
     ///
@@ -253,7 +253,7 @@ public:
     /// \brief Add an AMF0 Element array of data for this memory segment.
     ///
     /// @return 
-    void addObject(boost::shared_ptr<cygnal::Element> el) { 
_amfobjs.push_back(el); };
+    void addObject(std::shared_ptr<cygnal::Element> el) { 
_amfobjs.push_back(el); };
 
     /// \brief Get the number of AMF0 Elements stored in this class.
     ///
@@ -263,7 +263,7 @@ public:
     /// \brief Get the array of AMF0 objects stored by this class.
     ///
     /// @return A vector of smart pointers to AMF0 Elements.
-    std::vector<boost::shared_ptr<cygnal::Element> > getElements() { return 
_amfobjs; };
+    std::vector<std::shared_ptr<cygnal::Element> > getElements() { return 
_amfobjs; };
 
     /// \brief Set the base address to be used for the memory segment.
     ///
@@ -297,7 +297,7 @@ private:
     /// \var LcShm::_amfobjs
     ///                A vector of AMF0 Elements in the memory segment.
        /// Is this necessary if we have put all the things to pass in the 
memory?
-    std::vector<boost::shared_ptr<cygnal::Element> > _amfobjs;
+    std::vector<std::shared_ptr<cygnal::Element> > _amfobjs;
        
        ///Si added
        /// This is the mutex that controls access to the sharedmemory
diff --git a/cygnal/libamf/sol.cpp b/cygnal/libamf/sol.cpp
index e591de8..4ae632e 100644
--- a/cygnal/libamf/sol.cpp
+++ b/cygnal/libamf/sol.cpp
@@ -118,7 +118,7 @@ SOL::extractHeader(const vector<unsigned char> & /*data*/)
 ///
 /// @return nothing.
 void
-SOL::addObj(boost::shared_ptr<cygnal::Element> el)
+SOL::addObj(std::shared_ptr<cygnal::Element> el)
 {
 //    GNASH_REPORT_FUNCTION;
     _amfobjs.push_back(el);
@@ -234,7 +234,7 @@ SOL::writeFile(const std::string &filespec, const 
std::string &name)
     }
     
     vector<boost::uint8_t>::iterator it;
-    vector<boost::shared_ptr<cygnal::Element> >::iterator ita; 
+    vector<std::shared_ptr<cygnal::Element> >::iterator ita;
     AMF amf_obj;
     char *ptr;
     int size = 0;
@@ -244,7 +244,7 @@ SOL::writeFile(const std::string &filespec, const 
std::string &name)
     }
 
     for (ita = _amfobjs.begin(); ita != _amfobjs.end(); ++ita) {
-        boost::shared_ptr<cygnal::Element> el = (*(ita));
+        std::shared_ptr<cygnal::Element> el = (*(ita));
        size += el->getNameSize() + el->getDataSize() + 7;
     }
     _filesize = size;
@@ -255,8 +255,8 @@ SOL::writeFile(const std::string &filespec, const 
std::string &name)
     char* endPtr = ptr+size+20; // that's the amount we allocated..
 
     for (ita = _amfobjs.begin(); ita != _amfobjs.end(); ++ita) {
-        boost::shared_ptr<Element> el = (*(ita));
-        boost::shared_ptr<cygnal::Buffer> var = amf_obj.encodeProperty(el); 
+        std::shared_ptr<Element> el = (*(ita));
+        std::shared_ptr<cygnal::Buffer> var = amf_obj.encodeProperty(el);
         //  boost::uint8_t *var = amf_obj.encodeProperty(el, outsize); 
         if (!var) {
             continue;
@@ -418,7 +418,7 @@ SOL::readFile(const std::string &filespec)
            ptr += 4;
            
            AMF amf_obj;
-           boost::shared_ptr<cygnal::Element> el;
+           std::shared_ptr<cygnal::Element> el;
            while ( ptr < tooFar) {
             if (ptr) {
                 el = amf_obj.extractProperty(ptr, tooFar);
@@ -441,12 +441,12 @@ SOL::readFile(const std::string &filespec)
 }
 
 bool 
-SOL::updateSO(boost::shared_ptr<cygnal::Element> &newel)
+SOL::updateSO(std::shared_ptr<cygnal::Element> &newel)
 {
 //    GNASH_REPORT_FUNCTION;
-    vector<boost::shared_ptr<cygnal::Element> >::iterator ita; 
+    vector<std::shared_ptr<cygnal::Element> >::iterator ita;
     for (ita = _amfobjs.begin(); ita != _amfobjs.end(); ++ita) {
-        boost::shared_ptr<cygnal::Element> oldel = (*(ita));
+        std::shared_ptr<cygnal::Element> oldel = (*(ita));
        if (oldel == newel) {
            oldel = newel;
        }
@@ -455,7 +455,7 @@ SOL::updateSO(boost::shared_ptr<cygnal::Element> &newel)
 }
 
 bool
-SOL::updateSO(int index, boost::shared_ptr<cygnal::Element> &el)
+SOL::updateSO(int index, std::shared_ptr<cygnal::Element> &el)
 {
 //    GNASH_REPORT_FUNCTION;
     _amfobjs[index] = el;    
@@ -469,14 +469,14 @@ void
 SOL::dump()
 {
     using namespace std;
-    vector<boost::shared_ptr<cygnal::Element> >::iterator it;
+    vector<std::shared_ptr<cygnal::Element> >::iterator it;
 
     cerr << "Dumping SOL file" << endl;
     cerr << "The file name is: " << _filespec << endl;
     cerr << "The size of the file is: " << _filesize << endl;
     cerr << "The name of the object is: " << _objname << endl;
     for (it = _amfobjs.begin(); it != _amfobjs.end(); ++it) {
-       boost::shared_ptr<cygnal::Element> el = (*(it));
+       std::shared_ptr<cygnal::Element> el = (*(it));
         cerr << el->getName() << ": ";
         if (el->getType() == Element::STRING_AMF0) {
             if (el->getDataSize() != 0) {
diff --git a/cygnal/libamf/sol.h b/cygnal/libamf/sol.h
index 7f5b634..67c2f79 100644
--- a/cygnal/libamf/sol.h
+++ b/cygnal/libamf/sol.h
@@ -133,20 +133,20 @@ public:
     /// @param el A smart pointer to the Element to add to the .sol file.
     ///
     /// @return nothing.
-    void addObj(boost::shared_ptr<Element> el);
+    void addObj(std::shared_ptr<Element> el);
 
     /// \brief Return a reference to the elements in this object
     ///
     /// @return A smart pointer to the array of properities for this
     ///                .sol file.
-    std::vector<boost::shared_ptr<cygnal::Element> > &getElements() { return 
_amfobjs; }
+    std::vector<std::shared_ptr<cygnal::Element> > &getElements() { return 
_amfobjs; }
 
     /// \brief Get an element referenced by index in the array
     ///
     /// @param size The index of the property to retrieve.
     ///
     /// @return A smart pointer to the element at the specified location.
-    boost::shared_ptr<Element> getElement(size_t size)
+    std::shared_ptr<Element> getElement(size_t size)
     {
         assert(size<_amfobjs.size());
         return _amfobjs[size];
@@ -180,8 +180,8 @@ public:
     ///                in the .sol file.
     const std::string &getObjectName() const { return _objname; };
         
-    bool updateSO(boost::shared_ptr<cygnal::Element> &el);
-    bool updateSO(int index, boost::shared_ptr<cygnal::Element> &el);
+    bool updateSO(std::shared_ptr<cygnal::Element> &el);
+    bool updateSO(int index, std::shared_ptr<cygnal::Element> &el);
     
     ///  \brief Dump the internal data of this class in a human readable form.
     ///
@@ -212,7 +212,7 @@ public:
  protected:
     /// \var SOL::_amfobjs
     ///                The array of elements in this SharedObject.
-    std::vector<boost::shared_ptr<Element> > _amfobjs;
+    std::vector<std::shared_ptr<Element> > _amfobjs;
     
   };
 
diff --git a/cygnal/libnet/cache.cpp b/cygnal/libnet/cache.cpp
index 2a273ab..73669e6 100644
--- a/cygnal/libnet/cache.cpp
+++ b/cygnal/libnet/cache.cpp
@@ -97,7 +97,7 @@ Cache::addResponse(const std::string &name, const std::string 
&response)
 }
 
 void
-Cache::addFile(const std::string &name, boost::shared_ptr<DiskStream> &file)
+Cache::addFile(const std::string &name, std::shared_ptr<DiskStream> &file)
 {
     // GNASH_REPORT_FUNCTION;
 
@@ -140,7 +140,7 @@ Cache::findResponse(const std::string &name)
     return _responses[name];
 }
 
-boost::shared_ptr<DiskStream> &
+std::shared_ptr<DiskStream> &
 Cache::findFile(const std::string &name)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -150,7 +150,7 @@ Cache::findFile(const std::string &name)
 #ifdef USE_STATS_CACHE
     clock_gettime (CLOCK_REALTIME, &_last_access);
     _file_lookups++;
-    map<string, boost::shared_ptr<DiskStream> >::const_iterator it;
+    map<string, std::shared_ptr<DiskStream> >::const_iterator it;
     it = _files.find(name);
     if (it != _files.end()) {
         _file_hits++;
@@ -226,7 +226,7 @@ Cache::stats(bool xml) const
        text << "       File hits from cache: " << _file_hits << endl;
     }
     
-    map<std::string, boost::shared_ptr<DiskStream> >::const_iterator data;
+    map<std::string, std::shared_ptr<DiskStream> >::const_iterator data;
     for (data = _files.begin(); data != _files.end(); ++data) {
        const struct timespec *last = data->second->getLastAccessTime();
        time = ((now.tv_sec - last->tv_sec) + ((now.tv_nsec - 
last->tv_nsec)/1e9));
@@ -273,9 +273,9 @@ Cache::dump(std::ostream& os) const
     
     os << "DiskStream cache has " << _files.size() << " files." << endl;
     
-    map<std::string, boost::shared_ptr<DiskStream> >::const_iterator data;
+    map<std::string, std::shared_ptr<DiskStream> >::const_iterator data;
     for (data = _files.begin(); data != _files.end(); ++data) {
-        boost::shared_ptr<DiskStream> filedata = data->second;
+        std::shared_ptr<DiskStream> filedata = data->second;
         os << "file info for \"" << data->first << "\" is: " << endl;
         filedata->dump();
         os << "-----------------------------" << endl;
diff --git a/cygnal/libnet/cache.h b/cygnal/libnet/cache.h
index e07bef7..4c36833 100644
--- a/cygnal/libnet/cache.h
+++ b/cygnal/libnet/cache.h
@@ -59,8 +59,8 @@ public:
     std::string &findResponse(const std::string &name);
     void removeResponse(const std::string &name);
     
-    void addFile(const std::string &name, boost::shared_ptr<DiskStream > 
&file);
-    boost::shared_ptr<DiskStream> & findFile(const std::string &name);
+    void addFile(const std::string &name, std::shared_ptr<DiskStream > &file);
+    std::shared_ptr<DiskStream> & findFile(const std::string &name);
     void removeFile(const std::string &name);
     
     ///  \brief Dump the internal data of this class in a human readable form.
@@ -81,7 +81,7 @@ private:
     std::map<std::string, std::string> _responses;
     /// \var Cache::_responses
     ///                The cache of Distream handles to often played files.
-    std::map<std::string, boost::shared_ptr<DiskStream> > _files;
+    std::map<std::string, std::shared_ptr<DiskStream> > _files;
 
     /// \var Cache::_max_size
     ///                The maximum amount of memory the cache is allowed to 
use.
diff --git a/cygnal/libnet/cque.cpp b/cygnal/libnet/cque.cpp
index 39ad2e9..f729416 100644
--- a/cygnal/libnet/cque.cpp
+++ b/cygnal/libnet/cque.cpp
@@ -53,7 +53,7 @@ CQue::~CQue()
     que_t::iterator it;
     boost::mutex::scoped_lock lock(_mutex);
 //     for (it = _que.begin(); it != _que.end(); it++) {
-//     boost::shared_ptr<cygnal::Buffer> ptr = *(it);
+//     std::shared_ptr<cygnal::Buffer> ptr = *(it);
 //     if (ptr->size()) {      // FIXME: we probably want to delete ptr anyway,
 //         delete ptr;         // but if we do, this will core dump.
 //     }
@@ -94,7 +94,7 @@ CQue::size()
 }
 
 bool
-CQue::push(boost::shared_ptr<cygnal::Buffer> data)
+CQue::push(std::shared_ptr<cygnal::Buffer> data)
 {
 //     GNASH_REPORT_FUNCTION;
     boost::mutex::scoped_lock lock(_mutex);
@@ -111,18 +111,18 @@ bool
 CQue::push(boost::uint8_t *data, int nbytes)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer);
     std::copy(data, data + nbytes, buf->reference());
     return push(buf);
 }
 
 
 // Pop the first date element off the FIFO
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 CQue::pop()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     boost::mutex::scoped_lock lock(_mutex);
     if (_que.size()) {
         buf = _que.front();
@@ -135,7 +135,7 @@ CQue::pop()
 }
 
 // Peek at the first data element without removing it
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 CQue::peek()
 {
 //    GNASH_REPORT_FUNCTION;
@@ -143,7 +143,7 @@ CQue::peek()
     if (_que.size()) {
         return _que.front();
     }
-    return boost::shared_ptr<cygnal::Buffer>();
+    return std::shared_ptr<cygnal::Buffer>();
 }
 
 // Return the size of the queues
@@ -157,14 +157,14 @@ CQue::clear()
 
 // Remove a range of elements
 void
-CQue::remove(boost::shared_ptr<cygnal::Buffer> begin, 
boost::shared_ptr<cygnal::Buffer> end)
+CQue::remove(std::shared_ptr<cygnal::Buffer> begin, 
std::shared_ptr<cygnal::Buffer> end)
 {
     GNASH_REPORT_FUNCTION;
-    deque<boost::shared_ptr<cygnal::Buffer> >::iterator it;
-    deque<boost::shared_ptr<cygnal::Buffer> >::iterator start;
-    deque<boost::shared_ptr<cygnal::Buffer> >::iterator stop;
+    deque<std::shared_ptr<cygnal::Buffer> >::iterator it;
+    deque<std::shared_ptr<cygnal::Buffer> >::iterator start;
+    deque<std::shared_ptr<cygnal::Buffer> >::iterator stop;
     boost::mutex::scoped_lock lock(_mutex);
-    boost::shared_ptr<cygnal::Buffer> ptr;
+    std::shared_ptr<cygnal::Buffer> ptr;
     for (it = _que.begin(); it != _que.end(); ++it) {
        ptr = *(it);
        if (ptr->reference() == begin->reference()) {
@@ -180,13 +180,13 @@ CQue::remove(boost::shared_ptr<cygnal::Buffer> begin, 
boost::shared_ptr<cygnal::
 
 // Remove an element
 void
-CQue::remove(boost::shared_ptr<cygnal::Buffer> element)
+CQue::remove(std::shared_ptr<cygnal::Buffer> element)
 {
     GNASH_REPORT_FUNCTION;
-    deque<boost::shared_ptr<cygnal::Buffer> >::iterator it;
+    deque<std::shared_ptr<cygnal::Buffer> >::iterator it;
     boost::mutex::scoped_lock lock(_mutex);
     for (it = _que.begin(); it != _que.end(); ) {
-       boost::shared_ptr<cygnal::Buffer> ptr = *(it);
+       std::shared_ptr<cygnal::Buffer> ptr = *(it);
        if (ptr->reference() == element->reference()) {
            it = _que.erase(it);
        } else {
@@ -197,7 +197,7 @@ CQue::remove(boost::shared_ptr<cygnal::Buffer> element)
 
 // Merge sucessive buffers into one single larger buffer. This is for some
 // protocols, than have very long headers.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 CQue::merge()
 {
 //     GNASH_REPORT_FUNCTION;
@@ -205,8 +205,8 @@ CQue::merge()
     return merge(_que.front());
 }
 
-boost::shared_ptr<cygnal::Buffer> 
-CQue::merge(boost::shared_ptr<cygnal::Buffer> start)
+std::shared_ptr<cygnal::Buffer>
+CQue::merge(std::shared_ptr<cygnal::Buffer> start)
 {
 //     GNASH_REPORT_FUNCTION;
     // Find iterator to first element to merge
@@ -232,7 +232,7 @@ CQue::merge(boost::shared_ptr<cygnal::Buffer> start)
 //     log_debug("%s: Final Totalsize is %s", __PRETTY_FUNCTION__, totalsize);
     
     // Merge all elements in a single buffer. We have totalsize now.
-    boost::shared_ptr<cygnal::Buffer> newbuf(new cygnal::Buffer(totalsize));
+    std::shared_ptr<cygnal::Buffer> newbuf(new cygnal::Buffer(totalsize));
     for (que_t::iterator i=from; i!=to; ++i) {
 //     log_debug("%s: copying %d bytes, space left is %d, totalsize is %d", 
__PRETTY_FUNCTION__,
 //               (*i)->allocated(), newbuf->spaceLeft(), totalsize);
@@ -261,12 +261,12 @@ void
 CQue::dump()
 {
 //    GNASH_REPORT_FUNCTION;
-    deque<boost::shared_ptr<cygnal::Buffer> >::iterator it;
+    deque<std::shared_ptr<cygnal::Buffer> >::iterator it;
     boost::mutex::scoped_lock lock(_mutex);
     std::cerr << std::endl << "CQue \"" << _name << "\" has "<< _que.size()
               << " buffers." << std::endl;
     for (it = _que.begin(); it != _que.end(); ++it) {
-       boost::shared_ptr<cygnal::Buffer> ptr = *(it);
+       std::shared_ptr<cygnal::Buffer> ptr = *(it);
         ptr->dump();
     }
 #ifdef USE_STATS_QUEUE
diff --git a/cygnal/libnet/cque.h b/cygnal/libnet/cque.h
index b7ca12f..79f00fe 100644
--- a/cygnal/libnet/cque.h
+++ b/cygnal/libnet/cque.h
@@ -36,7 +36,7 @@ namespace gnash
 
 class CQue {
 public:
-    typedef std::deque<boost::shared_ptr<cygnal::Buffer> > que_t;
+    typedef std::deque<std::shared_ptr<cygnal::Buffer> > que_t;
 #ifdef USE_STATS_QUEUE
     typedef struct {
        struct timespec start;
@@ -50,11 +50,11 @@ public:
     ~CQue();
     // Push data onto the que
     bool push(boost::uint8_t *data, int nbytes);
-    bool push(boost::shared_ptr<cygnal::Buffer> data);
+    bool push(std::shared_ptr<cygnal::Buffer> data);
     // Pop the first date element off the que
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT pop();
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT pop();
     // Peek at the first date element witjhout removing it from the que
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT peek();
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT peek();
     // Get the number of elements in the que
     size_t DSOEXPORT size();
     // Wait for a condition variable to trigger
@@ -64,16 +64,16 @@ public:
     // Empty the que of all data. 
     void clear();
     // Remove a range of elements
-    void remove(boost::shared_ptr<cygnal::Buffer> begin, 
boost::shared_ptr<cygnal::Buffer> end);
+    void remove(std::shared_ptr<cygnal::Buffer> begin, 
std::shared_ptr<cygnal::Buffer> end);
 //     // Remove an element
-//    void remove(boost::shared_ptr<cygnal::Buffer> it);
-    void remove(boost::shared_ptr<cygnal::Buffer> it);
+//    void remove(std::shared_ptr<cygnal::Buffer> it);
+    void remove(std::shared_ptr<cygnal::Buffer> it);
     // Merge sucessive buffers into one single larger buffer. This is for some
     // protocols, than have very long headers.
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT 
merge(boost::shared_ptr<cygnal::Buffer> begin);
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT merge();
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT 
merge(std::shared_ptr<cygnal::Buffer> begin);
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT merge();
 
-    boost::shared_ptr<cygnal::Buffer> operator[] (int index) { return 
_que[index]; };
+    std::shared_ptr<cygnal::Buffer> operator[] (int index) { return 
_que[index]; };
     
     // Dump the data to the terminal
     void dump();
diff --git a/cygnal/libnet/diskstream.cpp b/cygnal/libnet/diskstream.cpp
index 4a5e515..888854e 100644
--- a/cygnal/libnet/diskstream.cpp
+++ b/cygnal/libnet/diskstream.cpp
@@ -512,14 +512,14 @@ DiskStream::loadToMem(size_t filesize, off_t offset)
     if (_filetype == FILETYPE_FLV) {
        // FIXME: for now, assume all media files are in FLV format
        _flv.reset(new cygnal::Flv);
-       boost::shared_ptr<cygnal::Flv::flv_header_t> head = 
_flv->decodeHeader(ptr);
+       std::shared_ptr<cygnal::Flv::flv_header_t> head = 
_flv->decodeHeader(ptr);
        ptr += sizeof(cygnal::Flv::flv_header_t);
        ptr += sizeof(cygnal::Flv::previous_size_t);
-       boost::shared_ptr<cygnal::Flv::flv_tag_t> tag  = 
_flv->decodeTagHeader(ptr);
+       std::shared_ptr<cygnal::Flv::flv_tag_t> tag  = 
_flv->decodeTagHeader(ptr);
        ptr += sizeof(cygnal::Flv::flv_tag_t);
        size_t bodysize = _flv->convert24(tag->bodysize);           
        if (tag->type == cygnal::Flv::TAG_METADATA) {
-           boost::shared_ptr<cygnal::Element> metadata = 
_flv->decodeMetaData(ptr, bodysize);
+           std::shared_ptr<cygnal::Element> metadata = 
_flv->decodeMetaData(ptr, bodysize);
            if (metadata) {
                metadata->dump();
            }
diff --git a/cygnal/libnet/diskstream.h b/cygnal/libnet/diskstream.h
index af221c8..7beb821 100644
--- a/cygnal/libnet/diskstream.h
+++ b/cygnal/libnet/diskstream.h
@@ -354,7 +354,7 @@ private:
 #endif
 
     // The header, tag, and onMetaData from the FLV file.
-    boost::shared_ptr<cygnal::Flv>    _flv;
+    std::shared_ptr<cygnal::Flv>    _flv;
 };
 
 /// \brief Dump to the specified output stream.
diff --git a/cygnal/libnet/http.cpp b/cygnal/libnet/http.cpp
index ba9e3f0..80cb212 100644
--- a/cygnal/libnet/http.cpp
+++ b/cygnal/libnet/http.cpp
@@ -236,12 +236,12 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 
 // // Parse an Echo Request message coming from the Red5 echo_test. This
 // // method should only be used for testing purposes.
-// vector<boost::shared_ptr<cygnal::Element > >
+// vector<std::shared_ptr<cygnal::Element > >
 // HTTP::parseEchoRequest(boost::uint8_t *data, size_t size)
 // {
 // //    GNASH_REPORT_FUNCTION;
     
-//     vector<boost::shared_ptr<cygnal::Element > > headers;
+//     vector<std::shared_ptr<cygnal::Element > > headers;
        
 //     // skip past the header bytes, we don't care about them.
 //     boost::uint8_t *tmpptr = data + 6;
@@ -252,7 +252,7 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 
 //     // Get the first name, which is a raw string, and not preceded by
 //     // a type byte.
-//     boost::shared_ptr<cygnal::Element > el1(new cygnal::Element);
+//     std::shared_ptr<cygnal::Element > el1(new cygnal::Element);
     
 //     // If the length of the name field is corrupted, then we get out of
 //     // range quick, and corrupt memory. This is a bit of a hack, but
@@ -271,7 +271,7 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 //     // a type byte.
 //     length = ntohs((*(boost::uint16_t *)tmpptr) & 0xffff);
 //     tmpptr += sizeof(boost::uint16_t);
-//     boost::shared_ptr<cygnal::Element > el2(new cygnal::Element);
+//     std::shared_ptr<cygnal::Element > el2(new cygnal::Element);
 
 // //     std::string name2(reinterpret_cast<const char *>(tmpptr), length);
 // //     el2->setName(name2.c_str(), name2.size());
@@ -291,11 +291,11 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 //     // Get the last two pieces of data, which are both AMF encoded
 //     // with a type byte.
 //     amf::AMF amf;
-//     boost::shared_ptr<cygnal::Element> el3 = amf.extractAMF(tmpptr, tmpptr 
+ size);
+//     std::shared_ptr<cygnal::Element> el3 = amf.extractAMF(tmpptr, tmpptr + 
size);
 //     headers.push_back(el3);
 //     tmpptr += amf.totalsize();
     
-//     boost::shared_ptr<cygnal::Element> el4 = amf.extractAMF(tmpptr, tmpptr 
+ size);
+//     std::shared_ptr<cygnal::Element> el4 = amf.extractAMF(tmpptr, tmpptr + 
size);
 //     headers.push_back(el4);
 
 //      return headers;
@@ -308,7 +308,7 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 // HTTP::formatEchoResponse(const std::string &num, cygnal::Element &el)
 // {
 // //    GNASH_REPORT_FUNCTION;
-//     boost::shared_ptr<cygnal::Buffer> data;
+//     std::shared_ptr<cygnal::Buffer> data;
 
 //     cygnal::Element nel;
 //     if (el.getType() == cygnal::Element::TYPED_OBJECT_AMF0) {
@@ -319,7 +319,7 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 //         // FIXME: see about using std::reverse() instead.
 //         for (int i=el.propertySize()-1; i>=0; i--) {
 // //      for (int i=0 ; i<el.propertySize(); i++) {
-//             boost::shared_ptr<cygnal::Element> child = el.getProperty(i);
+//             std::shared_ptr<cygnal::Element> child = el.getProperty(i);
 //             nel.addProperty(child);
 //         }
 //         data = nel.encode();
@@ -335,12 +335,12 @@ HTTP::processHeaderFields(cygnal::Buffer *buf)
 
 #if 0                          // FIXME:
 // Client side parsing of response message codes
-boost::shared_ptr<HTTP::http_response_t> 
+std::shared_ptr<HTTP::http_response_t>
 HTTP::parseStatus(const std::string &line)
 {
 //    GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<http_response_t> status;
+    std::shared_ptr<http_response_t> status;
     // The respnse is a number followed by the error message.
     string::size_type pos = line.find(" ", 0);
     if (pos != string::npos) {
@@ -358,7 +358,7 @@ HTTP::processClientRequest(int fd)
 //    GNASH_REPORT_FUNCTION;
     bool result = false;
     
-    boost::shared_ptr<cygnal::Buffer> buf(_que.peek());
+    std::shared_ptr<cygnal::Buffer> buf(_que.peek());
     if (buf) {
        _cmd = extractCommand(buf->reference());
        switch (_cmd) {
@@ -413,7 +413,7 @@ HTTP::processGetRequest(int fd)
        return false;
     }
     
-    boost::shared_ptr<cygnal::Buffer> buf(_que.pop());
+    std::shared_ptr<cygnal::Buffer> buf(_que.pop());
 //    cerr << "YYYYYYY: " << (char *)buf->reference() << endl;
 //    cerr << hexify(buf->reference(), buf->allocated(), false) << endl;
     
@@ -428,7 +428,7 @@ HTTP::processGetRequest(int fd)
 
     string url = _docroot + _filespec;
     // See if the file is in the cache and already opened.
-    boost::shared_ptr<DiskStream> filestream(cache.findFile(url));
+    std::shared_ptr<DiskStream> filestream(cache.findFile(url));
     if (filestream) {
        log_network(_("FIXME: found file in cache!"));
     } else {
@@ -516,7 +516,7 @@ HTTP::processPostRequest(int fd)
        return false;
     }
     
-    boost::shared_ptr<cygnal::Buffer> buf(_que.pop());
+    std::shared_ptr<cygnal::Buffer> buf(_que.pop());
     if (buf == 0) {
        log_debug(_("Que empty, net connection dropped for fd #%d"), 
getFileFd());
        return false;
@@ -526,7 +526,7 @@ HTTP::processPostRequest(int fd)
     clearHeader();
     boost::uint8_t *data = processHeaderFields(*buf);
     size_t length = strtol(getField("content-length").c_str(), NULL, 0);
-    boost::shared_ptr<cygnal::Buffer> content(new cygnal::Buffer(length));
+    std::shared_ptr<cygnal::Buffer> content(new cygnal::Buffer(length));
     int ret = 0;
     if (buf->allocated() - (data - buf->reference()) ) {
 //     cerr << "Don't need to read more data: have " << buf->allocated() << " 
bytes" << endl;
@@ -549,7 +549,7 @@ HTTP::processPostRequest(int fd)
        log_debug(_("Got AMF data in POST"));
 #if 0
        amf::AMF amf;
-       boost::shared_ptr<cygnal::Element> el = 
amf.extractAMF(content.reference(), content.end());
+       std::shared_ptr<cygnal::Element> el = 
amf.extractAMF(content.reference(), content.end());
        el->dump();             // FIXME: do something intelligent
                                // with this Element
 #endif
@@ -564,10 +564,10 @@ HTTP::processPostRequest(int fd)
        log_debug(_("Got CGI echo request in POST"));
 //     cerr << "FIXME 2: " << hexify(content->reference(), 
content->allocated(), true) << endl;
 
-       vector<boost::shared_ptr<cygnal::Element> > headers = 
parseEchoRequest(*content);
-       //boost::shared_ptr<cygnal::Element> &el0 = headers[0];
-       //boost::shared_ptr<cygnal::Element> &el1 = headers[1];
-       //boost::shared_ptr<cygnal::Element> &el3 = headers[3];
+       vector<std::shared_ptr<cygnal::Element> > headers = 
parseEchoRequest(*content);
+       //std::shared_ptr<cygnal::Element> &el0 = headers[0];
+       //std::shared_ptr<cygnal::Element> &el1 = headers[1];
+       //std::shared_ptr<cygnal::Element> &el3 = headers[3];
        
     if (headers.size() >= 4) {
            if (headers[3]) {
@@ -732,11 +732,11 @@ HTTP::checkGeneralFields(cygnal::Buffer & /* buf */)
     return false;
 }
 
-boost::shared_ptr<std::vector<std::string> >
+std::shared_ptr<std::vector<std::string> >
 HTTP::getFieldItem(const std::string &name)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<std::vector<std::string> > ptr(new 
std::vector<std::string>);
+    std::shared_ptr<std::vector<std::string> > ptr(new 
std::vector<std::string>);
     Tok t(_fields[name], Sep(", "));
     for (Tok::iterator i = t.begin(), e = t.end(); i != e; ++i) {
        ptr->push_back(*i);
@@ -1169,11 +1169,11 @@ HTTP::formatEchoResponse(const std::string &num, 
boost::uint8_t *data, size_t si
     // the request, a slash followed by a number like "/2".
     string result = num;
     result += "/onResult";
-    boost::shared_ptr<cygnal::Buffer> res = cygnal::AMF::encodeString(result);
+    std::shared_ptr<cygnal::Buffer> res = cygnal::AMF::encodeString(result);
     _buffer.append(res->begin()+1, res->size()-1);
 
     // Add the null data item
-    boost::shared_ptr<cygnal::Buffer> null = cygnal::AMF::encodeString("null");
+    std::shared_ptr<cygnal::Buffer> null = cygnal::AMF::encodeString("null");
     _buffer.append(null->begin()+1, null->size()-1);
 
     // Add the other binary blob
@@ -1375,7 +1375,7 @@ HTTP::recvChunked(boost::uint8_t *data, size_t size)
     // line number. There is supposed to be a ';' before the \r\n, as this
     // field can have other attributes, but the OpenStreetMap server doesn't
     // use the semi-colon, as it's optional, and rarely used anyway.
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     boost::uint8_t *start = std::find(data, data+size, '\r') + 2;
     if (start != data+size) {
        // extract the total size of the chunk
@@ -1503,7 +1503,7 @@ HTTP::recvMsg(int fd, size_t size)
     Network net;
 
     do {
-       boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(size));
+       std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(size));
        ret = net.readNet(fd, *buf, 5);
 //     cerr << __PRETTY_FUNCTION__ << ret << " : " << (char *)buf->reference() 
<< endl;
 
diff --git a/cygnal/libnet/http.h b/cygnal/libnet/http.h
index 74b3417..71a464a 100644
--- a/cygnal/libnet/http.h
+++ b/cygnal/libnet/http.h
@@ -137,8 +137,8 @@ public:
     bool checkGeneralFields(cygnal::Buffer &buf);
 
 //     // Parse an Echo Request message coming from the Red5 echo_test.
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
     
     // Convert the Content-Length field to a number we can use
     size_t getContentLength();
@@ -155,13 +155,13 @@ public:
     std::map<std::string, std::string> &getFields() { return _fields; };
 
     // Get an array of values for header field 'name'.
-    boost::shared_ptr<std::vector<std::string> > getFieldItem(const 
std::string &name);
+    std::shared_ptr<std::vector<std::string> > getFieldItem(const std::string 
&name);
 
     // Client side parsing of response message codes
-    boost::shared_ptr<http_response_t> parseStatus(const std::string &line);
+    std::shared_ptr<http_response_t> parseStatus(const std::string &line);
 
     // Handle the response for the request.
-    boost::shared_ptr<cygnal::Buffer> formatServerReply(http_status_e code);
+    std::shared_ptr<cygnal::Buffer> formatServerReply(http_status_e code);
     cygnal::Buffer &formatGetReply(DiskStream::filetype_e type, size_t size, 
http_status_e code); 
     cygnal::Buffer &formatGetReply(size_t size, http_status_e code); 
     cygnal::Buffer &formatGetReply(http_status_e code); 
@@ -275,7 +275,7 @@ public:
     int sendMsg();
     int sendMsg(int fd);
     int sendMsg(const boost::uint8_t *data, size_t size);
-    int sendMsg(boost::shared_ptr<cygnal::Buffer> &buf)
+    int sendMsg(std::shared_ptr<cygnal::Buffer> &buf)
        { return sendMsg(buf->reference(), buf->size()); };
     int sendMsg(std::stringstream &sstr)
        { return sendMsg(reinterpret_cast<const boost::uint8_t 
*>(sstr.str().c_str()), sstr.str().size()); };
@@ -298,13 +298,13 @@ public:
     std::string &getDocRoot() { return _docroot; };
     
     // Pop the first date element off the que
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT popChunk() { return 
_que.pop(); };
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT popChunk() { return _que.pop(); 
};
     // Peek at the first date element witjhout removing it from the que
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT peekChunk() { return 
_que.peek(); };
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT peekChunk() { return 
_que.peek(); };
     // Get the number of elements in the que
     size_t DSOEXPORT sizeChunks() { return _que.size(); };
 
-    boost::shared_ptr<cygnal::Buffer> DSOEXPORT mergeChunks() { return 
_que.merge(); };
+    std::shared_ptr<cygnal::Buffer> DSOEXPORT mergeChunks() { return 
_que.merge(); };
 
     http_method_e getOperation() { return _cmd; };
     
diff --git a/cygnal/libnet/network.cpp b/cygnal/libnet/network.cpp
index e6cb1d9..c8364a4 100644
--- a/cygnal/libnet/network.cpp
+++ b/cygnal/libnet/network.cpp
@@ -197,7 +197,7 @@ Network::createServer(std::string hostname, short port)
                     clientservice, sizeof(clientservice),
                     NI_NUMERICHOST);
         
-        boost::shared_ptr<char> straddr = getIPString(ot);
+        std::shared_ptr<char> straddr = getIPString(ot);
         
         if (ot->ai_family == AF_INET6) {
             log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
@@ -220,7 +220,7 @@ Network::createServer(std::string hostname, short port)
             // Try the next IP number
             it = it->ai_next;
         } else {
-            boost::shared_ptr<char> straddr = getIPString(it);
+            std::shared_ptr<char> straddr = getIPString(it);
             log_debug("Socket created for %s", straddr); 
             break;
         }
@@ -600,7 +600,7 @@ Network::createClient(const string &hostname, short port)
                     clientservice, sizeof(clientservice),
                     NI_NUMERICHOST);
         
-        boost::shared_ptr<char> straddr = getIPString(ot);
+        std::shared_ptr<char> straddr = getIPString(ot);
         
         if (ot->ai_family == AF_INET6) {
             log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
@@ -638,7 +638,7 @@ Network::createClient(const string &hostname, short port)
     struct sockaddr *saddr = it->ai_addr;
 
     const int addrlen = it->ai_addrlen;
-    boost::shared_ptr<char> straddr = getIPString(it);
+    std::shared_ptr<char> straddr = getIPString(it);
 
     freeaddrinfo(ans);          // free the response data
     
@@ -821,11 +821,11 @@ Network::closeConnection(int fd)
     return false;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 Network::readNet()
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buffer(new cygnal::Buffer);
+    std::shared_ptr<cygnal::Buffer> buffer(new cygnal::Buffer);
     int ret = readNet(*buffer);
     if (ret > 0) {
        buffer->resize(ret);
@@ -1319,12 +1319,12 @@ Network::getEntry(int fd)
     return _handlers[fd];
 }
 
-boost::shared_ptr<std::vector<struct pollfd> >
+std::shared_ptr<std::vector<struct pollfd> >
 Network::waitForNetData(int limit, struct pollfd *fds)
 {
 //    GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<vector<struct pollfd> > hits(new vector<struct pollfd>);
+    std::shared_ptr<vector<struct pollfd> > hits(new vector<struct pollfd>);
 
     log_debug(_("%s: waiting for %d fds"), __FUNCTION__, limit);
 
@@ -1673,10 +1673,10 @@ Network::sniffBytesReady(int fd)
 }
 
 // Return the string representation of the IPV4 or IPV6 number
-boost::shared_ptr<char>
+std::shared_ptr<char>
 Network::getIPString(struct addrinfo *ai)
 {
-    boost::shared_ptr<char> straddr(new char[INET6_ADDRSTRLEN]);
+    std::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);
diff --git a/cygnal/libnet/network.h b/cygnal/libnet/network.h
index 1e0ecc8..b4f21e8 100644
--- a/cygnal/libnet/network.h
+++ b/cygnal/libnet/network.h
@@ -208,7 +208,7 @@ public:
     /// @param nbytes The number of bytes to try to read.
     ///
     /// @return The number of bytes read.
-    boost::shared_ptr<cygnal::Buffer> readNet();
+    std::shared_ptr<cygnal::Buffer> readNet();
     int readNet(cygnal::Buffer &buffer);
     int readNet(int fd, cygnal::Buffer &buffer);
     int readNet(int fd, cygnal::Buffer *buffer);
@@ -245,7 +245,7 @@ public:
     /// @param limit The max number of file descriptors to wait for.
     ///
     /// @return A vector of the file descriptors that have activity.
-    boost::shared_ptr<std::vector<struct pollfd> > waitForNetData(int limit, 
struct pollfd *fds);
+    std::shared_ptr<std::vector<struct pollfd> > waitForNetData(int limit, 
struct pollfd *fds);
     fd_set waitForNetData(int limit, fd_set data);
     fd_set waitForNetData(std::vector<int> &data);
        
@@ -333,7 +333,7 @@ public:
     
  protected:
     // Return the string representation of the IPV4 or IPV6 number
-    boost::shared_ptr<char> getIPString(struct addrinfo *ai);
+    std::shared_ptr<char> getIPString(struct addrinfo *ai);
 
     in_addr_t   _ipaddr;
     int         _sockfd;       // the file descriptor used for reading and 
writing
diff --git a/cygnal/libnet/rtmp.cpp b/cygnal/libnet/rtmp.cpp
index aa29b1d..e84ff5f 100644
--- a/cygnal/libnet/rtmp.cpp
+++ b/cygnal/libnet/rtmp.cpp
@@ -253,19 +253,19 @@ RTMP::getProperty(const std::string &name)
     return it->second;
 }
 
-boost::shared_ptr<RTMP::rtmp_head_t>
+std::shared_ptr<RTMP::rtmp_head_t>
 RTMP::decodeHeader(cygnal::Buffer &buf)
 {
 //    GNASH_REPORT_FUNCTION;
     return decodeHeader(buf.reference());
 }
 
-boost::shared_ptr<RTMP::rtmp_head_t>
+std::shared_ptr<RTMP::rtmp_head_t>
 RTMP::decodeHeader(boost::uint8_t *in)
 {
     // GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<RTMP::rtmp_head_t> head(new RTMP::rtmp_head_t);
+    std::shared_ptr<RTMP::rtmp_head_t> head(new RTMP::rtmp_head_t);
     boost::uint8_t *tmpptr = in;
 
     head->channel = *tmpptr & RTMP_INDEX_MASK;
@@ -374,11 +374,11 @@ RTMP::decodeHeader(boost::uint8_t *in)
 /// * Routing - The source/destination of the message
 //
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeHeader(int amf_index, rtmp_headersize_e head_size)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(1));
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(1));
     buf->clear();
     boost::uint8_t *ptr = buf->reference();
     
@@ -390,14 +390,14 @@ RTMP::encodeHeader(int amf_index, rtmp_headersize_e 
head_size)
 }
 
 // There are 3 size of RTMP headers, 1, 4, 8, and 12.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeHeader(int amf_index, rtmp_headersize_e head_size,
                       size_t total_size, content_types_e type,
                       RTMPMsg::rtmp_source_e routing)
 {
 //    GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     switch(head_size) {
       case HEADER_1:
          buf.reset(new cygnal::Buffer(1));
@@ -503,14 +503,14 @@ RTMP::packetRead(cygnal::Buffer &buf)
 //    ptr = decodeHeader(ptr);
 //    ptr += headersize;
     
-    boost::shared_ptr<cygnal::Element> el = amf.extractAMF(ptr, tooFar);
+    std::shared_ptr<cygnal::Element> el = amf.extractAMF(ptr, tooFar);
 //    el->dump();
     el = amf.extractAMF(ptr, tooFar); // @@strk@@ : what's the +1 for ?
 //    el->dump();
     log_network(_("Reading AMF packets till we're done..."));
 //    buf->dump();
     while (ptr < end) {
-       boost::shared_ptr<cygnal::Element> el = amf.extractProperty(ptr, 
tooFar);
+       std::shared_ptr<cygnal::Element> el = amf.extractProperty(ptr, tooFar);
        addProperty(el);
 //     el->dump();
     }
@@ -524,16 +524,16 @@ RTMP::packetRead(cygnal::Buffer &buf)
 //     buf = _handler->merge(buf); FIXME needs to use shared_ptr
     }
     while ((ptr - buf.begin()) < static_cast<int>(actual_size)) {
-       boost::shared_ptr<cygnal::Element> el = amf.extractProperty(ptr, 
tooFar);
+       std::shared_ptr<cygnal::Element> el = amf.extractProperty(ptr, tooFar);
        addProperty(el);
 //     el->dump();             // FIXME: dump the AMF objects as they are read 
in
     }
 
 //    dump();
     
-    boost::shared_ptr<cygnal::Element> url = getProperty("tcUrl");
-    boost::shared_ptr<cygnal::Element> file = getProperty("swfUrl");
-    boost::shared_ptr<cygnal::Element> app = getProperty("app");
+    std::shared_ptr<cygnal::Element> url = getProperty("tcUrl");
+    std::shared_ptr<cygnal::Element> file = getProperty("swfUrl");
+    std::shared_ptr<cygnal::Element> app = getProperty("app");
     
     if (file) {
        log_network(_("SWF file %s"), file->to_string());
@@ -591,13 +591,13 @@ RTMP::dump()
 // are required. This seems to be a ping message, 12 byte header,
 // system channel 2 
 // 02 00 00 00 00 00 06 04 00 00 00 00 00 00 00 00 00 00
-boost::shared_ptr<RTMP::rtmp_ping_t>
+std::shared_ptr<RTMP::rtmp_ping_t>
 RTMP::decodePing(boost::uint8_t *data)
 {
 //    GNASH_REPORT_FUNCTION;
     
     boost::uint8_t *ptr = reinterpret_cast<boost::uint8_t *>(data);
-    boost::shared_ptr<rtmp_ping_t> ping(new rtmp_ping_t);
+    std::shared_ptr<rtmp_ping_t> ping(new rtmp_ping_t);
 
     // All the data fields in a ping message are 2 bytes long.
     boost::uint16_t type = ntohs(*reinterpret_cast<boost::uint16_t *>(ptr));
@@ -618,27 +618,27 @@ RTMP::decodePing(boost::uint8_t *data)
 
     return ping;    
 }
-boost::shared_ptr<RTMP::rtmp_ping_t>
+std::shared_ptr<RTMP::rtmp_ping_t>
 RTMP::decodePing(cygnal::Buffer &buf)
 {
 //    GNASH_REPORT_FUNCTION;
     return decodePing(buf.reference());
 }
 
-boost::shared_ptr<RTMP::user_event_t>
+std::shared_ptr<RTMP::user_event_t>
 RTMP::decodeUserControl(cygnal::Buffer &buf)
 {
 //    GNASH_REPORT_FUNCTION;
     return decodeUserControl(buf.reference());
 }
 
-boost::shared_ptr<RTMP::user_event_t>
+std::shared_ptr<RTMP::user_event_t>
 RTMP::decodeUserControl(boost::uint8_t *data)
 {
 //    GNASH_REPORT_FUNCTION;
     
     boost::uint8_t *ptr = reinterpret_cast<boost::uint8_t *>(data);
-    boost::shared_ptr<user_event_t> user(new RTMP::user_event_t);
+    std::shared_ptr<user_event_t> user(new RTMP::user_event_t);
 
     boost::uint16_t type = ntohs(*reinterpret_cast<boost::uint16_t *>(ptr));
     boost::uint16_t eventid = static_cast<user_control_e>(type);
@@ -682,13 +682,13 @@ RTMP::decodeUserControl(boost::uint8_t *data)
 //   02 00 00 00 00 00 06 04 00 00 00 00   00 04 00 00 00 01
 // Stream Start -
 //   02 00 00 00 00 00 06 04 00 00 00 00   00 00 00 00 00 01
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeUserControl(user_control_e eventid, boost::uint32_t data)
 {
 //    GNASH_REPORT_FUNCTION;
 
     boost::uint32_t swapped = 0;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     if (eventid == STREAM_BUFFER) {
        buf.reset(new cygnal::Buffer(sizeof(boost::uint16_t) * 5));
     } else {
@@ -728,7 +728,7 @@ RTMP::encodeUserControl(user_control_e eventid, 
boost::uint32_t data)
     return buf;
 }
 
-boost::shared_ptr<RTMPMsg>
+std::shared_ptr<RTMPMsg>
 RTMP::decodeMsgBody(boost::uint8_t *data, size_t size)
 {
 //     GNASH_REPORT_FUNCTION;
@@ -736,10 +736,10 @@ RTMP::decodeMsgBody(boost::uint8_t *data, size_t size)
     boost::uint8_t *ptr = data;
     boost::uint8_t* tooFar = data + size;
     bool status = false;
-    boost::shared_ptr<RTMPMsg> msg(new RTMPMsg);
+    std::shared_ptr<RTMPMsg> msg(new RTMPMsg);
 
     // The first data object is the method name of this object.
-    boost::shared_ptr<cygnal::Element> name = amf_obj.extractAMF(ptr, tooFar);
+    std::shared_ptr<cygnal::Element> name = amf_obj.extractAMF(ptr, tooFar);
     if (name) {
        ptr += name->getDataSize() + cygnal::AMF_HEADER_SIZE; // skip the 
length bytes too
     } else {
@@ -750,7 +750,7 @@ RTMP::decodeMsgBody(boost::uint8_t *data, size_t size)
 
     // The stream ID is the second data object. All messages have
     // these two objects at the minimum.
-    boost::shared_ptr<cygnal::Element> streamid = amf_obj.extractAMF(ptr, 
tooFar);
+    std::shared_ptr<cygnal::Element> streamid = amf_obj.extractAMF(ptr, 
tooFar);
     if (streamid) {
        // Most onStatus messages have the stream ID, but the Data
        // Start onStatus message is basically just a marker that an
@@ -781,7 +781,7 @@ RTMP::decodeMsgBody(boost::uint8_t *data, size_t size)
     while (ptr < tooFar) {
        // These pointers get deleted automatically when the msg
        // object is deleted 
-        boost::shared_ptr<cygnal::Element> el = amf_obj.extractAMF(ptr, 
tooFar);
+        std::shared_ptr<cygnal::Element> el = amf_obj.extractAMF(ptr, tooFar);
        ptr += amf_obj.totalsize();
         if (el == 0) {
            break;
@@ -795,7 +795,7 @@ RTMP::decodeMsgBody(boost::uint8_t *data, size_t size)
     return msg;
 }
 
-boost::shared_ptr<RTMPMsg> 
+std::shared_ptr<RTMPMsg>
 RTMP::decodeMsgBody(cygnal::Buffer &buf)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -805,13 +805,13 @@ RTMP::decodeMsgBody(cygnal::Buffer &buf)
 // 02 00 00 00 00 00 04 01 00 00 00 00 00 00 10 00
 // id=2 timestamp=0 body_size=4 content_type=0x01 dest=0       
 // Set chunk size 4096
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeChunkSize(int size)
 {
     GNASH_REPORT_FUNCTION;
 
     boost::uint32_t swapped = htonl(size);
-    boost::shared_ptr<cygnal::Buffer> buf(new 
cygnal::Buffer(sizeof(boost::uint32_t)));
+    std::shared_ptr<cygnal::Buffer> buf(new 
cygnal::Buffer(sizeof(boost::uint32_t)));
     *buf += swapped;
 
     return buf;
@@ -826,12 +826,12 @@ RTMP::decodeChunkSize()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeBytesRead()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void
@@ -841,12 +841,12 @@ RTMP::decodeBytesRead()
     log_unimpl(__PRETTY_FUNCTION__);
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeServer()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -856,12 +856,12 @@ RTMP::decodeServer()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeClient()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -871,12 +871,12 @@ RTMP::decodeClient()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeAudioData()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -886,12 +886,12 @@ RTMP::decodeAudioData()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeVideoData()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -901,12 +901,12 @@ RTMP::decodeVideoData()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeNotify()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -916,12 +916,12 @@ RTMP::decodeNotify()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeSharedObj()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 
 void 
@@ -931,12 +931,12 @@ RTMP::decodeSharedObj()
     log_unimpl(__PRETTY_FUNCTION__);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::encodeInvoke()
 {
     GNASH_REPORT_FUNCTION;
     log_unimpl(__PRETTY_FUNCTION__);
-    return boost::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
+    return std::shared_ptr<cygnal::Buffer>((cygnal::Buffer*)0);
 }
 void 
 RTMP::decodeInvoke()
@@ -1000,19 +1000,19 @@ RTMP::sendMsg(int fd, int channel, rtmp_headersize_e 
head_size,
     
     // Figure out how many packets it'll take to send this data.
     int pkts = size/_chunksize[channel];
-    boost::shared_ptr<cygnal::Buffer> bigbuf(new 
cygnal::Buffer(size+pkts+100));
+    std::shared_ptr<cygnal::Buffer> bigbuf(new cygnal::Buffer(size+pkts+100));
        
     // This builds the full header, which is required as the first part
     // of the packet.
-    boost::shared_ptr<cygnal::Buffer> head = encodeHeader(channel, head_size,
+    std::shared_ptr<cygnal::Buffer> head = encodeHeader(channel, head_size,
                                        total_size, type, routing);
     // When more data is sent than fits in the chunksize for this
     // channel, it gets broken into chunksize pieces, and each piece
     // after the first packet is sent gets a one byte header instead.
 #if 0
-    boost::shared_ptr<cygnal::Buffer> cont_head = encodeHeader(channel, 
RTMP::HEADER_1);
+    std::shared_ptr<cygnal::Buffer> cont_head = encodeHeader(channel, 
RTMP::HEADER_1);
 #else
-    boost::shared_ptr<cygnal::Buffer> cont_head(new cygnal::Buffer(1));
+    std::shared_ptr<cygnal::Buffer> cont_head(new cygnal::Buffer(1));
     boost::uint8_t foo = 0xc3;
     *cont_head = foo;
 #endif
@@ -1100,7 +1100,7 @@ RTMP::sendRecvMsg(cygnal::Buffer &bufin)
 {
     GNASH_REPORT_FUNCTION;
 //    size_t total_size = buf2->size() - 6; // FIXME: why drop 6 bytes ?
-    boost::shared_ptr<cygnal::Buffer> head = encodeHeader(amf_index, 
head_size, total_size,
+    std::shared_ptr<cygnal::Buffer> head = encodeHeader(amf_index, head_size, 
total_size,
                                type, routing);
 //    int ret = 0;
     int ret = writeNet(head->reference(), head->size()); // send the header 
first
@@ -1112,7 +1112,7 @@ RTMP::sendRecvMsg(cygnal::Buffer &bufin)
 
     RTMP::rtmp_head_t *rthead = 0;
     RTMPMsg *msg = 0;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     boost::uint8_t *ptr = 0;
 
 
@@ -1195,7 +1195,7 @@ RTMP::sendRecvMsg(cygnal::Buffer &bufin)
              case VIDEO_DATA:
              {
                  log_network(_("Got VIDEO packets!!!"));
-                 boost::shared_ptr<cygnal::Buffer> frame;
+                 std::shared_ptr<cygnal::Buffer> frame;
                  do {
                      frame = recvMsg(1);       // use a 1 second timeout
                      if (frame) {
@@ -1251,7 +1251,7 @@ RTMP::sendRecvMsg(cygnal::Buffer &bufin)
 // Receive a message, which is a series of AMF elements, seperated
 // by a one byte header at regular byte intervals. (128 bytes for
 // video data by default). Each message main contain multiple packets.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::recvMsg()
 {
 //    GNASH_REPORT_FUNCTION;
@@ -1262,7 +1262,7 @@ RTMP::recvMsg()
 // more efficient. As these reads may cross packet boundaries, and they may
 // also include the RTMP header every _chunksize bytes, this raw data will
 // need to be processed later on.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMP::recvMsg(int fd)
 {
 //     GNASH_REPORT_FUNCTION;
@@ -1271,7 +1271,7 @@ RTMP::recvMsg(int fd)
     //bool nopacket = true;
 
     // Read really big packets, they get split into the smaller ones when 
'split'
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(3074));
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(3074));
     do {
        ret = readNet(fd, buf->reference()+ret, buf->size()-ret, _timeout);
        // We got data. Resize the buffer if necessary.
@@ -1313,14 +1313,14 @@ RTMP::recvMsg(int fd)
 // but RTMP uses a weird scheme of a standard header, and then every chunksize
 // bytes another 1 byte RTMP header. The header itself is not part of the byte
 // count.
-boost::shared_ptr<RTMP::queues_t>
+std::shared_ptr<RTMP::queues_t>
 RTMP::split(cygnal::Buffer &buf)
 {
 //     GNASH_REPORT_FUNCTION;
     return split(buf.reference(), buf.allocated());
 }
 
-boost::shared_ptr<RTMP::queues_t>
+std::shared_ptr<RTMP::queues_t>
 RTMP::split(boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -1329,16 +1329,16 @@ RTMP::split(boost::uint8_t *data, size_t size)
        log_error(_("Buffer pointer is invalid."));
     }
 
-    boost::shared_ptr<RTMP::queues_t> channels(new RTMP::queues_t);
+    std::shared_ptr<RTMP::queues_t> channels(new RTMP::queues_t);
        
     // split the buffer at the chunksize boundary
     boost::uint8_t *ptr = 0;
-    boost::shared_ptr<rtmp_head_t> rthead(new rtmp_head_t);
+    std::shared_ptr<rtmp_head_t> rthead(new rtmp_head_t);
     size_t pktsize = 0;
     //size_t nbytes = 0;
     
     ptr = data;
-    boost::shared_ptr<cygnal::Buffer> chunk;
+    std::shared_ptr<cygnal::Buffer> chunk;
     // There may be multiple messages in this Buffer, so we walk a
     // temp pointer through the contents of the Buffer.
     while ((ptr - data) < static_cast<int>(size)) {
diff --git a/cygnal/libnet/rtmp.h b/cygnal/libnet/rtmp.h
index 8e44027..4b8a61d 100644
--- a/cygnal/libnet/rtmp.h
+++ b/cygnal/libnet/rtmp.h
@@ -267,7 +267,7 @@ public:
 //     rtmp_status_e status;
 //     std::string   method;
 //     double        streamid;
-//     std::vector<boost::shared_ptr<cygnal::Element> > objs;
+//     std::vector<std::shared_ptr<cygnal::Element> > objs;
 //     } rtmp_msg_t;
     typedef enum {
         RTMP_ERR_UNDEF,
@@ -323,14 +323,14 @@ public:
     virtual ~RTMP();
 
     // Decode
-    boost::shared_ptr<rtmp_head_t> decodeHeader(boost::uint8_t *header);
-    boost::shared_ptr<rtmp_head_t> decodeHeader(cygnal::Buffer &data);
+    std::shared_ptr<rtmp_head_t> decodeHeader(boost::uint8_t *header);
+    std::shared_ptr<rtmp_head_t> decodeHeader(cygnal::Buffer &data);
     
-    boost::shared_ptr<cygnal::Buffer> encodeHeader(int amf_index,
+    std::shared_ptr<cygnal::Buffer> encodeHeader(int amf_index,
                                        rtmp_headersize_e head_size,
                                        size_t total_size, content_types_e type,
                                        RTMPMsg::rtmp_source_e routing);
-    boost::shared_ptr<cygnal::Buffer> encodeHeader(int amf_index,
+    std::shared_ptr<cygnal::Buffer> encodeHeader(int amf_index,
                                                rtmp_headersize_e head_size);
     
     void addProperty(cygnal::Element &el);
@@ -349,49 +349,49 @@ public:
     int getMysteryWord()        { return _mystery_word; };
 
     // Decode an RTMP message
-    boost::shared_ptr<RTMPMsg> decodeMsgBody(boost::uint8_t *data, size_t 
size);
-    boost::shared_ptr<RTMPMsg> decodeMsgBody(cygnal::Buffer &buf);
+    std::shared_ptr<RTMPMsg> decodeMsgBody(boost::uint8_t *data, size_t size);
+    std::shared_ptr<RTMPMsg> decodeMsgBody(cygnal::Buffer &buf);
     
-    virtual boost::shared_ptr<rtmp_ping_t> decodePing(boost::uint8_t *data);
-    boost::shared_ptr<rtmp_ping_t> decodePing(cygnal::Buffer &buf);
+    virtual std::shared_ptr<rtmp_ping_t> decodePing(boost::uint8_t *data);
+    std::shared_ptr<rtmp_ping_t> decodePing(cygnal::Buffer &buf);
     
-    virtual boost::shared_ptr<user_event_t> decodeUserControl(boost::uint8_t 
*data);
-    boost::shared_ptr<user_event_t> decodeUserControl(cygnal::Buffer &buf);
-    virtual boost::shared_ptr<cygnal::Buffer> 
encodeUserControl(user_control_e, boost::uint32_t data);
+    virtual std::shared_ptr<user_event_t> decodeUserControl(boost::uint8_t 
*data);
+    std::shared_ptr<user_event_t> decodeUserControl(cygnal::Buffer &buf);
+    virtual std::shared_ptr<cygnal::Buffer> encodeUserControl(user_control_e, 
boost::uint32_t data);
     
     
     // These are handlers for the various types
-    virtual boost::shared_ptr<cygnal::Buffer> encodeChunkSize(int size);
+    virtual std::shared_ptr<cygnal::Buffer> encodeChunkSize(int size);
     virtual void decodeChunkSize();
 
-    virtual boost::shared_ptr<cygnal::Buffer> encodeBytesRead();
+    virtual std::shared_ptr<cygnal::Buffer> encodeBytesRead();
     virtual void decodeBytesRead();
-    virtual boost::shared_ptr<cygnal::Buffer> encodeServer();
+    virtual std::shared_ptr<cygnal::Buffer> encodeServer();
     virtual void decodeServer();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeClient();
+    virtual std::shared_ptr<cygnal::Buffer> encodeClient();
     virtual void decodeClient();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeAudioData();
+    virtual std::shared_ptr<cygnal::Buffer> encodeAudioData();
     virtual void decodeAudioData();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeVideoData();
+    virtual std::shared_ptr<cygnal::Buffer> encodeVideoData();
     virtual void decodeVideoData();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeNotify();
+    virtual std::shared_ptr<cygnal::Buffer> encodeNotify();
     virtual void decodeNotify();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeSharedObj();
+    virtual std::shared_ptr<cygnal::Buffer> encodeSharedObj();
     virtual void decodeSharedObj();
     
-    virtual boost::shared_ptr<cygnal::Buffer> encodeInvoke();
+    virtual std::shared_ptr<cygnal::Buffer> encodeInvoke();
     virtual void decodeInvoke();
 
     // Receive a message, which is a series of AMF elements, seperated
     // by a one byte header at regular byte intervals. (128 bytes for
     // video data by default). Each message may contain multiple packets.
-    boost::shared_ptr<cygnal::Buffer> recvMsg();
-    boost::shared_ptr<cygnal::Buffer> recvMsg(int fd);
+    std::shared_ptr<cygnal::Buffer> recvMsg();
+    std::shared_ptr<cygnal::Buffer> recvMsg(int fd);
 
     // Send a message, usually a single ActionScript object. This message
     // may be broken down into a series of packets on a regular byte
@@ -422,8 +422,8 @@ public:
     // but RTMP uses a weird scheme of a standard header, and then every 
chunksize
     // bytes another 1 byte RTMP header. The header itself is not part of the 
byte
     // count.
-    boost::shared_ptr<queues_t> split(cygnal::Buffer &buf);
-    boost::shared_ptr<queues_t> split(boost::uint8_t *data, size_t size);
+    std::shared_ptr<queues_t> split(cygnal::Buffer &buf);
+    std::shared_ptr<queues_t> split(boost::uint8_t *data, size_t size);
 
     CQue &operator[] (size_t x) { return _queues[x]; }
 
diff --git a/cygnal/libnet/rtmp_client.cpp b/cygnal/libnet/rtmp_client.cpp
index 7b3f693..115fd40 100644
--- a/cygnal/libnet/rtmp_client.cpp
+++ b/cygnal/libnet/rtmp_client.cpp
@@ -46,7 +46,7 @@
 #include "GnashSleep.h"
 #include "URL.h"
 
-typedef boost::shared_ptr<cygnal::Element> ElementSharedPtr;
+typedef std::shared_ptr<cygnal::Element> ElementSharedPtr;
 
 namespace gnash
 {
@@ -79,7 +79,7 @@ RTMPClient::~RTMPClient()
 
 // Make the NetConnection object that is used to connect to the
 // server.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeConnect()
 {
 //     GNASH_REPORT_FUNCTION;
@@ -87,7 +87,7 @@ RTMPClient::encodeConnect()
     return encodeConnect(_path.c_str());
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeConnect(const char *uri)
 {
 //     GNASH_REPORT_FUNCTION;
@@ -97,7 +97,7 @@ RTMPClient::encodeConnect(const char *uri)
                         RTMPClient::SEEK);
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeConnect(const char *uri,
                          double audioCodecs, double videoCodecs,
                          double videoFunction)
@@ -166,7 +166,7 @@ RTMPClient::encodeConnect(const char *uri,
                         pageUrl.c_str());
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeConnect(const char *app, const char *swfUrl, const char 
*tcUrl,
                           double audioCodecs, double videoCodecs, double 
videoFunction,
                           const char *pageUrl)
@@ -247,11 +247,11 @@ RTMPClient::encodeConnect(const char *app, const char 
*swfUrl, const char *tcUrl
 //                                      RTMP::INVOKE, RTMP::FROM_CLIENT);
 //     const char *rtmpStr = "03 00 00 04 00 01 1f 14 00 00 00 00";
 //     Buffer *rtmpBuf = hex2mem(rtmpStr);
-    boost::shared_ptr<cygnal::Buffer> conobj = connect->encode();
-    boost::shared_ptr<cygnal::Buffer> numobj = connum->encode();
-    boost::shared_ptr<cygnal::Buffer> encobj = obj->encode();
+    std::shared_ptr<cygnal::Buffer> conobj = connect->encode();
+    std::shared_ptr<cygnal::Buffer> numobj = connum->encode();
+    std::shared_ptr<cygnal::Buffer> encobj = obj->encode();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(conobj->size() + 
numobj->size() + encobj->size()));
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(conobj->size() + 
numobj->size() + encobj->size()));
     *buf += conobj;
     *buf += numobj;
     *buf += encobj;
@@ -278,7 +278,7 @@ RTMPClient::connectToServer(const std::string &url)
        // to be on the end of the second block of handshake data.
        // We build this here so we can get the total encoded
        // size of the object.
-       boost::shared_ptr<cygnal::Buffer> ncbuf = encodeConnect();
+       std::shared_ptr<cygnal::Buffer> ncbuf = encodeConnect();
 
        // As at this point we don't have an RTMP connection,
        // we can't use the regular sendMsg(), that handles the RTMP
@@ -302,13 +302,13 @@ RTMPClient::connectToServer(const std::string &url)
            }
        } while (nbytes < ncbuf->allocated());
 
-       boost::shared_ptr<cygnal::Buffer> head = encodeHeader(0x3,
+       std::shared_ptr<cygnal::Buffer> head = encodeHeader(0x3,
                            RTMP::HEADER_12, ncbuf->allocated(),
                            RTMP::INVOKE, RTMPMsg::FROM_CLIENT);
 
        // Build the first handshake packet, and send it to the
        // server.
-       boost::shared_ptr<cygnal::Buffer> handshake1 = handShakeRequest();
+       std::shared_ptr<cygnal::Buffer> handshake1 = handShakeRequest();
        if (!handshake1) {
            log_error(_("RTMP handshake request failed"));
            return false;
@@ -338,13 +338,13 @@ RTMPClient::connectToServer(const std::string &url)
        }
        
        // give the server time to process our NetConnection::connect() request 
-       boost::shared_ptr<cygnal::Buffer> response;
-       boost::shared_ptr<RTMP::rtmp_head_t> rthead;
-       boost::shared_ptr<RTMP::queues_t> que;
+       std::shared_ptr<cygnal::Buffer> response;
+       std::shared_ptr<RTMP::rtmp_head_t> rthead;
+       std::shared_ptr<RTMP::queues_t> que;
        
        RTMPClient::msgque_t msgque = recvResponse();
        while (msgque.size()) {
-           boost::shared_ptr<RTMPMsg> msg = msgque.front();
+           std::shared_ptr<RTMPMsg> msg = msgque.front();
            msgque.pop_front();
            if (msg->getStatus() ==  RTMPMsg::NC_CONNECT_SUCCESS) {
                log_network(_("Sent NetConnection Connect message 
successfully"));
@@ -358,29 +358,29 @@ RTMPClient::connectToServer(const std::string &url)
     return true;
 }
     
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeEchoRequest(const std::string &method, double id, 
cygnal::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Element> str(new cygnal::Element);
+    std::shared_ptr<cygnal::Element> str(new cygnal::Element);
     str->makeString(method);
-    boost::shared_ptr<cygnal::Buffer> strobj = str->encode();
+    std::shared_ptr<cygnal::Buffer> strobj = str->encode();
 
     // Encod ethe stream ID
-    boost::shared_ptr<cygnal::Element>  num(new cygnal::Element);
+    std::shared_ptr<cygnal::Element>  num(new cygnal::Element);
     num->makeNumber(id);
-    boost::shared_ptr<cygnal::Buffer> numobj = num->encode();
+    std::shared_ptr<cygnal::Buffer> numobj = num->encode();
 
     // Set the NULL object element that follows the stream ID
-    boost::shared_ptr<cygnal::Element> null(new cygnal::Element);
+    std::shared_ptr<cygnal::Element> null(new cygnal::Element);
     null->makeNull();
-    boost::shared_ptr<cygnal::Buffer> nullobj = null->encode();
+    std::shared_ptr<cygnal::Buffer> nullobj = null->encode();
 
-    boost::shared_ptr<cygnal::Buffer> elobj = el.encode();
+    std::shared_ptr<cygnal::Buffer> elobj = el.encode();
 
     size_t totalsize = strobj->size() + numobj->size() + nullobj->size() + 
elobj->size();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(totalsize));
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(totalsize));
     
     *buf += strobj;
     *buf += numobj;
@@ -393,7 +393,7 @@ RTMPClient::encodeEchoRequest(const std::string &method, 
double id, cygnal::Elem
 // 43 00 1a 21 00 00 19 14 02 00 0c 63 72 65 61 74  C..!.......creat
 // 65 53 74 72 65 61 6d 00 40 08 00 00 00 00 00 00  address@hidden
 // 05                                                    .               
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeStream(double id)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -401,22 +401,22 @@ RTMPClient::encodeStream(double id)
     struct timespec now;
     clock_gettime (CLOCK_REALTIME, &now);
 
-    boost::shared_ptr<cygnal::Element> str(new cygnal::Element);
+    std::shared_ptr<cygnal::Element> str(new cygnal::Element);
     str->makeString("createStream");
-    boost::shared_ptr<cygnal::Buffer> strobj = str->encode();
+    std::shared_ptr<cygnal::Buffer> strobj = str->encode();
   
-    boost::shared_ptr<cygnal::Element>  num(new cygnal::Element);
+    std::shared_ptr<cygnal::Element>  num(new cygnal::Element);
     num->makeNumber(id);
-    boost::shared_ptr<cygnal::Buffer> numobj = num->encode();
+    std::shared_ptr<cygnal::Buffer> numobj = num->encode();
 
     // Set the NULL object element that follows the stream ID
-    boost::shared_ptr<cygnal::Element> null(new cygnal::Element);
+    std::shared_ptr<cygnal::Element> null(new cygnal::Element);
     null->makeNull();
-    boost::shared_ptr<cygnal::Buffer> nullobj = null->encode();    
+    std::shared_ptr<cygnal::Buffer> nullobj = null->encode();
 
     size_t totalsize = strobj->size() + numobj->size() + nullobj->size();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(totalsize));
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(totalsize));
 
     *buf += strobj;
     *buf += numobj;
@@ -431,21 +431,21 @@ RTMPClient::encodeStream(double id)
 // 6f 6e 32 5f 66 6c 61 73 68 38 5f 77 5f 61 75 64  on2_flash8_w_aud
 // 69 6f 2e 66 6c 76 c2 00 03 00 00 00 01 00 00 27  io.flv.........'
 // 10
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool flag)
 {
 //    GNASH_REPORT_FUNCTION;
     return encodeStreamOp(id, op, flag, "", 0);
 }    
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool flag, double pos)
 {
 //    GNASH_REPORT_FUNCTION;
     return encodeStreamOp(id, op, flag, "", pos);
 }    
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool flag, const 
std::string &name)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -458,7 +458,7 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
 // A pause packet is the operation name "pause", followed by the stream ID,
 // then a NULL object, a boolean (always true from what I can tell), and then
 // a location, which appears to always be 0.
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool flag, const 
std::string &name, double pos)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -482,25 +482,25 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
          str.makeString("seek");
          break;
       default:
-         boost::shared_ptr<cygnal::Buffer> foo;
+         std::shared_ptr<cygnal::Buffer> foo;
          return foo;
     };
 
-    boost::shared_ptr<cygnal::Buffer> strobj = str.encode();
+    std::shared_ptr<cygnal::Buffer> strobj = str.encode();
 
     // Set the stream ID, which follows the command
     cygnal::Element strid;
     strid.makeNumber(id);
-    boost::shared_ptr<cygnal::Buffer> stridobj = strid.encode();
+    std::shared_ptr<cygnal::Buffer> stridobj = strid.encode();
 
     // Set the NULL object element that follows the stream ID
     cygnal::Element null;
     null.makeNull();
-    boost::shared_ptr<cygnal::Buffer> nullobj = null.encode();    
+    std::shared_ptr<cygnal::Buffer> nullobj = null.encode();
 
     // Set the BOOLEAN object element that is the last field in the packet
     // (SEEK and PLAY don't use the boolean flag)
-    boost::shared_ptr<cygnal::Buffer> boolobj;
+    std::shared_ptr<cygnal::Buffer> boolobj;
     if ((op != STREAM_SEEK) && (op != STREAM_PLAY)) {
         cygnal::Element boolean;
         boolean.makeBoolean(flag);
@@ -508,7 +508,7 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
     }
 
     // The seek command also may have an optional location to seek to
-    boost::shared_ptr<cygnal::Buffer> posobj;
+    std::shared_ptr<cygnal::Buffer> posobj;
     if ((op == STREAM_PAUSE) || (op == STREAM_SEEK)) {
         cygnal::Element seek;
         seek.makeNumber(pos);
@@ -518,7 +518,7 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
     // The play command has an optional field, which is the name of the file
     // used for the stream. A Play command without this name set play an
     // existing stream that is already open.
-    boost::shared_ptr<cygnal::Buffer> fileobj; 
+    std::shared_ptr<cygnal::Buffer> fileobj;
     if (!name.empty()) {
         cygnal::Element filespec;
         filespec.makeString(name);
@@ -533,7 +533,7 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
     if ( fileobj ) pktsize += fileobj->size();
     if ( posobj ) pktsize += posobj->size();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(pktsize));    
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(pktsize));
     *buf += strobj;
     *buf += stridobj;
     *buf += nullobj;
@@ -546,14 +546,14 @@ RTMPClient::encodeStreamOp(double id, rtmp_op_e op, bool 
flag, const std::string
 
 // A request for a handshake is initiated by sending a byte with a
 // value of 0x3, followed by a message body of unknown format.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::handShakeRequest()
 {
     GNASH_REPORT_FUNCTION;
     boost::uint32_t zero = 0;
 
     // Make a buffer to hold the handshake data.
-    boost::shared_ptr<cygnal::Buffer> handshake(new 
cygnal::Buffer(RTMP_HANDSHAKE_SIZE+1));
+    std::shared_ptr<cygnal::Buffer> handshake(new 
cygnal::Buffer(RTMP_HANDSHAKE_SIZE+1));
     if (!handshake) {
        return handshake;
     }
@@ -584,7 +584,7 @@ RTMPClient::handShakeRequest()
 // The client finishes the handshake process by sending the second
 // data block we get from the server as the response
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::clientFinish()
 {
 //     GNASH_REPORT_FUNCTION;
@@ -593,7 +593,7 @@ RTMPClient::clientFinish()
     return clientFinish(data);
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPClient::clientFinish(cygnal::Buffer &data)
 {
     GNASH_REPORT_FUNCTION;
@@ -607,7 +607,7 @@ RTMPClient::clientFinish(cygnal::Buffer &data)
     // The handhake for this phase is twice the size of the initial handshake
     // we sent previously, plus one byte for the RTMP version header.
     int max_size = (RTMP_HANDSHAKE_SIZE*2) + 1;
-    boost::shared_ptr<cygnal::Buffer> handshake1(new cygnal::Buffer(
+    std::shared_ptr<cygnal::Buffer> handshake1(new cygnal::Buffer(
                              max_size + data.allocated()));
     do {
        ret = readNet(handshake1->end(), max_size - offset);
@@ -656,7 +656,7 @@ RTMPClient::clientFinish(cygnal::Buffer &data)
 #endif
 
     // Make a new buffer big enough to hold the handshake, data, and header 
byte
-    boost::shared_ptr<cygnal::Buffer> handshake2(new cygnal::Buffer(
+    std::shared_ptr<cygnal::Buffer> handshake2(new cygnal::Buffer(
                             RTMP_HANDSHAKE_SIZE + data.allocated()));
     
     // Copy the timestamp from the message we just received.
@@ -724,7 +724,7 @@ RTMPClient::recvResponse()
     
     // Read the responses back from the server.  This is usually a series of 
system
     // messages on channel 2, and the response message on channel 3 from our 
request.
-    boost::shared_ptr<cygnal::Buffer> response = recvMsg();
+    std::shared_ptr<cygnal::Buffer> response = recvMsg();
     if (!response) {
        log_error(_("Got no response from the RTMP server"));
        return msgque;
@@ -740,8 +740,8 @@ RTMPClient::recvResponse()
 
     // The response packet contains multiple messages for multiple channels, 
so we
     // we have to split the Buffer into seperate messages on a chunksize 
boundary.
-    boost::shared_ptr<RTMP::rtmp_head_t> rthead;
-    boost::shared_ptr<RTMP::queues_t> que = split(pktstart, 
response->allocated()-1);
+    std::shared_ptr<RTMP::rtmp_head_t> rthead;
+    std::shared_ptr<RTMP::queues_t> que = split(pktstart, 
response->allocated()-1);
 
     // If we got no responses, something obviously went wrong.
     if (!que->size()) {
@@ -760,7 +760,7 @@ RTMPClient::recvResponse()
 
        while (channel_q->size()) {
            // Get the first message in the channel queue
-           boost::shared_ptr<cygnal::Buffer> ptr = channel_q->pop();
+           std::shared_ptr<cygnal::Buffer> ptr = channel_q->pop();
            ptr->dump();
            if (ptr) {          // If there is legit data
                rthead = decodeHeader(ptr->reference());
@@ -785,7 +785,7 @@ RTMPClient::recvResponse()
                      break;
                  case RTMP::USER:
                  {
-                     boost::shared_ptr<RTMP::rtmp_ping_t> ping = 
decodePing(ptr->reference() + rthead->head_size);
+                     std::shared_ptr<RTMP::rtmp_ping_t> ping = 
decodePing(ptr->reference() + rthead->head_size);
                      log_network(_("Got a Ping type %s"), 
ping_str[ping->type]);
                      break;
                  }
@@ -800,7 +800,7 @@ RTMPClient::recvResponse()
                      break;
                  case RTMP::AUDIO_DATA:
                  {
-                     boost::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
+                     std::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
                      if (msg) {
                          msgque.push_back(msg);
                      }
@@ -808,7 +808,7 @@ RTMPClient::recvResponse()
                  }
                  case RTMP::VIDEO_DATA:
                  {
-                     boost::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
+                     std::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
                      if (msg) {
                          msgque.push_back(msg);
                      }
@@ -831,7 +831,7 @@ RTMPClient::recvResponse()
                      break;
                  case RTMP::INVOKE:
                  {
-                     boost::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
+                     std::shared_ptr<RTMPMsg> msg = 
decodeMsgBody(ptr->reference() + rthead->head_size, rthead->bodysize);
                      if (msg) {
                          msgque.push_back(msg);
                      }
diff --git a/cygnal/libnet/rtmp_client.h b/cygnal/libnet/rtmp_client.h
index 6378149..9145f61 100644
--- a/cygnal/libnet/rtmp_client.h
+++ b/cygnal/libnet/rtmp_client.h
@@ -45,18 +45,18 @@ public:
 
     bool handShakeWait();
 //    bool handShakeResponse();
-    boost::shared_ptr<cygnal::Buffer> clientFinish();
-    DSOEXPORT  boost::shared_ptr<cygnal::Buffer> clientFinish(cygnal::Buffer 
&data);
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> handShakeRequest();
+    std::shared_ptr<cygnal::Buffer> clientFinish();
+    DSOEXPORT  std::shared_ptr<cygnal::Buffer> clientFinish(cygnal::Buffer 
&data);
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> handShakeRequest();
     
     // These are used for creating the primary objects
     // Create the initial object sent to the server, which
     // is NetConnection::connect()
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeConnect();
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeConnect(const char *uri);
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeConnect(const char *uri, 
double audioCodecs, double videoCodecs,
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeConnect();
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeConnect(const char *uri);
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeConnect(const char *uri, 
double audioCodecs, double videoCodecs,
                   double videoFunction);
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeConnect(const char *app,
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeConnect(const char *app,
                   const char *swfUrl, const char *tcUrl,
                    double audioCodecs, double videoCodecs, double 
videoFunction,
                     const char *pageUrl);
@@ -64,20 +64,20 @@ public:
     DSOEXPORT bool connectToServer(const std::string &url);
 
     // Create the second object sent to the server, which is 
NetStream():;NetStream()
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeStream(double id);
-    boost::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag);
-    boost::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag, double pos);
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, 
rtmp_op_e op, bool flag, const std::string &name);
-    boost::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag, const std::string &name, double pos);
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeStream(double id);
+    std::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag);
+    std::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag, double pos);
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, 
rtmp_op_e op, bool flag, const std::string &name);
+    std::shared_ptr<cygnal::Buffer> encodeStreamOp(double id, rtmp_op_e op, 
bool flag, const std::string &name, double pos);
 
     bool isConnected() { return _connected; };
 
     std::string &getPath() { return _path; };
     void setPath(std::string &x) { _path = x; };
 
-    DSOEXPORT boost::shared_ptr<cygnal::Buffer> encodeEchoRequest(const 
std::string &method, double id, cygnal::Element &el);
+    DSOEXPORT std::shared_ptr<cygnal::Buffer> encodeEchoRequest(const 
std::string &method, double id, cygnal::Element &el);
 
-    typedef std::deque<boost::shared_ptr<RTMPMsg> > msgque_t;
+    typedef std::deque<std::shared_ptr<RTMPMsg> > msgque_t;
     msgque_t recvResponse();
 
     void dump();
diff --git a/cygnal/libnet/rtmp_msg.cpp b/cygnal/libnet/rtmp_msg.cpp
index 5ed624c..797b8df 100644
--- a/cygnal/libnet/rtmp_msg.cpp
+++ b/cygnal/libnet/rtmp_msg.cpp
@@ -122,21 +122,21 @@ static RTMPStatusMsgCode rtmp_msg_code_list[] = {
 // error, or onStatus message, the actual data can be obtained from the 
Element.
 // 
 RTMPMsg::rtmp_status_e
-RTMPMsg::checkStatus(boost::shared_ptr<cygnal::Element>  /* el */)
+RTMPMsg::checkStatus(std::shared_ptr<cygnal::Element>  /* el */)
 {
 //    GNASH_REPORT_FUNCTION;
     if (_amfobjs.size() > 0) {
-       vector<boost::shared_ptr<cygnal::Element> >::iterator pit;
-       vector<boost::shared_ptr<cygnal::Element> >::iterator cit;
+       vector<std::shared_ptr<cygnal::Element> >::iterator pit;
+       vector<std::shared_ptr<cygnal::Element> >::iterator cit;
 //     cerr << "# of Properties in object" << _amfobjs.size() << endl;
        for (pit = _amfobjs.begin(); pit != _amfobjs.end(); ++pit) {
-           boost::shared_ptr<cygnal::Element> el = (*(pit));
-           std::vector<boost::shared_ptr<cygnal::Element> > props = 
el->getProperties();
+           std::shared_ptr<cygnal::Element> el = (*(pit));
+           std::vector<std::shared_ptr<cygnal::Element> > props = 
el->getProperties();
 //         printf("FIXME2: %d, %s:%s\n", props.size(),
 //                props[2]->getName(), props[2]->to_string());
            if (el->getType() == Element::OBJECT_AMF0) {
                for (cit = props.begin(); cit != props.end(); ++cit) {
-                   boost::shared_ptr<cygnal::Element> child = (*(cit));
+                   std::shared_ptr<cygnal::Element> child = (*(cit));
 //                 child->dump();
                    std::string name = child->getName();
                    std::string value;
@@ -165,7 +165,7 @@ RTMPMsg::checkStatus(boost::shared_ptr<cygnal::Element>  /* 
el */)
     
 // }
 
-boost::shared_ptr<cygnal::Element>
+std::shared_ptr<cygnal::Element>
 RTMPMsg::operator[](size_t index)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -173,7 +173,7 @@ RTMPMsg::operator[](size_t index)
        return _amfobjs[index];
     }
     
-    boost::shared_ptr<cygnal::Element> el;
+    std::shared_ptr<cygnal::Element> el;
     return el;
 }
 
@@ -183,21 +183,21 @@ RTMPMsg::operator[](size_t index)
 ///    search for.
 ///
 /// @return A smart pointer to the Element for this property.
-boost::shared_ptr<cygnal::Element> 
+std::shared_ptr<cygnal::Element>
 RTMPMsg::findProperty(const std::string &name)
 {
     if (_amfobjs.size() > 0) {
-       vector<boost::shared_ptr<Element> >::iterator ait;
+       vector<std::shared_ptr<Element> >::iterator ait;
 //     cerr << "# of Properties in object: " << _properties.size() << endl;
        for (ait = _amfobjs.begin(); ait != _amfobjs.end(); ++ait) {
-           boost::shared_ptr<cygnal::Element> el = (*(ait));
-           boost::shared_ptr<cygnal::Element> prop = el->findProperty(name);
+           std::shared_ptr<cygnal::Element> el = (*(ait));
+           std::shared_ptr<cygnal::Element> prop = el->findProperty(name);
            if (prop) {
                return prop;
            }
        }
     }
-    boost::shared_ptr<Element> el;
+    std::shared_ptr<Element> el;
     return el;
 }
 
@@ -215,10 +215,10 @@ RTMPMsg::dump()
 //    cerr << "Transaction ID:\t" << hexify((const unsigned char *)&_transid, 
8, false) << endl;
     cerr << "Transaction ID:\t" << _transid << endl;
 
-    vector<boost::shared_ptr<cygnal::Element> >::iterator ait;
+    vector<std::shared_ptr<cygnal::Element> >::iterator ait;
     cerr << "# of Elements in file: " << _amfobjs.size() << endl;
     for (ait = _amfobjs.begin(); ait != _amfobjs.end(); ++ait) {
-       boost::shared_ptr<cygnal::Element> el = (*(ait));
+       std::shared_ptr<cygnal::Element> el = (*(ait));
         el->dump();
     }
 }
diff --git a/cygnal/libnet/rtmp_msg.h b/cygnal/libnet/rtmp_msg.h
index fb8c5f6..5c7edb0 100644
--- a/cygnal/libnet/rtmp_msg.h
+++ b/cygnal/libnet/rtmp_msg.h
@@ -92,9 +92,9 @@ public:
     RTMPMsg();
     ~RTMPMsg();
     
-    void addObject(boost::shared_ptr<cygnal::Element> el) { 
_amfobjs.push_back(el); };
+    void addObject(std::shared_ptr<cygnal::Element> el) { 
_amfobjs.push_back(el); };
     size_t size() { return _amfobjs.size(); };
-    std::vector<boost::shared_ptr<cygnal::Element> > getElements() { return 
_amfobjs; };
+    std::vector<std::shared_ptr<cygnal::Element> > getElements() { return 
_amfobjs; };
 
     void setMethodName(const std::string &name) { _method = name; } ;
     std::string &getMethodName()         { return _method; };
@@ -102,15 +102,15 @@ public:
     void setTransactionID(double num)         { _transid = num; };
     double getTransactionID()           { return _transid; };
 
-    rtmp_status_e checkStatus(boost::shared_ptr<cygnal::Element> el);
+    rtmp_status_e checkStatus(std::shared_ptr<cygnal::Element> el);
     void setStatus(rtmp_status_e st)     { _status = st; };
     rtmp_status_e getStatus()           { return _status; };
 
     void setChannel(boost::uint8_t num) { _channel = num; };
     boost::uint8_t getChannel()         { return _channel; } ;
 
-    boost::shared_ptr<cygnal::Element> operator[](size_t x);
-    boost::shared_ptr<cygnal::Element> at(size_t x) { return _amfobjs[x]; };
+    std::shared_ptr<cygnal::Element> operator[](size_t x);
+    std::shared_ptr<cygnal::Element> at(size_t x) { return _amfobjs[x]; };
 
     /// \brief Find the named property for this Object.
     ///
@@ -118,7 +118,7 @@ public:
     ///                search for.
     ///
     /// @return A smart pointer to the Element for this property.
-    DSOEXPORT boost::shared_ptr<cygnal::Element> findProperty(const 
std::string &name);
+    DSOEXPORT std::shared_ptr<cygnal::Element> findProperty(const std::string 
&name);
 
 //    void setHeaderData(RTMP::rtmp_head_t &qhead);
                        
@@ -130,7 +130,7 @@ public:
     rtmp_status_e        _status;
     std::string           _method;
     double                _transid;
-    std::vector<boost::shared_ptr<cygnal::Element> > _amfobjs;
+    std::vector<std::shared_ptr<cygnal::Element> > _amfobjs;
     boost::uint8_t       _channel;
 };
 
diff --git a/cygnal/libnet/sshclient.h b/cygnal/libnet/sshclient.h
index 4908bfc..912aa35 100644
--- a/cygnal/libnet/sshclient.h
+++ b/cygnal/libnet/sshclient.h
@@ -104,7 +104,7 @@ public:
     // Accessors
     ssh_channel getChannel() { return _channel; };
     ssh_session getSession() { return _session; };
-    boost::shared_ptr<cygnal::Buffer> &getBuffer()  { return _buffer; };
+    std::shared_ptr<cygnal::Buffer> &getBuffer()  { return _buffer; };
 
     // Dump internal data to the screen for debugging
     void dump();
@@ -120,13 +120,13 @@ public:
     transport_type_t   _transporttype;
     int                        _state;
 #if 0
-    boost::shared_ptr<ssh_session> _session;
-    boost::shared_ptr<SSH_OPTIONS> _options;
+    std::shared_ptr<ssh_session> _session;
+    std::shared_ptr<SSH_OPTIONS> _options;
 #else
     ssh_session _session;
     ssh_channel        _channel;
 #endif
-    boost::shared_ptr<cygnal::Buffer> _buffer;
+    std::shared_ptr<cygnal::Buffer> _buffer;
 };
     
 } // end of gnash namespace
diff --git a/cygnal/rtmp_server.cpp b/cygnal/rtmp_server.cpp
index 553dcd8..834e2c7 100644
--- a/cygnal/rtmp_server.cpp
+++ b/cygnal/rtmp_server.cpp
@@ -91,7 +91,7 @@ RTMPServer::~RTMPServer()
 }
 
 
-boost::shared_ptr<cygnal::Element>
+std::shared_ptr<cygnal::Element>
 RTMPServer::processClientHandShake(int fd)
 {
     GNASH_REPORT_FUNCTION;
@@ -109,16 +109,16 @@ RTMPServer::processClientHandShake(int fd)
     // These store the information we need from the initial
     /// NetConnection object.
     boost::scoped_ptr<cygnal::Element> nc;
-    boost::shared_ptr<cygnal::Buffer>  pkt;
-    boost::shared_ptr<cygnal::Element> tcurl;
-    boost::shared_ptr<cygnal::Element> swfurl;
-    boost::shared_ptr<cygnal::Element> encoding;
+    std::shared_ptr<cygnal::Buffer>  pkt;
+    std::shared_ptr<cygnal::Element> tcurl;
+    std::shared_ptr<cygnal::Element> swfurl;
+    std::shared_ptr<cygnal::Element> encoding;
 
 //     RTMP::rtmp_headersize_e response_head_size = RTMP::HEADER_12;
     
     // Read the handshake bytes sent by the client when requesting
     // a connection.
-    boost::shared_ptr<cygnal::Buffer> handshake1 = RTMP::recvMsg(fd);
+    std::shared_ptr<cygnal::Buffer> handshake1 = RTMP::recvMsg(fd);
     // See if we have data in the handshake, we should have 1537 bytes
     if (!handshake1) {
        log_error(_("Failed to read the handshake from the client."));
@@ -133,7 +133,7 @@ RTMPServer::processClientHandShake(int fd)
     
     // Read the response from the client from the handshale reponse we
     // just sent.
-    boost::shared_ptr<cygnal::Buffer> handshake2 = RTMP::recvMsg(fd);
+    std::shared_ptr<cygnal::Buffer> handshake2 = RTMP::recvMsg(fd);
     // See if we have data in the handshake, we should have 1536 bytes
     if (handshake2 == 0) {
        log_error(_("failed to read the handshake from the client."));
@@ -154,7 +154,7 @@ RTMPServer::processClientHandShake(int fd)
     // the packet is a raw RTMP message. Since the header can be a
     // variety of sizes, and this effects the data size, we need to
     // decode that first.
-    boost::shared_ptr<RTMP::rtmp_head_t> qhead = 
RTMP::decodeHeader(pkt->reference());
+    std::shared_ptr<RTMP::rtmp_head_t> qhead = 
RTMP::decodeHeader(pkt->reference());
 
     if (!qhead) {
        log_error(_("RTMP header had parsing error!"));
@@ -226,7 +226,7 @@ RTMPServer::processClientHandShake(int fd)
     // causes Async I/O errors in the client.
     if (!encoding) {
        // Send a onBWDone to the client to start the new NetConnection,
-       boost::shared_ptr<cygnal::Buffer> bwdone = encodeBWDone(2.0);
+       std::shared_ptr<cygnal::Buffer> bwdone = encodeBWDone(2.0);
        if (RTMP::sendMsg(fd, qhead->channel, RTMP::HEADER_8,
                          bwdone->size(), RTMP::INVOKE, RTMPMsg::FROM_SERVER, 
*bwdone)) {
            log_network("Sent onBWDone to client");
@@ -238,7 +238,7 @@ RTMPServer::processClientHandShake(int fd)
     }
     
     // Send a Set Client Window Size to the client
-    boost::shared_ptr<cygnal::Buffer> winsize(new 
cygnal::Buffer(sizeof(boost::uint32_t)));
+    std::shared_ptr<cygnal::Buffer> winsize(new 
cygnal::Buffer(sizeof(boost::uint32_t)));
     boost::uint32_t swapped = 0x20000;
     swapBytes(&swapped, sizeof(boost::uint32_t));
     *winsize += swapped;
@@ -252,7 +252,7 @@ RTMPServer::processClientHandShake(int fd)
     }
 
     // Send a ping to the client to reset the new NetConnection,
-    boost::shared_ptr<cygnal::Buffer> ping_reset =
+    std::shared_ptr<cygnal::Buffer> ping_reset =
        encodePing(RTMP::PING_RESET, 0);
     if (RTMP::sendMsg(fd, RTMP_SYSTEM_CHANNEL, RTMP::HEADER_8,
                      ping_reset->size(), RTMP::USER, RTMPMsg::FROM_SERVER, 
*ping_reset)) {
@@ -266,7 +266,7 @@ RTMPServer::processClientHandShake(int fd)
     // Send the packet to notify the client that the
     // NetConnection::connect() was sucessful. After the client
     // receives this, the handhsake is completed.
-    boost::shared_ptr<cygnal::Buffer> response =
+    std::shared_ptr<cygnal::Buffer> response =
        encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
     if (RTMP::sendMsg(fd, 3, RTMP::HEADER_8, response->allocated(),
                      RTMP::INVOKE, RTMPMsg::FROM_SERVER, *response)) {
@@ -341,11 +341,11 @@ RTMPServer::handShakeResponse(int fd, cygnal::Buffer 
&handshake)
     return true;    
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::serverFinish(int fd, cygnal::Buffer &handshake1, cygnal::Buffer 
&handshake2)
 {
     GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
 
     // sanity check our input data. We do this seperately as an empty
     // buffer means data wasn't read correctly from the network. We
@@ -458,12 +458,12 @@ RTMPServer::packetRead(cygnal::Buffer &buf)
     boost::uint8_t* tooFar = ptr+300+sizeof(int); // FIXME:
     
     AMF amf_obj;
-    boost::shared_ptr<cygnal::Element> el1 = amf_obj.extractAMF(ptr, tooFar);
+    std::shared_ptr<cygnal::Element> el1 = amf_obj.extractAMF(ptr, tooFar);
     ptr += amf_obj.totalsize();
-    boost::shared_ptr<cygnal::Element> el2 = amf_obj.extractAMF(ptr, tooFar);
+    std::shared_ptr<cygnal::Element> el2 = amf_obj.extractAMF(ptr, tooFar);
 
     int size = 0;
-    boost::shared_ptr<cygnal::Element> el;
+    std::shared_ptr<cygnal::Element> el;
     while ( size < static_cast<boost::uint16_t>(_header.bodysize) - 24 ) {
        if (ptr) {
            el = amf_obj.extractProperty(ptr, tooFar);
@@ -489,7 +489,7 @@ RTMPServer::packetRead(cygnal::Buffer &buf)
     log_network("Reading AMF packets till we're done...");
     // buf->dump();
     while (ptr < end) {
-       boost::shared_ptr<cygnal::Element> el(new cygnal::Element);
+       std::shared_ptr<cygnal::Element> el(new cygnal::Element);
        ptr = amf.extractProperty(el, ptr);
        addProperty(el);
        // el->dump();
@@ -504,7 +504,7 @@ RTMPServer::packetRead(cygnal::Buffer &buf)
        buf = _que->merge(buf);
     }
     while ((ptr - buf->begin()) < static_cast<int>(actual_size)) {
-       boost::shared_ptr<cygnal::Element> el(new cygnal::Element);
+       std::shared_ptr<cygnal::Element> el(new cygnal::Element);
        if (ptr) {
            ptr = amf.extractProperty(el, ptr);
            addProperty(el);
@@ -525,7 +525,7 @@ RTMPServer::packetRead(cygnal::Buffer &buf)
          break;
       case USER:
       {
-         boost::shared_ptr<rtmp_ping_t> ping = decodePing(ptr);
+         std::shared_ptr<rtmp_ping_t> ping = decodePing(ptr);
          switch (ping->type) {
            case PING_CLEAR:
                break;
@@ -603,14 +603,14 @@ RTMPServer::packetRead(cygnal::Buffer &buf)
 //
 // _result(double ClientStream, NULL, double ServerStream)
 // These are handlers for the various types
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 RTMPServer::encodeResult(RTMPMsg::rtmp_status_e status)
 {
 //    GNASH_REPORT_FUNCTION;
     return encodeResult(status, _filespec, _streamid);
 }
     
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e status, const 
std::string &filename)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -618,14 +618,14 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
     return encodeResult(status, filename, _streamid, clientid);
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e status, const 
std::string &filename, double &clientid)
 {
 //    GNASH_REPORT_FUNCTION;
     return encodeResult(status, filename, _streamid, clientid);
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e status, double &transid)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -633,7 +633,7 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, double &transid)
     return encodeResult(status, "", transid, clientid);
 }
 
-boost::shared_ptr<cygnal::Buffer> 
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e status, const 
std::string &filename, double &transid, double &clientid)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -674,15 +674,15 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
       {
 //       errstr = new Element;
 //       errstr->makeString("error");
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "error");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          description->makeString("description", "Connection Failed.");
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "Connection.Connect.Failed");
          top.addProperty(code);
       }
@@ -692,29 +692,29 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
 //       delete str;
 //       str = new Element;
 //       str->makeString("error");
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "error");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          description->makeString("description", "Connection Rejected.");
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetConnection.Connect.Rejected");
          top.addProperty(code);
       }
       case RTMPMsg::NC_CONNECT_SUCCESS:
       {
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "status");
          top.addProperty(level);
          
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetConnection.Connect.Success");
          top.addProperty(code);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          description->makeString("description", "Connection succeeded.");
          top.addProperty(description);
       }
@@ -732,15 +732,15 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
       {
          str->makeString("onStatus");
 
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "status");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetStream.Pause.Notify");
          top.addProperty(code);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          string field = "Pausing ";
          if (!filename.empty()) {
              field += filename;
@@ -748,11 +748,11 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
          description->makeString("description", field);
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> details(new Element);
+         std::shared_ptr<cygnal::Element> details(new Element);
          details->makeString("details", filename);
          top.addProperty(details);
   
-         boost::shared_ptr<cygnal::Element> cid(new Element);
+         std::shared_ptr<cygnal::Element> cid(new Element);
          cid->makeNumber("clientid", clientid);
          top.addProperty(cid);
 
@@ -771,15 +771,15 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
       {
          str->makeString("onStatus");
 //       "clientid"
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "status");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetStream.Play.Reset");
          top.addProperty(code);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          string field = "Playing and resetting ";
          if (!filename.empty()) {
              field += filename;
@@ -787,11 +787,11 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
          description->makeString("description", field);
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> details(new Element);
+         std::shared_ptr<cygnal::Element> details(new Element);
          details->makeString("details", filename);
          top.addProperty(details);
          
-         boost::shared_ptr<cygnal::Element> cid(new Element);
+         std::shared_ptr<cygnal::Element> cid(new Element);
 #ifdef CLIENT_ID_NUMERIC
          double clientid = createClientID();
          cid->makeNumber("clientid", clientid);
@@ -813,15 +813,15 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
       {
          str->makeString("onStatus");
 
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "status");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetStream.Play.Start");
          top.addProperty(code);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          string field = "Started playing ";
          if (!filename.empty()) {
              field += filename;
@@ -829,11 +829,11 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
          description->makeString("description", field);
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> details(new Element);
+         std::shared_ptr<cygnal::Element> details(new Element);
          details->makeString("details", filename);
          top.addProperty(details);
   
-         boost::shared_ptr<cygnal::Element> cid(new Element);
+         std::shared_ptr<cygnal::Element> cid(new Element);
 #ifdef CLIENT_ID_NUMERIC
          double clientid = createClientID();
          cid->makeNumber("clientid", clientid);
@@ -854,15 +854,15 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
       case RTMPMsg::NS_PLAY_STOP:
       case RTMPMsg::NS_PLAY_STREAMNOTFOUND:
       {
-         boost::shared_ptr<cygnal::Element> level(new Element);
+         std::shared_ptr<cygnal::Element> level(new Element);
          level->makeString("level", "error");
          top.addProperty(level);
 
-         boost::shared_ptr<cygnal::Element> description(new Element);
+         std::shared_ptr<cygnal::Element> description(new Element);
          description->makeString("description", 
"NetStream.Play.StreamNotFound.");
          top.addProperty(description);
          
-         boost::shared_ptr<cygnal::Element> code(new Element);
+         std::shared_ptr<cygnal::Element> code(new Element);
          code->makeString("code", "NetStream.Play.StreamNotFound");
          top.addProperty(code);
          break;
@@ -898,7 +898,7 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
          // Don't encode as an object, just the properties
          notobject = true;
 
-         boost::shared_ptr<cygnal::Element> id2(new Element);
+         std::shared_ptr<cygnal::Element> id2(new Element);
          
          double sid = createStreamID();
          id2->makeNumber(sid);
@@ -912,11 +912,11 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
          break;
     };
     
-    boost::shared_ptr<cygnal::Buffer> strbuf = str->encode();
-    boost::shared_ptr<cygnal::Buffer> numbuf = number->encode();
-    boost::shared_ptr<cygnal::Buffer> topbuf = top.encode(notobject);
+    std::shared_ptr<cygnal::Buffer> strbuf = str->encode();
+    std::shared_ptr<cygnal::Buffer> numbuf = number->encode();
+    std::shared_ptr<cygnal::Buffer> topbuf = top.encode(notobject);
 
-    boost::shared_ptr<cygnal::Buffer> buf(new Buffer(strbuf->size() + 
numbuf->size() + topbuf->size()));
+    std::shared_ptr<cygnal::Buffer> buf(new Buffer(strbuf->size() + 
numbuf->size() + topbuf->size()));
     *buf += strbuf;
     *buf += numbuf;
     boost::uint8_t byte = static_cast<boost::uint8_t>(RTMP::WINDOW_SIZE & 
0x000000ff);
@@ -948,20 +948,20 @@ RTMPServer::encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string
 // A RTMP Ping packet looks like this: "02 00 00 00 00 00 06 04 00 00 00 00 00 
00 00 00 00 0",
 // which is the Ping type byte, followed by two shorts that are the 
parameters. Only the first
 // two paramters are required.
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 RTMPServer::encodePing(rtmp_ping_e type)
 {
 //    GNASH_REPORT_FUNCTION;
     return encodePing(type, 0);
 }
 
-boost::shared_ptr<Buffer>
+std::shared_ptr<Buffer>
 RTMPServer::encodePing(rtmp_ping_e type, boost::uint32_t milliseconds)
 {
 //    GNASH_REPORT_FUNCTION;
 
     // An encoded ping message 
-    boost::shared_ptr<cygnal::Buffer> buf(new Buffer(sizeof(boost::uint16_t) * 
3));
+    std::shared_ptr<cygnal::Buffer> buf(new Buffer(sizeof(boost::uint16_t) * 
3));
 //    boost::uint8_t *ptr = buf->reference();
 
     // Set the type of this ping message
@@ -1017,7 +1017,7 @@ RTMPServer::encodePing(rtmp_ping_e type, boost::uint32_t 
milliseconds)
 }
 
 // Encode a onBWDone message for the client. These are of a fixed size.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeBWDone(double id)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -1032,11 +1032,11 @@ RTMPServer::encodeBWDone(double id)
     Element null;
     null.makeNull();
 
-    boost::shared_ptr<cygnal::Buffer> enccmd  = cmd.encode();
-    boost::shared_ptr<cygnal::Buffer> encnum  = num.encode();
-    boost::shared_ptr<cygnal::Buffer> encnull  = null.encode();
+    std::shared_ptr<cygnal::Buffer> enccmd  = cmd.encode();
+    std::shared_ptr<cygnal::Buffer> encnum  = num.encode();
+    std::shared_ptr<cygnal::Buffer> encnull  = null.encode();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(enccmd->size()
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(enccmd->size()
                                                       + encnum->size()
                                                       + encnull->size()));
 
@@ -1047,12 +1047,12 @@ RTMPServer::encodeBWDone(double id)
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeAudio(boost::uint8_t *data, size_t size)
 {
     GNASH_REPORT_FUNCTION;
     
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     
     if (size) {
        if (data) {
@@ -1064,12 +1064,12 @@ RTMPServer::encodeAudio(boost::uint8_t *data, size_t 
size)
     return buf;
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::encodeVideo(boost::uint8_t * /* data */, size_t /* size */)
 {
     GNASH_REPORT_FUNCTION;
 
-    boost::shared_ptr<cygnal::Buffer> buf;
+    std::shared_ptr<cygnal::Buffer> buf;
     
     return buf;
 }
@@ -1077,30 +1077,30 @@ RTMPServer::encodeVideo(boost::uint8_t * /* data */, 
size_t /* size */)
 #if 0
 // Parse an Echo Request message coming from the Red5 echo_test. This
 // method should only be used for testing purposes.
-vector<boost::shared_ptr<cygnal::Element > >
+vector<std::shared_ptr<cygnal::Element > >
 RTMPServer::parseEchoRequest(boost::uint8_t *ptr, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
     AMF amf;
-    vector<boost::shared_ptr<cygnal::Element > > headers;
+    vector<std::shared_ptr<cygnal::Element > > headers;
 
     // The first element is the name of the test, 'echo'
-    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el1 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el1);
 
     // The second element is the number of the test,
-    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el2 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el2);
 
     // This one has always been a NULL object from my tests
-    boost::shared_ptr<cygnal::Element> el3 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el3 = amf.extractAMF(ptr, ptr+size);
     ptr += amf.totalsize();
     headers.push_back(el3);
 
     // This one has always been an NULL or Undefined object from my tests
-    boost::shared_ptr<cygnal::Element> el4 = amf.extractAMF(ptr, ptr+size);
+    std::shared_ptr<cygnal::Element> el4 = amf.extractAMF(ptr, ptr+size);
     if (!el4) {
        log_error(_("Couldn't reliably extract the echo data!"));
     }
@@ -1114,22 +1114,22 @@ RTMPServer::parseEchoRequest(boost::uint8_t *ptr, 
size_t size)
 // is only used for testing by developers. The format appears to be
 // a string '_result', followed by the number of the test, and then two
 // NULL objects.
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::formatEchoResponse(double num, cygnal::Element &el)
 {
 //    GNASH_REPORT_FUNCTION;
-    boost::shared_ptr<cygnal::Buffer> data = amf::AMF::encodeElement(el);
+    std::shared_ptr<cygnal::Buffer> data = amf::AMF::encodeElement(el);
     return formatEchoResponse(num, data->reference(), data->allocated());
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::formatEchoResponse(double num, cygnal::Buffer &data)
 {
 //    GNASH_REPORT_FUNCTION;
     return formatEchoResponse(num, data.reference(), data.allocated());
 }
 
-boost::shared_ptr<cygnal::Buffer>
+std::shared_ptr<cygnal::Buffer>
 RTMPServer::formatEchoResponse(double num, boost::uint8_t *data, size_t size)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -1144,11 +1144,11 @@ RTMPServer::formatEchoResponse(double num, 
boost::uint8_t *data, size_t size)
     Element null;
     null.makeNull();
 
-    boost::shared_ptr<cygnal::Buffer> encecho = echo.encode();
-    boost::shared_ptr<cygnal::Buffer> encidx  = index.encode();   
-    boost::shared_ptr<cygnal::Buffer> encnull  = null.encode();   
+    std::shared_ptr<cygnal::Buffer> encecho = echo.encode();
+    std::shared_ptr<cygnal::Buffer> encidx  = index.encode();
+    std::shared_ptr<cygnal::Buffer> encnull  = null.encode();
 
-    boost::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(encecho->size()
+    std::shared_ptr<cygnal::Buffer> buf(new cygnal::Buffer(encecho->size()
                                                       + encidx->size()
                                                       + encnull->size() + 
size));
 
@@ -1241,7 +1241,7 @@ RTMPServer::sendFile(int fd, const std::string &filespec)
 {
     GNASH_REPORT_FUNCTION;
     // See if the file is in the cache and already opened.
-    boost::shared_ptr<DiskStream> filestream(cache.findFile(filespec));
+    std::shared_ptr<DiskStream> filestream(cache.findFile(filespec));
     if (filestream) {
        cerr << "FIXME: found file in cache!" << endl;
     } else {
@@ -1357,7 +1357,7 @@ rtmp_handler(Network::thread_params_t *args)
     string url, filespec;
     url = docroot;
     bool done = false;
-    boost::shared_ptr<RTMPMsg> body;
+    std::shared_ptr<RTMPMsg> body;
     // static bool initialize = true;
 //     bool sendfile = false;
     log_network("Starting RTMP Handler for fd #%d, cgi-bin is \"%s\"",
@@ -1371,10 +1371,10 @@ rtmp_handler(Network::thread_params_t *args)
     // Adjust the timeout
     rtmp->setTimeout(10);
     
-    boost::shared_ptr<cygnal::Buffer>  pkt;
-    boost::shared_ptr<cygnal::Element> tcurl;
-    boost::shared_ptr<cygnal::Element> swfurl;
-    boost::shared_ptr<cygnal::Buffer> response;
+    std::shared_ptr<cygnal::Buffer>  pkt;
+    std::shared_ptr<cygnal::Element> tcurl;
+    std::shared_ptr<cygnal::Element> swfurl;
+    std::shared_ptr<cygnal::Buffer> response;
 
     // Keep track of the network statistics
     // See if we have any messages waiting. After the initial connect, this is
@@ -1382,7 +1382,7 @@ rtmp_handler(Network::thread_params_t *args)
     
     // Adjust the timeout
     rtmp->setTimeout(30);
-//    boost::shared_ptr<cygnal::Buffer> buf;
+//    std::shared_ptr<cygnal::Buffer> buf;
 
     // If we have active disk streams, send those packets first.
     // 0 is a reserved stream, so we start with 1, as the reserved
@@ -1418,14 +1418,14 @@ rtmp_handler(Network::thread_params_t *args)
        if (pkt != 0) {
            boost::uint8_t *tmpptr = 0;
            if (pkt->allocated()) {
-               boost::shared_ptr<RTMP::queues_t> que = rtmp->split(*pkt);
+               std::shared_ptr<RTMP::queues_t> que = rtmp->split(*pkt);
                if (!que) {
                    // FIXME: send _error result
                    return false;
                }
-               boost::shared_ptr<RTMP::rtmp_head_t> qhead;
+               std::shared_ptr<RTMP::rtmp_head_t> qhead;
                for (size_t i=0; i<que->size(); i++) {
-                   boost::shared_ptr<cygnal::Buffer> bufptr = 
que->at(i)->pop();
+                   std::shared_ptr<cygnal::Buffer> bufptr = que->at(i)->pop();
                    // que->at(i)->dump();
                    if (bufptr) {
                        // bufptr->dump();
@@ -1437,7 +1437,7 @@ rtmp_handler(Network::thread_params_t *args)
                        tmpptr = bufptr->reference() + qhead->head_size;
                        if (qhead->channel == RTMP_SYSTEM_CHANNEL) {
                            if (qhead->type == RTMP::USER) {
-                               boost::shared_ptr<RTMP::user_event_t> user
+                               std::shared_ptr<RTMP::user_event_t> user
                                    = rtmp->decodeUserControl(tmpptr);
                                switch (user->type) {
                                  case RTMP::STREAM_START:
@@ -1457,7 +1457,7 @@ rtmp_handler(Network::thread_params_t *args)
                                      break;
                                  case RTMP::STREAM_PING:
                                  {
-                                     boost::shared_ptr<RTMP::rtmp_ping_t> ping
+                                     std::shared_ptr<RTMP::rtmp_ping_t> ping
                                          = rtmp->decodePing(tmpptr);
                                      log_network("Processed Ping message from 
client, type %d",
                                                  ping->type);
@@ -1547,8 +1547,8 @@ rtmp_handler(Network::thread_params_t *args)
                              }
                          } else if (body->getMethodName() == "play") {
                              string filespec;
-                             boost::shared_ptr<gnash::RTMPMsg> nc = 
rtmp->getNetConnection();
-                             boost::shared_ptr<cygnal::Element> tcurl = 
nc->findProperty("tcUrl");
+                             std::shared_ptr<gnash::RTMPMsg> nc = 
rtmp->getNetConnection();
+                             std::shared_ptr<cygnal::Element> tcurl = 
nc->findProperty("tcUrl");
                              URL url(tcurl->to_string());
                              filespec += url.hostname() + url.path();
                              filespec += '/';
@@ -1650,7 +1650,7 @@ rtmp_handler(Network::thread_params_t *args)
                              log_error(_("Received an _error message from the 
client!"));
                          } else {
                              /* size_t ret = */ hand->writeToPlugin(tmpptr, 
qhead->bodysize);
-                             boost::shared_ptr<cygnal::Buffer> result = 
hand->readFromPlugin();
+                             std::shared_ptr<cygnal::Buffer> result = 
hand->readFromPlugin();
                              if (result) {
                                  if (rtmp->sendMsg(args->netfd, qhead->channel,
                                                    RTMP::HEADER_8, 
result->allocated(),
@@ -1675,7 +1675,7 @@ rtmp_handler(Network::thread_params_t *args)
 
                    // size_t ret = hand->writeToPlugin(tmpptr, 
qhead->bodysize);
 #if 0
-                   boost::shared_ptr<cygnal::Buffer> result = 
hand->readFromPlugin();
+                   std::shared_ptr<cygnal::Buffer> result = 
hand->readFromPlugin();
                    if (result) { // FIXME: this needs a real channel number
                        if (rtmp->sendMsg(args->netfd, 0x3, RTMP::HEADER_8, ret,
                                          RTMP::INVOKE, RTMPMsg::FROM_SERVER, 
*result)) {
@@ -1694,7 +1694,7 @@ rtmp_handler(Network::thread_params_t *args)
                log_network("Never read any data from fd #%d", args->netfd);
 #if 0
                // Send a ping to reset the new stream
-               boost::shared_ptr<cygnal::Buffer> ping_reset =
+               std::shared_ptr<cygnal::Buffer> ping_reset =
                    rtmp->encodePing(RTMP::PING_CLEAR, 0);
                if (rtmp->sendMsg(args->netfd, RTMP_SYSTEM_CHANNEL,
                          RTMP::HEADER_12, ping_reset->size(),
diff --git a/cygnal/rtmp_server.h b/cygnal/rtmp_server.h
index 362c1e9..9d87930 100644
--- a/cygnal/rtmp_server.h
+++ b/cygnal/rtmp_server.h
@@ -56,35 +56,35 @@ public:
     ///     INVOKE operation of ::connect(). serverFinish() is
     ///     actually used to extract the AMF data from the packet, and
     ///     handShakeResponse() is used to construct the response packet.
-    boost::shared_ptr<cygnal::Element> processClientHandShake(int fd);
+    std::shared_ptr<cygnal::Element> processClientHandShake(int fd);
 
     bool packetSend(cygnal::Buffer &buf);
     bool packetRead(cygnal::Buffer &buf);
     
     // These are handlers for the various types
-    boost::shared_ptr<cygnal::Buffer> 
encodeResult(gnash::RTMPMsg::rtmp_status_e status);
-    boost::shared_ptr<cygnal::Buffer> 
encodeResult(gnash::RTMPMsg::rtmp_status_e status, const std::string &filename);
-    boost::shared_ptr<cygnal::Buffer> 
encodeResult(gnash::RTMPMsg::rtmp_status_e status, const std::string &filename, 
double &transid);
-    boost::shared_ptr<cygnal::Buffer> 
encodeResult(gnash::RTMPMsg::rtmp_status_e status, double &transid);
-    boost::shared_ptr<cygnal::Buffer> 
encodeResult(gnash::RTMPMsg::rtmp_status_e status, const std::string &filename, 
double &transid, double &clientid);
+    std::shared_ptr<cygnal::Buffer> encodeResult(gnash::RTMPMsg::rtmp_status_e 
status);
+    std::shared_ptr<cygnal::Buffer> encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string &filename);
+    std::shared_ptr<cygnal::Buffer> encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string &filename, double &transid);
+    std::shared_ptr<cygnal::Buffer> encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, double &transid);
+    std::shared_ptr<cygnal::Buffer> encodeResult(gnash::RTMPMsg::rtmp_status_e 
status, const std::string &filename, double &transid, double &clientid);
 
     // Encode a Ping for the client
-    boost::shared_ptr<cygnal::Buffer> encodePing(rtmp_ping_e type, 
boost::uint32_t milliseconds);
-    boost::shared_ptr<cygnal::Buffer> encodePing(rtmp_ping_e type);
-    // boost::shared_ptr<cygnal::Buffer> encodeUser(user_control_e type, 
boost::uint32_t milliseconds);
-    boost::shared_ptr<cygnal::Buffer> encodeAudio(boost::uint8_t *data, size_t 
size);
-    boost::shared_ptr<cygnal::Buffer> encodeVideo(boost::uint8_t *data, size_t 
size);
+    std::shared_ptr<cygnal::Buffer> encodePing(rtmp_ping_e type, 
boost::uint32_t milliseconds);
+    std::shared_ptr<cygnal::Buffer> encodePing(rtmp_ping_e type);
+    // std::shared_ptr<cygnal::Buffer> encodeUser(user_control_e type, 
boost::uint32_t milliseconds);
+    std::shared_ptr<cygnal::Buffer> encodeAudio(boost::uint8_t *data, size_t 
size);
+    std::shared_ptr<cygnal::Buffer> encodeVideo(boost::uint8_t *data, size_t 
size);
 
     // Encode a onBWDone message for the client
-    boost::shared_ptr<cygnal::Buffer> encodeBWDone(double id);
+    std::shared_ptr<cygnal::Buffer> encodeBWDone(double id);
 
     // Parse an Echo Request message coming from the Red5 echo_test.
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
-    std::vector<boost::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(cygnal::Buffer &buf) { return 
parseEchoRequest(buf.reference(), buf.size()); };
+    std::vector<std::shared_ptr<cygnal::Element > > 
parseEchoRequest(boost::uint8_t *buf, size_t size);
     // format a response to the 'echo' test used for testing Gnash.
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Element &el);
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Buffer &data);
-    boost::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
boost::uint8_t *data, size_t size);    
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Element &el);
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
cygnal::Buffer &data);
+    std::shared_ptr<cygnal::Buffer> formatEchoResponse(double num, 
boost::uint8_t *data, size_t size);
     void addReference(boost::uint16_t index, cygnal::Element &el) { 
_references[index] = el; };
     cygnal::Element &getReference(boost::uint16_t index) { return 
_references[index]; };
 
@@ -108,8 +108,8 @@ public:
     size_t sendToClient(std::vector<int> &fds,cygnal::Buffer &data);
 
     void setNetConnection(gnash::RTMPMsg *msg) { _netconnect.reset(msg); };
-    void setNetConnection(boost::shared_ptr<gnash::RTMPMsg> msg) { _netconnect 
= msg; };
-    boost::shared_ptr<gnash::RTMPMsg> getNetConnection() { return 
_netconnect;};
+    void setNetConnection(std::shared_ptr<gnash::RTMPMsg> msg) { _netconnect = 
msg; };
+    std::shared_ptr<gnash::RTMPMsg> getNetConnection() { return _netconnect;};
     void dump();
 
 private:
@@ -117,7 +117,7 @@ private:
     ///     This is only called by processClientHandshake() to compare
     ///     the handshakes to make sure they match, and to extract the
     ///     initial AMF data from packet.
-    boost::shared_ptr<cygnal::Buffer> serverFinish(int fd,
+    std::shared_ptr<cygnal::Buffer> serverFinish(int fd,
                        cygnal::Buffer &handshake1, cygnal::Buffer &handshake2);
     /// \method handShakeResponse
     ///     This is only called by processClientHandshake() to
@@ -146,7 +146,7 @@ private:
     ///    object we get as the final part of the handshake process
     ///    that is used to set up the connection. This has all the
     ///    file paths and other information needed by the server.
-    boost::shared_ptr<gnash::RTMPMsg>  _netconnect;
+    std::shared_ptr<gnash::RTMPMsg>    _netconnect;
 };
 
 // This is the thread for all incoming RTMP connections
diff --git a/cygnal/testsuite/libamf.all/test_amf.cpp 
b/cygnal/testsuite/libamf.all/test_amf.cpp
index 7ebf1be..2dd20d0 100644
--- a/cygnal/testsuite/libamf.all/test_amf.cpp
+++ b/cygnal/testsuite/libamf.all/test_amf.cpp
@@ -161,7 +161,7 @@ void
 test_encoding()
 {
     // This is a 8 byte wide double data type in hex
-    boost::shared_ptr<Buffer> buf1(new Buffer("40 83 38 00 00 00 00 00"));
+    std::shared_ptr<Buffer> buf1(new Buffer("40 83 38 00 00 00 00 00"));
     double num = *(reinterpret_cast<double *>(buf1->reference()));
     swapBytes(&num, cygnal::AMF0_NUMBER_SIZE); // we always encode in big 
endian format
 
@@ -170,7 +170,7 @@ test_encoding()
         mem->addStats(__LINE__);             // take a sample
     }
 #endif    
-    boost::shared_ptr<Buffer> encnum = cygnal::AMF::encodeNumber(num);
+    std::shared_ptr<Buffer> encnum = cygnal::AMF::encodeNumber(num);
     // A number cygnal::AMF object has only one header byte, which is the type 
field.
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
     if (memdebug) {
@@ -188,7 +188,7 @@ test_encoding()
     // it's actually a two byte short instead.
     {
         bool flag = true;
-        boost::shared_ptr<Buffer> buf2(new Buffer("01 01"));
+        std::shared_ptr<Buffer> buf2(new Buffer("01 01"));
         boost::uint16_t sht = *(boost::uint16_t *)buf2->reference();
         swapBytes(&sht, sizeof(boost::uint16_t)); // we always encode in big 
endian format
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
@@ -196,7 +196,7 @@ test_encoding()
             mem->addStats(__LINE__);             // take a sample
         }
 #endif
-        boost::shared_ptr<Buffer> encbool = cygnal::AMF::encodeBoolean(flag);
+        std::shared_ptr<Buffer> encbool = cygnal::AMF::encodeBoolean(flag);
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
         if (memdebug) {
             mem->addStats(__LINE__);             // take a sample
@@ -223,7 +223,7 @@ test_encoding()
             mem->addStats(__LINE__);             // take a sample
         }
 #endif
-        boost::shared_ptr<Buffer> buf = cygnal::AMF::encodeString(str);
+        std::shared_ptr<Buffer> buf = cygnal::AMF::encodeString(str);
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
         if (memdebug) {
             mem->addStats(__LINE__);             // take a sample
@@ -250,7 +250,7 @@ test_encoding()
             mem->addStats(__LINE__);             // take a sample
         }
 #endif
-        boost::shared_ptr<Buffer> buf = cygnal::AMF::encodeNullString();
+        std::shared_ptr<Buffer> buf = cygnal::AMF::encodeNullString();
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
         if (memdebug) {
             mem->addStats(__LINE__);             // take a sample
@@ -284,7 +284,7 @@ test_encoding()
         runtest.fail("Made Reference");
     }    
 
-    boost::shared_ptr<cygnal::Buffer> buf2 = amf.encodeElement(el1);
+    std::shared_ptr<cygnal::Buffer> buf2 = amf.encodeElement(el1);
     if ((*buf2->reference() == Element::REFERENCE_AMF0)
         && (*(buf2->reference() + 1) == 0)
         && (*(buf2->reference() + 2) == 1)) {
@@ -293,8 +293,8 @@ test_encoding()
         runtest.fail("Encoded Reference");
     }    
 
-    boost::shared_ptr<Buffer> buf3(new Buffer("07 00 01"));
-    boost::shared_ptr<cygnal::Element> el3 = amf.extractAMF(buf3);
+    std::shared_ptr<Buffer> buf3(new Buffer("07 00 01"));
+    std::shared_ptr<cygnal::Element> el3 = amf.extractAMF(buf3);
     if ((el3->getType() == Element::REFERENCE_AMF0)
         && (el3->to_short() == 1)) {
         runtest.pass("Extracted Reference");
@@ -311,8 +311,8 @@ test_array()
     cygnal::AMF amf;
     top.makeObject();
 
-    boost::shared_ptr<Buffer> hex1(new Buffer("08 00 00 00 0a 00 08 64 75 72 
61 74 69 6f 6e 00 40 ad 04 14 7a e1 47 ae 00 05 77 69 64 74 68 00 40 74 00 00 
00 00 00 00 00 06 68 65 69 67 68 74 00 40 6e 00 00 00 00 00 00 00 0d 76 69 64 
65 6f 64 61 74 61 72 61 74 65 00 40 72 c0 00 00 00 00 00 00 09 66 72 61 6d 65 
72 61 74 65 00 40 39 00 00 00 00 00 00 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 
64 00 40 10 00 00 00 00 00 00 00 0d 61 75 64 69 6f 64 61 74 61 72 61 74 65 00 
40 58 00 00 00 00 00 00 00 0a 61 75 64 69 6f 64 65 6c 61 79 00 3f a3 74 bc 6a 
7e f9 db 00 0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 
00 0c 63 61 6e 53 65 65 6b 54 6f 45 6e 64 01 01 00 00 09"));
-    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(hex1);
+    std::shared_ptr<Buffer> hex1(new Buffer("08 00 00 00 0a 00 08 64 75 72 61 
74 69 6f 6e 00 40 ad 04 14 7a e1 47 ae 00 05 77 69 64 74 68 00 40 74 00 00 00 
00 00 00 00 06 68 65 69 67 68 74 00 40 6e 00 00 00 00 00 00 00 0d 76 69 64 65 
6f 64 61 74 61 72 61 74 65 00 40 72 c0 00 00 00 00 00 00 09 66 72 61 6d 65 72 
61 74 65 00 40 39 00 00 00 00 00 00 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 64 
00 40 10 00 00 00 00 00 00 00 0d 61 75 64 69 6f 64 61 74 61 72 61 74 65 00 40 
58 00 00 00 00 00 00 00 0a 61 75 64 69 6f 64 65 6c 61 79 00 3f a3 74 bc 6a 7e 
f9 db 00 0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 
0c 63 61 6e 53 65 65 6b 54 6f 45 6e 64 01 01 00 00 09"));
+    std::shared_ptr<cygnal::Element> el1 = amf.extractAMF(hex1);
     if ((el1->getType() == Element::ECMA_ARRAY_AMF0)
         && (el1->propertySize() == 10)) {
         runtest.pass("Extracted ECMA Array");
@@ -320,8 +320,8 @@ test_array()
         runtest.fail("Extracted ECMA Array");
     }
 
-    boost::shared_ptr<Buffer> hex2(new Buffer("0a 00 00 00 c8 00 3f a4 7a e1 
47 ae 14 7b 00 40 03 d7 0a 3d 70 a3 d7 00 40 13 85 1e b8 51 eb 85 00 40 1d 1e 
b8 51 eb 85 1f 00 40 23 5c 28 f5 c2 8f 5c 00 40 28 28 f5 c2 8f 5c 29 00 40 2c 
f5 c2 8f 5c 28 f6 00 40 30 e1 47 ae 14 7a e1 00 40 33 47 ae 14 7a e1 48 00 40 
35 ae 14 7a e1 47 ae 00 40 38 14 7a e1 47 ae 14 00 40 3a 7a e1 47 ae 14 7b 00 
40 3c e1 47 ae 14 7a e1 00 40 3f 47 ae 14 7a e1 48 00 40 40 d7 0a 3d 70 a3 d7 
00 40 42 0a 3d 70 a3 d7 0a 00 40 43 3d 70 a3 d7 0a 3d 00 40 44 70 a3 d7 0a 3d 
71 00 40 45 a3 d7 0a 3d 70 a4 00 40 46 d7 0a 3d 70 a3 d7 00 40 48 0a 3d 70 a3 
d7 0a 00 40 49 3d 70 a3 d7 0a 3d 00 40 4a 70 a3 d7 0a 3d 71 00 40 4b a3 d7 0a 
3d 70 a4 00 40 4c d7 0a 3d 70 a3 d7 00 40 4e 0a 3d 70 a3 d7 0a 00 40 4f 3d 70 
a3 d7 0a 3d 00 40 50 38 51 eb 85 1e b8 00 40 50 d1 eb 85 1e b8 52 00 40 51 6b 
85 1e b8 51 ec 00 40 52 05 1e b8 51 eb 85 00 40 52 9e b8 51 eb 85 1f 00 40 53 
38 51 eb 85 1e b8 00 40 53 d1 eb 85 1e b8 52 00 40 54 6b 85 1e b8 51 ec 00 40 
55 05 1e b8 51 eb 85 00 40 55 9e b8 51 eb 85 1f 00 40 56 38 51 eb 85 1e b8 00 
40 56 d1 eb 85 1e b8 52 00 40 57 6b 85 1e b8 51 ec 00 40 58 05 1e b8 51 eb 85 
00 40 58 9e b8 51 eb 85 1f 00 40 59 38 51 eb 85 1e b8 00 40 59 d1 eb 85 1e b8 
52 00 40 5a 6b 85 1e b8 51 ec 00 40 5b 05 1e b8 51 eb 85 00 40 5b 9e b8 51 eb 
85 1f 00 40 5c 38 51 eb 85 1e b8 00 40 5c d1 eb 85 1e b8 52 00 40 5d 6b 85 1e 
b8 51 ec 00 40 5e 05 1e b8 51 eb 85 00 40 5e 9e b8 51 eb 85 1f 00 40 5f 38 51 
eb 85 1e b8 00 40 5f d1 eb 85 1e b8 52 00 40 60 35 c2 8f 5c 28 f6 00 40 60 82 
8f 5c 28 f5 c3 00 40 60 cf 5c 28 f5 c2 8f 00 40 61 1c 28 f5 c2 8f 5c 00 40 61 
68 f5 c2 8f 5c 29 00 40 61 b5 c2 8f 5c 28 f6 00 40 62 02 8f 5c 28 f5 c3 00 40 
62 4f 5c 28 f5 c2 8f 00 40 62 9c 28 f5 c2 8f 5c 00 40 62 e8 f5 c2 8f 5c 29 00 
40 63 35 c2 8f 5c 28 f6 00 40 63 82 8f 5c 28 f5 c3 00 40 63 cf 5c 28 f5 c2 8f 
00 40 64 1c 28 f5 c2 8f 5c 00 40 64 68 f5 c2 8f 5c 29 00 40 64 b5 c2 8f 5c 28 
f6 00 40 65 02 8f 5c 28 f5 c3 00 40 65 4f 5c 28 f5 c2 8f 00 40 65 9c 28 f5 c2 
8f 5c 00 40 65 e8 f5 c2 8f 5c 29 00 40 66 35 c2 8f 5c 28 f6 00 40 66 82 8f 5c 
28 f5 c3 00 40 66 cf 5c 28 f5 c2 8f 00 40 67 1c 28 f5 c2 8f 5c 00 40 67 68 f5 
c2 8f 5c 29 00 40 67 b5 c2 8f 5c 28 f6 00 40 68 02 8f 5c 28 f5 c3 00 40 68 4f 
5c 28 f5 c2 8f 00 40 68 9c 28 f5 c2 8f 5c 00 40 68 e8 f5 c2 8f 5c 29 00 40 69 
35 c2 8f 5c 28 f6 00 40 69 82 8f 5c 28 f5 c3 00 40 69 cf 5c 28 f5 c2 8f 00 40 
6a 1c 28 f5 c2 8f 5c 00 40 6a 68 f5 c2 8f 5c 29 00 40 6a b5 c2 8f 5c 28 f6 00 
40 6b 02 8f 5c 28 f5 c3 00 40 6b 4f 5c 28 f5 c2 8f 00 40 6b 9c 28 f5 c2 8f 5c 
00 40 6b e8 f5 c2 8f 5c 29 00 40 6c 35 c2 8f 5c 28 f6 00 40 6c 82 8f 5c 28 f5 
c3 00 40 6c cf 5c 28 f5 c2 8f 00 40 6d 1c 28 f5 c2 8f 5c 00 40 6d 68 f5 c2 8f 
5c 29 00 40 6d b5 c2 8f 5c 28 f6 00 40 6e 02 8f 5c 28 f5 c3 00 40 6e 4f 5c 28 
f5 c2 8f 00 40 6e 9c 28 f5 c2 8f 5c 00 40 6e e8 f5 c2 8f 5c 29 00 40 6f 35 c2 
8f 5c 28 f6 00 40 6f 82 8f 5c 28 f5 c3 00 40 6f cf 5c 28 f5 c2 8f 00 40 70 0e 
14 7a e1 47 ae 00 40 70 34 7a e1 47 ae 14 00 40 70 5a e1 47 ae 14 7b 00 40 70 
81 47 ae 14 7a e1 00 40 70 a7 ae 14 7a e1 48 00 40 70 ce 14 7a e1 47 ae 00 40 
70 f4 7a e1 47 ae 14 00 40 71 1a e1 47 ae 14 7b 00 40 71 41 47 ae 14 7a e1 00 
40 71 67 ae 14 7a e1 48 00 40 71 8e 14 7a e1 47 ae 00 40 71 b4 7a e1 47 ae 14 
00 40 71 da e1 47 ae 14 7b 00 40 72 01 47 ae 14 7a e1 00 40 72 27 ae 14 7a e1 
48 00 40 72 4e 14 7a e1 47 ae 00 40 72 74 7a e1 47 ae 14 00 40 72 9a e1 47 ae 
14 7b 00 40 72 c1 47 ae 14 7a e1 00 40 72 e7 ae 14 7a e1 48 00 40 73 0e 14 7a 
e1 47 ae 00 40 73 34 7a e1 47 ae 14 00 40 73 5a e1 47 ae 14 7b 00 40 73 81 47 
ae 14 7a e1 00 40 73 a7 ae 14 7a e1 48 00 40 73 ce 14 7a e1 47 ae 00 40 73 f4 
7a e1 47 ae 14 00 40 74 1a e1 47 ae 14 7b 00 40 74 41 47 ae 14 7a e1 00 40 74 
67 ae 14 7a e1 48 00 40 74 8e 14 7a e1 47 ae 00 40 74 b4 7a e1 47 ae 14 00 40 
74 da e1 47 ae 14 7b 00 40 75 01 47 ae 14 7a e1 00 40 75 27 ae 14 7a e1 48 00 
40 75 4e 14 7a e1 47 ae 00 40 75 74 7a e1 47 ae 14 00 40 75 9a e1 47 ae 14 7b 
00 40 75 c1 47 ae 14 7a e1 00 40 75 e7 ae 14 7a e1 48 00 40 76 0e 14 7a e1 47 
ae 00 40 76 34 7a e1 47 ae 14 00 40 76 5a e1 47 ae 14 7b 00 40 76 81 47 ae 14 
7a e1 00 40 76 a7 ae 14 7a e1 48 00 40 76 ce 14 7a e1 47 ae 00 40 76 f4 7a e1 
47 ae 14 00 40 77 1a e1 47 ae 14 7b 00 40 77 41 47 ae 14 7a e1 00 40 77 67 ae 
14 7a e1 48 00 40 77 8e 14 7a e1 47 ae 00 40 77 b4 7a e1 47 ae 14 00 40 77 da 
e1 47 ae 14 7b 00 40 78 01 47 ae 14 7a e1 00 40 78 27 ae 14 7a e1 48 00 40 78 
4e 14 7a e1 47 ae 00 40 78 74 7a e1 47 ae 14 00 40 78 9a e1 47 ae 14 7b 00 40 
78 c1 47 ae 14 7a e1 00 40 78 e7 ae 14 7a e1 48 00 40 79 0e 14 7a e1 47 ae 00 
40 79 34 7a e1 47 ae 14 00 40 79 5a e1 47 ae 14 7b 00 40 79 81 47 ae 14 7a e1 
00 40 79 a7 ae 14 7a e1 48 00 40 79 ce 14 7a e1 47 ae 00 40 79 f4 7a e1 47 ae 
14 00 40 7a 1a e1 47 ae 14 7b 00 40 7a 41 47 ae 14 7a e1 00 40 7a 67 ae 14 7a 
e1 48 00 40 7a 8e 14 7a e1 47 ae 00 40 7a b4 7a e1 47 ae 14 00 40 7a da e1 47 
ae 14 7b 00 40 7b 01 47 ae 14 7a e1 00 40 7b 27 ae 14 7a e1 48 00 40 7b 4e 14 
7a e1 47 ae 00 40 7b 74 7a e1 47 ae 14 00 40 7b 9a e1 47 ae 14 7b 00 40 7b c1 
47 ae 14 7a e1 00 40 7b e7 ae 14 7a e1 48 00 40 7c 0e 14 7a e1 47 ae 00 40 7c 
34 7a e1 47 ae 14 00 40 7c 5a e1 47 ae 14 7b 00 40 7c 81 47 ae 14 7a e1 00 40 
7c a7 ae 14 7a e1 48 00 40 7c ce 14 7a e1 47 ae 00 40 7c f4 7a e1 47 ae 14 00 
40 7d 1a e1 47 ae 14 7b 00 40 7d 41 47 ae 14 7a e1 00 40 7d 67 ae 14 7a e1 48 
00 40 7d 82 8f 5c 28 f5 c3 00 40 7d 83 33 33 33 33 33 00 40 7d a9 99 99 99 99 
9a"));
-    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(hex2);
+    std::shared_ptr<Buffer> hex2(new Buffer("0a 00 00 00 c8 00 3f a4 7a e1 47 
ae 14 7b 00 40 03 d7 0a 3d 70 a3 d7 00 40 13 85 1e b8 51 eb 85 00 40 1d 1e b8 
51 eb 85 1f 00 40 23 5c 28 f5 c2 8f 5c 00 40 28 28 f5 c2 8f 5c 29 00 40 2c f5 
c2 8f 5c 28 f6 00 40 30 e1 47 ae 14 7a e1 00 40 33 47 ae 14 7a e1 48 00 40 35 
ae 14 7a e1 47 ae 00 40 38 14 7a e1 47 ae 14 00 40 3a 7a e1 47 ae 14 7b 00 40 
3c e1 47 ae 14 7a e1 00 40 3f 47 ae 14 7a e1 48 00 40 40 d7 0a 3d 70 a3 d7 00 
40 42 0a 3d 70 a3 d7 0a 00 40 43 3d 70 a3 d7 0a 3d 00 40 44 70 a3 d7 0a 3d 71 
00 40 45 a3 d7 0a 3d 70 a4 00 40 46 d7 0a 3d 70 a3 d7 00 40 48 0a 3d 70 a3 d7 
0a 00 40 49 3d 70 a3 d7 0a 3d 00 40 4a 70 a3 d7 0a 3d 71 00 40 4b a3 d7 0a 3d 
70 a4 00 40 4c d7 0a 3d 70 a3 d7 00 40 4e 0a 3d 70 a3 d7 0a 00 40 4f 3d 70 a3 
d7 0a 3d 00 40 50 38 51 eb 85 1e b8 00 40 50 d1 eb 85 1e b8 52 00 40 51 6b 85 
1e b8 51 ec 00 40 52 05 1e b8 51 eb 85 00 40 52 9e b8 51 eb 85 1f 00 40 53 38 
51 eb 85 1e b8 00 40 53 d1 eb 85 1e b8 52 00 40 54 6b 85 1e b8 51 ec 00 40 55 
05 1e b8 51 eb 85 00 40 55 9e b8 51 eb 85 1f 00 40 56 38 51 eb 85 1e b8 00 40 
56 d1 eb 85 1e b8 52 00 40 57 6b 85 1e b8 51 ec 00 40 58 05 1e b8 51 eb 85 00 
40 58 9e b8 51 eb 85 1f 00 40 59 38 51 eb 85 1e b8 00 40 59 d1 eb 85 1e b8 52 
00 40 5a 6b 85 1e b8 51 ec 00 40 5b 05 1e b8 51 eb 85 00 40 5b 9e b8 51 eb 85 
1f 00 40 5c 38 51 eb 85 1e b8 00 40 5c d1 eb 85 1e b8 52 00 40 5d 6b 85 1e b8 
51 ec 00 40 5e 05 1e b8 51 eb 85 00 40 5e 9e b8 51 eb 85 1f 00 40 5f 38 51 eb 
85 1e b8 00 40 5f d1 eb 85 1e b8 52 00 40 60 35 c2 8f 5c 28 f6 00 40 60 82 8f 
5c 28 f5 c3 00 40 60 cf 5c 28 f5 c2 8f 00 40 61 1c 28 f5 c2 8f 5c 00 40 61 68 
f5 c2 8f 5c 29 00 40 61 b5 c2 8f 5c 28 f6 00 40 62 02 8f 5c 28 f5 c3 00 40 62 
4f 5c 28 f5 c2 8f 00 40 62 9c 28 f5 c2 8f 5c 00 40 62 e8 f5 c2 8f 5c 29 00 40 
63 35 c2 8f 5c 28 f6 00 40 63 82 8f 5c 28 f5 c3 00 40 63 cf 5c 28 f5 c2 8f 00 
40 64 1c 28 f5 c2 8f 5c 00 40 64 68 f5 c2 8f 5c 29 00 40 64 b5 c2 8f 5c 28 f6 
00 40 65 02 8f 5c 28 f5 c3 00 40 65 4f 5c 28 f5 c2 8f 00 40 65 9c 28 f5 c2 8f 
5c 00 40 65 e8 f5 c2 8f 5c 29 00 40 66 35 c2 8f 5c 28 f6 00 40 66 82 8f 5c 28 
f5 c3 00 40 66 cf 5c 28 f5 c2 8f 00 40 67 1c 28 f5 c2 8f 5c 00 40 67 68 f5 c2 
8f 5c 29 00 40 67 b5 c2 8f 5c 28 f6 00 40 68 02 8f 5c 28 f5 c3 00 40 68 4f 5c 
28 f5 c2 8f 00 40 68 9c 28 f5 c2 8f 5c 00 40 68 e8 f5 c2 8f 5c 29 00 40 69 35 
c2 8f 5c 28 f6 00 40 69 82 8f 5c 28 f5 c3 00 40 69 cf 5c 28 f5 c2 8f 00 40 6a 
1c 28 f5 c2 8f 5c 00 40 6a 68 f5 c2 8f 5c 29 00 40 6a b5 c2 8f 5c 28 f6 00 40 
6b 02 8f 5c 28 f5 c3 00 40 6b 4f 5c 28 f5 c2 8f 00 40 6b 9c 28 f5 c2 8f 5c 00 
40 6b e8 f5 c2 8f 5c 29 00 40 6c 35 c2 8f 5c 28 f6 00 40 6c 82 8f 5c 28 f5 c3 
00 40 6c cf 5c 28 f5 c2 8f 00 40 6d 1c 28 f5 c2 8f 5c 00 40 6d 68 f5 c2 8f 5c 
29 00 40 6d b5 c2 8f 5c 28 f6 00 40 6e 02 8f 5c 28 f5 c3 00 40 6e 4f 5c 28 f5 
c2 8f 00 40 6e 9c 28 f5 c2 8f 5c 00 40 6e e8 f5 c2 8f 5c 29 00 40 6f 35 c2 8f 
5c 28 f6 00 40 6f 82 8f 5c 28 f5 c3 00 40 6f cf 5c 28 f5 c2 8f 00 40 70 0e 14 
7a e1 47 ae 00 40 70 34 7a e1 47 ae 14 00 40 70 5a e1 47 ae 14 7b 00 40 70 81 
47 ae 14 7a e1 00 40 70 a7 ae 14 7a e1 48 00 40 70 ce 14 7a e1 47 ae 00 40 70 
f4 7a e1 47 ae 14 00 40 71 1a e1 47 ae 14 7b 00 40 71 41 47 ae 14 7a e1 00 40 
71 67 ae 14 7a e1 48 00 40 71 8e 14 7a e1 47 ae 00 40 71 b4 7a e1 47 ae 14 00 
40 71 da e1 47 ae 14 7b 00 40 72 01 47 ae 14 7a e1 00 40 72 27 ae 14 7a e1 48 
00 40 72 4e 14 7a e1 47 ae 00 40 72 74 7a e1 47 ae 14 00 40 72 9a e1 47 ae 14 
7b 00 40 72 c1 47 ae 14 7a e1 00 40 72 e7 ae 14 7a e1 48 00 40 73 0e 14 7a e1 
47 ae 00 40 73 34 7a e1 47 ae 14 00 40 73 5a e1 47 ae 14 7b 00 40 73 81 47 ae 
14 7a e1 00 40 73 a7 ae 14 7a e1 48 00 40 73 ce 14 7a e1 47 ae 00 40 73 f4 7a 
e1 47 ae 14 00 40 74 1a e1 47 ae 14 7b 00 40 74 41 47 ae 14 7a e1 00 40 74 67 
ae 14 7a e1 48 00 40 74 8e 14 7a e1 47 ae 00 40 74 b4 7a e1 47 ae 14 00 40 74 
da e1 47 ae 14 7b 00 40 75 01 47 ae 14 7a e1 00 40 75 27 ae 14 7a e1 48 00 40 
75 4e 14 7a e1 47 ae 00 40 75 74 7a e1 47 ae 14 00 40 75 9a e1 47 ae 14 7b 00 
40 75 c1 47 ae 14 7a e1 00 40 75 e7 ae 14 7a e1 48 00 40 76 0e 14 7a e1 47 ae 
00 40 76 34 7a e1 47 ae 14 00 40 76 5a e1 47 ae 14 7b 00 40 76 81 47 ae 14 7a 
e1 00 40 76 a7 ae 14 7a e1 48 00 40 76 ce 14 7a e1 47 ae 00 40 76 f4 7a e1 47 
ae 14 00 40 77 1a e1 47 ae 14 7b 00 40 77 41 47 ae 14 7a e1 00 40 77 67 ae 14 
7a e1 48 00 40 77 8e 14 7a e1 47 ae 00 40 77 b4 7a e1 47 ae 14 00 40 77 da e1 
47 ae 14 7b 00 40 78 01 47 ae 14 7a e1 00 40 78 27 ae 14 7a e1 48 00 40 78 4e 
14 7a e1 47 ae 00 40 78 74 7a e1 47 ae 14 00 40 78 9a e1 47 ae 14 7b 00 40 78 
c1 47 ae 14 7a e1 00 40 78 e7 ae 14 7a e1 48 00 40 79 0e 14 7a e1 47 ae 00 40 
79 34 7a e1 47 ae 14 00 40 79 5a e1 47 ae 14 7b 00 40 79 81 47 ae 14 7a e1 00 
40 79 a7 ae 14 7a e1 48 00 40 79 ce 14 7a e1 47 ae 00 40 79 f4 7a e1 47 ae 14 
00 40 7a 1a e1 47 ae 14 7b 00 40 7a 41 47 ae 14 7a e1 00 40 7a 67 ae 14 7a e1 
48 00 40 7a 8e 14 7a e1 47 ae 00 40 7a b4 7a e1 47 ae 14 00 40 7a da e1 47 ae 
14 7b 00 40 7b 01 47 ae 14 7a e1 00 40 7b 27 ae 14 7a e1 48 00 40 7b 4e 14 7a 
e1 47 ae 00 40 7b 74 7a e1 47 ae 14 00 40 7b 9a e1 47 ae 14 7b 00 40 7b c1 47 
ae 14 7a e1 00 40 7b e7 ae 14 7a e1 48 00 40 7c 0e 14 7a e1 47 ae 00 40 7c 34 
7a e1 47 ae 14 00 40 7c 5a e1 47 ae 14 7b 00 40 7c 81 47 ae 14 7a e1 00 40 7c 
a7 ae 14 7a e1 48 00 40 7c ce 14 7a e1 47 ae 00 40 7c f4 7a e1 47 ae 14 00 40 
7d 1a e1 47 ae 14 7b 00 40 7d 41 47 ae 14 7a e1 00 40 7d 67 ae 14 7a e1 48 00 
40 7d 82 8f 5c 28 f5 c3 00 40 7d 83 33 33 33 33 33 00 40 7d a9 99 99 99 99 
9a"));
+    std::shared_ptr<cygnal::Element> el2 = amf.extractAMF(hex2);
     if ((el2->getType() == Element::STRICT_ARRAY_AMF0)
         && (el2->propertySize() == 200)) {
         runtest.pass("Extracted Strict Array");
@@ -337,15 +337,15 @@ test_object()
     Element top;
     top.makeObject();
 
-    boost::shared_ptr<cygnal::Element> prop1(new Element);
+    std::shared_ptr<cygnal::Element> prop1(new Element);
     prop1->makeString("app", "oflaDemo");
     top.addProperty(prop1);
     
-    boost::shared_ptr<cygnal::Element> prop2(new Element);
+    std::shared_ptr<cygnal::Element> prop2(new Element);
     prop2->makeString("flashVer", "LNX 9,0,31,0");
     top.addProperty(prop2);
 
-    boost::shared_ptr<cygnal::Element> prop3(new Element);
+    std::shared_ptr<cygnal::Element> prop3(new Element);
     prop3->makeString("swfUrl", 
"http://www.red5.nl/tools/publisher/publisher.swf";);
     top.addProperty(prop3);
 
@@ -361,8 +361,8 @@ test_object()
         mem->addStats(__LINE__);             // take a sample
     }
 #endif
-    boost::shared_ptr<Buffer> encobj = top.encode();
-//    boost::shared_ptr<Buffer> encobj;
+    std::shared_ptr<Buffer> encobj = top.encode();
+//    std::shared_ptr<Buffer> encobj;
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
     if (memdebug) {
         mem->addStats(__LINE__);             // take a sample
@@ -374,7 +374,7 @@ test_object()
     }
 
 //    encobj->dump();
-    boost::shared_ptr<Buffer> buf1(new Buffer("03 00 03 61 70 70 02 00 08 6f 
66 6c 61 44 65 6d 6f 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 30 68 74 74 70 3a 2f 2f 77 77 
77 2e 72 65 64 35 2e 6e 6c 2f 74 6f 6f 6c 73 2f 70 75 62 6c 69 73 68 65 72 2f 
70 75 62 6c 69 73 68 65 72 2e 73 77 66 00 00 09"));
+    std::shared_ptr<Buffer> buf1(new Buffer("03 00 03 61 70 70 02 00 08 6f 66 
6c 61 44 65 6d 6f 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 30 68 74 74 70 3a 2f 2f 77 77 77 
2e 72 65 64 35 2e 6e 6c 2f 74 6f 6f 6c 73 2f 70 75 62 6c 69 73 68 65 72 2f 70 
75 62 6c 69 73 68 65 72 2e 73 77 66 00 00 09"));
     if ((*encobj->reference() == Element::OBJECT_AMF0) &&
         (memcmp(buf1->reference(), encobj->reference(), 101) == 0)) {
         runtest.pass("Encoded Object");
@@ -390,7 +390,7 @@ test_object()
         mem->addStats(__LINE__);             // take a sample
     }
 #endif
-    boost::shared_ptr<cygnal::Element> newtop = amf_obj.extractAMF(buf1);
+    std::shared_ptr<cygnal::Element> newtop = amf_obj.extractAMF(buf1);
 #if defined(HAVE_MALLINFO) && defined(USE_STATS_MEMORY)
     if (memdebug) {
         mem->addStats(__LINE__);             // take a sample
diff --git a/cygnal/testsuite/libamf.all/test_amfmsg.cpp 
b/cygnal/testsuite/libamf.all/test_amfmsg.cpp
index a037da2..ff6c6ca 100644
--- a/cygnal/testsuite/libamf.all/test_amfmsg.cpp
+++ b/cygnal/testsuite/libamf.all/test_amfmsg.cpp
@@ -152,12 +152,12 @@ test_encoding()
 //  00 00 00 0e                                   <- byte length of message
 //     0a 00 00 00 01                     <- array, 1 item
 //        00 41 70 43 ac e0 00 00 00
-    boost::shared_ptr<Buffer> buf1(new Buffer("00 00 00 00 00 03 00 06 67 65 
74 77 61 79 00 04 2f 32 32 39 00 00 00 0e 0a 00 00 00 01 00 41 70 43 87 20 00 
00 00 00 06 67 65 74 77 61 79 00 04 2f 32 33 30 00 00 00 0e 0a 00 00 00 01 00 
41 70 43 ba 00 00 00 00 00 06 67 65 74 77 61 79 00 04 2f 32 33 31 00 00 00 0e 
0a 00 00 00 01 00 41 70 43 ac e0 00 00 00"));
+    std::shared_ptr<Buffer> buf1(new Buffer("00 00 00 00 00 03 00 06 67 65 74 
77 61 79 00 04 2f 32 32 39 00 00 00 0e 0a 00 00 00 01 00 41 70 43 87 20 00 00 
00 00 06 67 65 74 77 61 79 00 04 2f 32 33 30 00 00 00 0e 0a 00 00 00 01 00 41 
70 43 ba 00 00 00 00 00 06 67 65 74 77 61 79 00 04 2f 32 33 31 00 00 00 0e 0a 
00 00 00 01 00 41 70 43 ac e0 00 00 00"));
     double num = *(reinterpret_cast<double *>(buf1->reference()));
     swapBytes(&num, cygnal::AMF0_NUMBER_SIZE); // we always encode in big 
endian format
 
     AMF_msg amsg;
-    boost::shared_ptr<AMF_msg::context_header_t> head1 =
+    std::shared_ptr<AMF_msg::context_header_t> head1 =
         amsg.parseAMFPacket(buf1->reference(), buf1->size());
 
 //    amsg.dump(*head1);
@@ -180,43 +180,43 @@ test_encoding()
     // Build a new message packet from scratch and make sure it matches the 
real one
     AMF_msg top;
     
-    boost::shared_ptr<cygnal::Element> getway1(new Element);
+    std::shared_ptr<cygnal::Element> getway1(new Element);
     getway1->makeStrictArray();
-    boost::shared_ptr<cygnal::Element> data1(new Element);
+    std::shared_ptr<cygnal::Element> data1(new Element);
     data1->makeNumber(dub1);
     getway1->addProperty(data1);
-    boost::shared_ptr<AMF_msg::amf_message_t> msg1(new AMF_msg::amf_message_t);
+    std::shared_ptr<AMF_msg::amf_message_t> msg1(new AMF_msg::amf_message_t);
     msg1->header.target = "getway";
     msg1->header.response = "/229";
     msg1->header.size = 14;
     msg1->data = getway1;
     top.addMessage(msg1);
     
-    boost::shared_ptr<cygnal::Element> getway2(new Element);
+    std::shared_ptr<cygnal::Element> getway2(new Element);
     getway2->makeStrictArray();
-    boost::shared_ptr<cygnal::Element> data2(new Element);
+    std::shared_ptr<cygnal::Element> data2(new Element);
     data2->makeNumber(dub2);
     getway2->addProperty(data2);
-    boost::shared_ptr<AMF_msg::amf_message_t> msg2(new AMF_msg::amf_message_t);
+    std::shared_ptr<AMF_msg::amf_message_t> msg2(new AMF_msg::amf_message_t);
     msg2->header.target = "getway";
     msg2->header.response = "/230";
     msg2->header.size = 14;
     msg2->data = getway2;
     top.addMessage(msg2);
     
-    boost::shared_ptr<cygnal::Element> getway3(new Element);
+    std::shared_ptr<cygnal::Element> getway3(new Element);
     getway3->makeStrictArray();
-    boost::shared_ptr<cygnal::Element> data3(new Element);
+    std::shared_ptr<cygnal::Element> data3(new Element);
     data3->makeNumber(dub3);
     getway3->addProperty(data3);
-    boost::shared_ptr<AMF_msg::amf_message_t> msg3(new AMF_msg::amf_message_t);
+    std::shared_ptr<AMF_msg::amf_message_t> msg3(new AMF_msg::amf_message_t);
     msg3->header.target = "getway";
     msg3->header.response = "/231";
     msg3->header.size = 14;
     msg3->data = getway3;
     top.addMessage(msg3);
 
-    boost::shared_ptr<cygnal::Buffer> buf2 = top.encodeMsgHeader("getway", 
"/229", 14);
+    std::shared_ptr<cygnal::Buffer> buf2 = top.encodeMsgHeader("getway", 
"/229", 14);
     boost::uint8_t *ptr1 = buf1->reference() + 
sizeof(AMF_msg::context_header_t);
 
 
@@ -226,7 +226,7 @@ test_encoding()
         runtest.fail("AMF_msg::encodeMsgHeader()");
     }
     
-    boost::shared_ptr<cygnal::Buffer> buf3 = top.encodeAMFPacket();
+    std::shared_ptr<cygnal::Buffer> buf3 = top.encodeAMFPacket();
     if (memcmp(buf1->reference(), buf3->reference(), buf3->allocated()) == 0) {
         runtest.pass("AMF_msg::encodeAMFPacket()");
     } else {
diff --git a/cygnal/testsuite/libamf.all/test_el.cpp 
b/cygnal/testsuite/libamf.all/test_el.cpp
index febb831..d900c89 100644
--- a/cygnal/testsuite/libamf.all/test_el.cpp
+++ b/cygnal/testsuite/libamf.all/test_el.cpp
@@ -119,21 +119,21 @@ main(int argc, char *argv[])
 void
 test_properties()
 {
-    std::vector<boost::shared_ptr<cygnal::Element> > data1;
+    std::vector<std::shared_ptr<cygnal::Element> > data1;
 
     const char *str1 = "property one";
-    boost::shared_ptr<cygnal::Element> prop1(new Element(str1));
+    std::shared_ptr<cygnal::Element> prop1(new Element(str1));
     data1.push_back(prop1);
 
     string str2 = "property two";
-    boost::shared_ptr<cygnal::Element> prop2(new Element(str2));
+    std::shared_ptr<cygnal::Element> prop2(new Element(str2));
     data1.push_back(prop2);
 
-    boost::shared_ptr<cygnal::Element> prop3(new Element("property three"));
+    std::shared_ptr<cygnal::Element> prop3(new Element("property three"));
     data1.push_back(prop3);
 
     double num = 123.456;
-    boost::shared_ptr<cygnal::Element> prop4(new Element(num));
+    std::shared_ptr<cygnal::Element> prop4(new Element(num));
     data1.push_back(prop4);
     
     Element top;
diff --git a/cygnal/testsuite/libamf.all/test_flv.cpp 
b/cygnal/testsuite/libamf.all/test_flv.cpp
index a60bed2..ac67f26 100644
--- a/cygnal/testsuite/libamf.all/test_flv.cpp
+++ b/cygnal/testsuite/libamf.all/test_flv.cpp
@@ -132,8 +132,8 @@ test_headers()
 //  00 0c 63 72 65 61 74 69 6f 6e 64 61 74 65  creationdate
 //     02 00 18 54 75 65 20 4a 75 6e 20 32 34 20 30 38 3a 30 33 3a 34 38 20 32 
30 30 38
 //  00 00 09                                   Tue Jun 24 08:03:48 2008
-    boost::shared_ptr<cygnal::Buffer> hex1(new Buffer("46 4c 56 01 0d 00 00 00 
09 00 00 00 00"));
-    boost::shared_ptr<Flv::flv_header_t> head = flv.decodeHeader(hex1);
+    std::shared_ptr<cygnal::Buffer> hex1(new Buffer("46 4c 56 01 0d 00 00 00 
09 00 00 00 00"));
+    std::shared_ptr<Flv::flv_header_t> head = flv.decodeHeader(hex1);
     if (!head) {
         notest = true;
     }
@@ -151,7 +151,7 @@ test_headers()
         }
     }
     
-    boost::shared_ptr<cygnal::Buffer> enc1 = flv.encodeHeader(Flv::FLV_AUDIO | 
Flv::FLV_VIDEO);
+    std::shared_ptr<cygnal::Buffer> enc1 = flv.encodeHeader(Flv::FLV_AUDIO | 
Flv::FLV_VIDEO);
     Network::byte_t *ptr = enc1->reference();
     if ((enc1->size() == sizeof(Flv::flv_header_t))
         && (ptr[3] == 0x1)
@@ -164,7 +164,7 @@ test_headers()
 
     // Test converting 3 byte "integers" to a real 4 byte one. The
     // 0xf on each end should be ignore to be correct.
-    boost::shared_ptr<cygnal::Buffer> hex2(new Buffer("0f 00 00 a4 0f"));
+    std::shared_ptr<cygnal::Buffer> hex2(new Buffer("0f 00 00 a4 0f"));
     boost::uint32_t num = flv.convert24(hex2->reference()+1);
     if (num == 0xa4) {
         runtest.pass("Flv::convert24()");
@@ -173,9 +173,9 @@ test_headers()
         notest = true;
     }
     
-    boost::shared_ptr<cygnal::Buffer> hex3(new Buffer("12 00 00 a4 00 00 00 00 
00 00 00"));
+    std::shared_ptr<cygnal::Buffer> hex3(new Buffer("12 00 00 a4 00 00 00 00 
00 00 00"));
 
-    boost::shared_ptr<Flv::flv_tag_t> tag3 = flv.decodeTagHeader(hex3);
+    std::shared_ptr<Flv::flv_tag_t> tag3 = flv.decodeTagHeader(hex3);
     if ((tag3->type == Flv::TAG_METADATA)
         && (flv.convert24(tag3->bodysize) == 0xa40000)) {
         runtest.pass("Decoded FLV MetaData Tag header");
@@ -190,8 +190,8 @@ test_tags()
     Flv flv;
     bool notest = false;
 
-    boost::shared_ptr<cygnal::Buffer> hex1(new Buffer("02 00 0a 6f 6e 4d 65 74 
61 44 61 74 61 08 00 00 00 00 00 08 64 75 72 61 74 69 6f 6e 00 40 6d 6e 24 dd 
2f 1a a0 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 
00 0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 0c 63 
61 6e 53 65 65 6b 54 6f 45 6e 64 01 00 00 09 63 72 65 61 74 65 64 62 79 02 00 
07 46 4d 53 20 33 2e 30 00 0c 63 72 65 61 74 69 6f 6e 64 61 74 65 02 00 18 54 
75 65 20 4a 75 6e 20 32 34 20 30 38 3a 30 33 3a 34 38 20 32 30 30 38 00 00 
09"));
-    boost::shared_ptr<cygnal::Element> el1 = flv.decodeMetaData(hex1);
+    std::shared_ptr<cygnal::Buffer> hex1(new Buffer("02 00 0a 6f 6e 4d 65 74 
61 44 61 74 61 08 00 00 00 00 00 08 64 75 72 61 74 69 6f 6e 00 40 6d 6e 24 dd 
2f 1a a0 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 
00 0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 0c 63 
61 6e 53 65 65 6b 54 6f 45 6e 64 01 00 00 09 63 72 65 61 74 65 64 62 79 02 00 
07 46 4d 53 20 33 2e 30 00 0c 63 72 65 61 74 69 6f 6e 64 61 74 65 02 00 18 54 
75 65 20 4a 75 6e 20 32 34 20 30 38 3a 30 33 3a 34 38 20 32 30 30 38 00 00 
09"));
+    std::shared_ptr<cygnal::Element> el1 = flv.decodeMetaData(hex1);
     el1->dump();
     if (!el1) {
         notest = true;
@@ -209,9 +209,9 @@ test_tags()
     }
 
     // Test decoding Audio tags
-    boost::shared_ptr<cygnal::Buffer> hex2(new Buffer("09 00 00 00 00 00 00 00 
00 00 00 00"));
-    boost::shared_ptr<Flv::flv_tag_t> tag2 = flv.decodeTagHeader(hex2);
-    boost::shared_ptr<Flv::flv_audio_t> data2 = 
flv.decodeAudioData(*(hex2->reference() + 11));
+    std::shared_ptr<cygnal::Buffer> hex2(new Buffer("09 00 00 00 00 00 00 00 
00 00 00 00"));
+    std::shared_ptr<Flv::flv_tag_t> tag2 = flv.decodeTagHeader(hex2);
+    std::shared_ptr<Flv::flv_audio_t> data2 = 
flv.decodeAudioData(*(hex2->reference() + 11));
     if ((tag2->type && Flv::TAG_AUDIO)
         && (data2->type == Flv::AUDIO_MONO)
         && (data2->size == Flv::AUDIO_8BIT)
@@ -222,9 +222,9 @@ test_tags()
         runtest.fail("Decoded FLV Audio Data flags");
     }
 
-    boost::shared_ptr<cygnal::Buffer> hex3(new Buffer("08 00 00 1b 00 00 00 00 
00 00 00 2a"));
-    boost::shared_ptr<Flv::flv_tag_t> tag3 = flv.decodeTagHeader(hex3);
-    boost::shared_ptr<Flv::flv_video_t> data3 = 
flv.decodeVideoData(*(hex3->reference() + 11));
+    std::shared_ptr<cygnal::Buffer> hex3(new Buffer("08 00 00 1b 00 00 00 00 
00 00 00 2a"));
+    std::shared_ptr<Flv::flv_tag_t> tag3 = flv.decodeTagHeader(hex3);
+    std::shared_ptr<Flv::flv_video_t> data3 = 
flv.decodeVideoData(*(hex3->reference() + 11));
     if ((tag3->type && Flv::TAG_VIDEO)
         && (data3->codecID == Flv::VIDEO_H263)
         && (data3->type == Flv::KEYFRAME)) {
@@ -233,8 +233,8 @@ test_tags()
         runtest.fail("Decoded FLV Video Data flags");
     }
 
-    boost::shared_ptr<cygnal::Buffer> hex4(new Buffer("00 0a 6f 6e 4d 65 74 61 
44 61 74 61 08 00 00 00 00 00 08 64 75 72 61 74 69 6f 6e 00 40 6d 6e 24 dd 2f 
1a a0 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 
0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 0c 63 61 
6e 53 65 65 6b 54 6f 45 6e 64 01 00 00 09 63 72 65 61 74 65 64 62 79 02 00 07 
46 4d 53 20 33 2e 30 00 0c 63 72 65 61 74 69 6f 6e 64 61 74 65 02 00 18 54 75 
65 20 4a 75 6e 20 32 34 20 30 38 3a 30 33 3a 34 38 20 32 30 30 38 00 00 09"));
-    boost::shared_ptr<cygnal::Element> el4 = flv.decodeMetaData(hex4);
+    std::shared_ptr<cygnal::Buffer> hex4(new Buffer("00 0a 6f 6e 4d 65 74 61 
44 61 74 61 08 00 00 00 00 00 08 64 75 72 61 74 69 6f 6e 00 40 6d 6e 24 dd 2f 
1a a0 00 0c 76 69 64 65 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 
0c 61 75 64 69 6f 63 6f 64 65 63 69 64 00 40 00 00 00 00 00 00 00 00 0c 63 61 
6e 53 65 65 6b 54 6f 45 6e 64 01 00 00 09 63 72 65 61 74 65 64 62 79 02 00 07 
46 4d 53 20 33 2e 30 00 0c 63 72 65 61 74 69 6f 6e 64 61 74 65 02 00 18 54 75 
65 20 4a 75 6e 20 32 34 20 30 38 3a 30 33 3a 34 38 20 32 30 30 38 00 00 09"));
+    std::shared_ptr<cygnal::Element> el4 = flv.decodeMetaData(hex4);
     if (!el4) {
         notest = true;
     } 
@@ -252,8 +252,8 @@ test_tags()
 
 #if 0
     // These are the packets as FLVParser handes them off
-    boost::shared_ptr<cygnal::Buffer> hex5(new Buffer("00 0a 6f 6e 4d 65 74 61 
44 61 74 61 08 00 00 00 0a 00 08 64 75 72 61 74 69 6f 6e 00 40 82 5c fd f3 b6 
45 a2 00 0d 76 69 64 65 6f 64 61 74 61 72 61 74 65 00 40 74 8a 51 f7 27 8d c5 
00 15 6c 61 73 74 6b 65 79 66 72 61 6d 65 74 69 6d 65 73 74 61 6d 70 00 40 82 
53 5a 1c ac 08 31 00 14 6c 61 73 74 6b 65 79 66 72 61 6d 65 6c 6f 63 61 74 69 
6f 6e 00 41 77 01 7f 10 00 00 00 00 07 63 72 65 61 74 6f 72 02 00 0d 59 6f 75 
54 75 62 65 2c 20 49 6e 63 2e 00 0f 6d 65 74 61 64 61 74 61 63 72 65 61 74 6f 
72 02 00 1a 59 6f 75 54 75 62 65 20 4d 65 74 61 64 61 74 61 20 49 6e 6a 65 63 
74 6f 72 2e 00 09 66 6c 76 73 6f 75 72 63 65 02 00 04 63 64 62 70 00 0c 68 61 
73 6b 65 79 66 72 61 6d 65 73 01 01 00 0b 68 61 73 6d 65 74 61 64 61 74 61 01 
01 00 09 6b 65 79 66 72 61 6d 65 73 03 00 05 74 69 6d 65 73 0a 00 00 01 33 00 
00 00 00 00 00 00 00 00 00 3f ff 5c 28 f5 c2 8f 5c 00 40 0f 5e 35 3f 7c ed 91 
00 40 17 86 24 dd 2f 1a a0 00 40 1f 5d 2f 1a 9f be 77 00 40 23 9a 1c ac 08 31 
27 00 40 26 1b 22 d0 e5 60 42 00 40 26 30 20 c4 9b a5 e3 00 40 2a 1c 28 f5 c2 
8f 5c 00 40 2e 07 ae 14 7a e1 48 00 40 30 f9 99 99 99 99 9a 00 40 32 ef 9d b2 
2d 0e 56 00 40 34 e5 60 41 89 37 4c 00 40 36 db 22 d0 e5 60 42 00 40 38 d0 e5 
60 41 89 37 00 40 3a c6 e9 78 d4 fd f4 00 40 3c bc ac 08 31 26 e9 00 40 3e b2 
6e 97 8d 4f df 00 40 40 54 39 58 10 62 4e 00 40 41 4f 1a 9f be 76 c9 00 40 42 
49 fb e7 6c 8b 44 00 40 43 44 dd 2f 1a 9f be 00 40 44 3f df 3b 64 5a 1d 00 40 
45 3a c0 83 12 6e 98 00 40 46 35 a1 ca c0 83 12 00 40 47 30 a3 d7 0a 3d 71 00 
40 48 2b 85 1e b8 51 ec 00 40 49 26 66 66 66 66 66 00 40 4a 21 68 72 b0 20 c5 
00 40 4b 1c 49 ba 5e 35 3f 00 40 4c 17 2b 02 0c 49 ba 00 40 4d 12 0c 49 ba 5e 
35 00 40 4e 0d 0e 56 04 18 93 00 40 4f 07 ef 9d b2 2d 0e 00 40 50 01 68 72 b0 
20 c5 00 40 50 7e e9 78 d4 fd f4 00 40 50 fc 5a 1c ac 08 31 00 40 51 79 ca c0 
83 12 6f 00 40 51 f7 3b 64 5a 1c ac 00 40 52 74 bc 6a 7e f9 db 00 40 52 f2 2d 
0e 56 04 19 00 40 53 6f 9d b2 2d 0e 56 00 40 53 ed 1e b8 51 eb 85 00 40 54 6a 
8f 5c 28 f5 c3 00 40 54 ea b0 20 c4 9b a6 00 40 55 68 20 c4 9b a5 e3 00 40 55 
e5 a1 ca c0 83 12 00 40 56 63 12 6e 97 8d 50 00 40 56 e0 83 12 6e 97 8d 00 40 
57 5d f3 b6 45 a1 cb 00 40 57 db 74 bc 6a 7e fa 00 40 58 58 e5 60 41 89 37 00 
40 58 d6 56 04 18 93 75 00 40 59 53 d7 0a 3d 70 a4 00 40 59 d1 47 ae 14 7a e1 
00 40 5a 4e b8 51 eb 85 1f 00 40 5a cc 28 f5 c2 8f 5c 00 40 5b 49 a9 fb e7 6c 
8b 00 40 5b c7 1a 9f be 76 c9 00 40 5c 44 8b 43 95 81 06 00 40 5c c2 0c 49 ba 
5e 35 00 40 5d 3f 7c ed 91 68 73 00 40 5d bc ed 91 68 72 b0 00 40 5e 3a 5e 35 
3f 7c ee 00 40 5e b7 df 3b 64 5a 1d 00 40 5f 35 4f df 3b 64 5a 00 40 5f b2 c0 
83 12 6e 98 00 40 60 18 20 c4 9b a5 e3 00 40 60 56 d9 16 87 2b 02 00 40 60 95 
91 68 72 b0 21 00 40 60 d4 51 eb 85 1e b8 00 40 61 13 0a 3d 70 a3 d7 00 40 61 
51 c2 8f 5c 28 f6 00 40 61 90 7a e1 47 ae 14 00 40 61 cf 3b 64 5a 1c ac 00 40 
62 0d f3 b6 45 a1 cb 00 40 62 4c ac 08 31 26 e9 00 40 62 8b 6c 8b 43 95 81 00 
40 62 ca 24 dd 2f 1a a0 00 40 63 08 dd 2f 1a 9f be 00 40 63 47 95 81 06 24 dd 
00 40 63 86 56 04 18 93 75 00 40 63 c5 0e 56 04 18 93 00 40 64 03 c6 a7 ef 9d 
b2 00 40 64 42 87 2b 02 0c 4a 00 40 64 81 3f 7c ed 91 68 00 40 64 bf f7 ce d9 
16 87 00 40 64 fe b0 20 c4 9b a6 00 40 65 3d 70 a3 d7 0a 3d 00 40 65 7c 28 f5 
c2 8f 5c 00 40 65 ba e1 47 ae 14 7b 00 40 65 f9 a1 ca c0 83 12 00 40 66 38 5a 
1c ac 08 31 00 40 66 77 12 6e 97 8d 50 00 40 66 b5 ca c0 83 12 6f 00 40 66 f4 
8b 43 95 81 06 00 40 67 33 43 95 81 06 25 00 40 67 71 fb e7 6c 8b 44 00 40 67 
b0 bc 6a 7e f9 db 00 40 67 ef 74 bc 6a 7e fa 00 40 68 2e 2d 0e 56 04 19 00 40 
68 6c ed 91 68 72 b0 00 40 68 ab a5 e3 53 f7 cf 00 40 68 ea 5e 35 3f 7c ee 00 
40 69 29 16 87 2b 02 0c 00 40 69 67 d7 0a 3d 70 a4 00 40 69 a6 8f 5c 28 f5 c3 
00 40 69 e5 47 ae 14 7a e1 00 40 6a 24 08 31 26 e9 79 00 40 6a 62 c0 83 12 6e 
98 00 40 6a a1 78 d4 fd f3 b6 00 40 6a e0 31 26 e9 78 d5 00 40 6b 15 99 99 99 
99 9a 00 40 6b 24 49 ba 5e 35 3f 00 40 6b 63 02 0c 49 ba 5e 00 40 6b a1 ba 5e 
35 3f 7d 00 40 6b e0 72 b0 20 c4 9c 00 40 6c 1f 33 33 33 33 33 00 40 6c 5d eb 
85 1e b8 52 00 40 6c 9c a3 d7 0a 3d 71 00 40 6c db 64 5a 1c ac 08 00 40 6d 12 
1c ac 08 31 27 00 40 6d 50 d4 fd f3 b6 46 00 40 6d 8f 8d 4f df 3b 64 00 40 6d 
ce 4d d2 f1 a9 fc 00 40 6e 0b ae 14 7a e1 48 00 40 6e 4a 66 66 66 66 66 00 40 
6e 89 26 e9 78 d4 fe 00 40 6e c7 df 3b 64 5a 1d 00 40 6f 06 97 8d 4f df 3b 00 
40 6f 39 4f df 3b 64 5a 00 40 6f 78 08 31 26 e9 79 00 40 6f b6 c8 b4 39 58 10 
00 40 6f bc 20 c4 9b a5 e3 00 40 6f bd 70 a3 d7 0a 3d 00 40 6f fc 31 26 e9 78 
d5 00 40 70 1d 74 bc 6a 7e fa 00 40 70 3c d0 e5 60 41 89 00 40 70 5c 31 26 e9 
78 d5 00 40 70 7b 8d 4f df 3b 64 00 40 70 96 e9 78 d4 fd f4 00 40 70 98 3d 70 
a3 d7 0a 00 40 70 b6 45 a1 ca c0 83 00 40 70 d5 a1 ca c0 83 12 00 40 70 f5 02 
0c 49 ba 5e 00 40 71 14 5e 35 3f 7c ee 00 40 71 33 ba 5e 35 3f 7d 00 40 71 53 
1a 9f be 76 c9 00 40 71 72 76 c8 b4 39 58 00 40 71 91 d2 f1 a9 fb e7 00 40 71 
b1 2f 1a 9f be 77 00 40 71 d0 8f 5c 28 f5 c3 00 40 71 ef eb 85 1e b8 52 00 40 
72 0f 47 ae 14 7a e1 00 40 72 2e a7 ef 9d b2 2d 00 40 72 4e 04 18 93 74 bc 00 
40 72 6d 60 41 89 37 4c 00 40 72 8c bc 6a 7e f9 db 00 40 72 ac 1c ac 08 31 27 
00 40 72 cb 78 d4 fd f3 b6 00 40 72 ea d4 fd f3 b6 46 00 40 73 0a 35 3f 7c ed 
91 00 40 73 29 91 68 72 b0 21 00 40 73 48 ed 91 68 72 b0 00 40 73 68 4d d2 f1 
a9 fc 00 40 73 87 a9 fb e7 6c 8b 00 40 73 a7 06 24 dd 2f 1b 00 40 73 c6 62 4d 
d2 f1 aa 00 40 73 e5 c2 8f 5c 28 f6 00 40 74 05 1e b8 51 eb 85 00 40 74 24 7a 
e1 47 ae 14 00 40 74 43 db 22 d0 e5 60 00 40 74 63 37 4b c6 a7 f0 00 40 74 82 
93 74 bc 6a 7f 00 40 74 a1 ef 9d b2 2d 0e 00 40 74 c1 4f df 3b 64 5a 00 40 74 
e0 ac 08 31 26 e9 00 40 75 00 08 31 26 e9 79 00 40 75 1f 68 72 b0 20 c5 00 40 
75 3e c4 9b a5 e3 54 00 40 75 5e 20 c4 9b a5 e3 00 40 75 7d 81 06 24 dd 2f 00 
40 75 9c dd 2f 1a 9f be 00 40 75 bc 39 58 10 62 4e 00 40 75 db 95 81 06 24 dd 
00 40 75 fa f5 c2 8f 5c 29 00 40 76 1a 51 eb 85 1e b8 00 40 76 39 ae 14 7a e1 
48 00 40 76 59 0e 56 04 18 93 00 40 76 78 6a 7e f9 db 23 00 40 76 97 c6 a7 ef 
9d b2 00 40 76 b7 22 d0 e5 60 42 00 40 76 d6 83 12 6e 97 8d 00 40 76 f5 df 3b 
64 5a 1d 00 40 77 15 3b 64 5a 1c ac 00 40 77 34 9b a5 e3 53 f8 00 40 77 53 f7 
ce d9 16 87 00 40 77 73 53 f7 ce d9 17 00 40 77 92 b0 20 c4 9b a6 00 40 77 b2 
10 62 4d d2 f2 00 40 77 d1 6c 8b 43 95 81 00 40 77 f0 c8 b4 39 58 10 00 40 78 
10 28 f5 c2 8f 5c 00 40 78 2f 85 1e b8 51 ec 00 40 78 4e e1 47 ae 14 7b 00 40 
78 6e 3d 70 a3 d7 0a 00 40 78 8d 9d b2 2d 0e 56 00 40 78 ac f9 db 22 d0 e5 00 
40 78 cc 56 04 18 93 75 00 40 78 eb b6 45 a1 ca c1 00 40 79 0b 12 6e 97 8d 50 
00 40 79 2a 6e 97 8d 4f df 00 40 79 49 ce d9 16 87 2b 00 40 79 69 2b 02 0c 49 
ba 00 40 79 88 87 2b 02 0c 4a 00 40 79 a7 e3 53 f7 ce d9 00 40 79 c7 43 95 81 
06 25 00 40 79 e6 9f be 76 c8 b4 00 40 7a 05 fb e7 6c 8b 44 00 40 7a 25 5c 28 
f5 c2 8f 00 40 7a 44 b8 51 eb 85 1f 00 40 7a 64 14 7a e1 47 ae 00 40 7a 83 70 
a3 d7 0a 3d 00 40 7a a2 d0 e5 60 41 89 00 40 7a c2 2d 0e 56 04 19 00 40 7a e1 
89 37 4b c6 a8 00 40 7b 00 e9 78 d4 fd f4 00 40 7b 20 45 a1 ca c0 83 00 40 7b 
3f a1 ca c0 83 12 00 40 7b 5f 02 0c 49 ba 5e 00 40 7b 7e 5e 35 3f 7c ee 00 40 
7b 9d ba 5e 35 3f 7d 00 40 7b bd 16 87 2b 02 0c 00 40 7b dc 76 c8 b4 39 58 00 
40 7b fb d2 f1 a9 fb e7 00 40 7c 1b 2f 1a 9f be 77 00 40 7c 3a 8f 5c 28 f5 c3 
00 40 7c 59 eb 85 1e b8 52 00 40 7c 79 47 ae 14 7a e1 00 40 7c 98 a3 d7 0a 3d 
71 00 40 7c b8 04 18 93 74 bc 00 40 7c d7 60 41 89 37 4c 00 40 7c f6 bc 6a 7e 
f9 db 00 40 7d 16 1c ac 08 31 27 00 40 7d 35 78 d4 fd f3 b6 00 40 7d 54 d4 fd 
f3 b6 46 00 40 7d 74 31 26 e9 78 d5 00 40 7d 93 91 68 72 b0 21 00 40 7d b2 ed 
91 68 72 b0 00 40 7d d2 49 ba 5e 35 3f 00 40 7d f1 a9 fb e7 6c 8b 00 40 7e 11 
06 24 dd 2f 1b 00 40 7e 30 62 4d d2 f1 aa 00 40 7e 4f c2 8f 5c 28 f6 00 40 7e 
55 16 87 2b 02 0c 00 40 7e 74 72 b0 20 c4 9c 00 40 7e 93 d2 f1 a9 fb e7 00 40 
7e b3 2f 1a 9f be 77 00 40 7e d2 8b 43 95 81 06 00 40 7e f1 eb 85 1e b8 52 00 
40 7f 11 47 ae 14 7a e1 00 40 7f 30 a3 d7 0a 3d 71 00 40 7f 50 00 00 00 00 00 
00 40 7f 6f 60 41 89 37 4c 00 40 7f 8e bc 6a 7e f9 db 00 40 7f ae 18 93 74 bc 
6a 00 40 7f cd 78 d4 fd f3 b6 00 40 7f ec d4 fd f3 b6 46 00 40 80 06 18 93 74 
bc 6a 00 40 80 15 c8 b4 39 58 10 00 40 80 25 76 c8 b4 39 58 00 40 80 35 24 dd 
2f 1a a0 00 40 80 44 d2 f1 a9 fb e7 00 40 80 54 83 12 6e 97 8d 00 40 80 64 31 
26 e9 78 d5 00 40 80 73 df 3b 64 5a 1d 00 40 80 83 8f 5c 28 f5 c3 00 40 80 93 
3d 70 a3 d7 0a 00 40 80 a2 eb 85 1e b8 52 00 40 80 b2 99 99 99 99 9a 00 40 80 
c2 49 ba 5e 35 3f 00 40 80 d1 f7 ce d9 16 87 00 40 80 e1 a5 e3 53 f7 cf 00 40 
80 f1 56 04 18 93 75 00 40 81 01 04 18 93 74 bc 00 40 81 10 b2 2d 0e 56 04 00 
40 81 20 62 4d d2 f1 aa 00 40 81 30 10 62 4d d2 f2 00 40 81 3f be 76 c8 b4 39 
00 40 81 4f 6c 8b 43 95 81 00 40 81 5f 1c ac 08 31 27 00 40 81 6e ca c0 83 12 
6f 00 40 81 7e 78 d4 fd f3 b6 00 40 81 8e 28 f5 c2 8f 5c 00 40 81 9d d7 0a 3d 
70 a4 00 40 81 ad 85 1e b8 51 ec 00 40 81 bd 33 33 33 33 33 00 40 81 cc e3 53 
f7 ce d9 00 40 81 dc 91 68 72 b0 21 00 40 81 ec 3f 7c ed 91 68 00 40 81 fb ef 
9d b2 2d 0e 00 40 82 0b 9d b2 2d 0e 56 00 40 82 1b 4b c6 a7 ef 9e 00 40 82 2a 
f9 db 22 d0 e5 00 40 82 33 fd f3 b6 45 a2 00 40 82 43 ac 08 31 26 e9 00 40 82 
53 5a 1c ac 08 31 00 0d 66 69 6c 65 70 6f 73 69 74 69 6f 6e 73 0a 00 00 01 33 
00 40 b6 d2 00 00 00 00 00 00 40 db 4f 80 00 00 00 00 00 40 f0 67 e0 00 00 00 
00 00 40 f8 41 50 00 00 00 00 00 41 00 30 98 00 00 00 00 00 41 04 fd 28 00 00 
00 00 00 41 07 a2 10 00 00 00 00 00 41 07 e6 68 00 00 00 00 00 41 11 da 7c 00 
00 00 00 00 41 16 a7 dc 00 00 00 00 00 41 1b 35 6c 00 00 00 00 00 41 1f d4 bc 
00 00 00 00 00 41 22 4b 5e 00 00 00 00 00 41 24 ab 78 00 00 00 00 00 41 27 20 
e8 00 00 00 00 00 41 29 a7 04 00 00 00 00 00 41 2c 14 f6 00 00 00 00 00 41 2e 
82 f8 00 00 00 00 00 41 30 a9 29 00 00 00 00 00 41 32 1f e6 00 00 00 00 00 41 
33 69 a0 00 00 00 00 00 41 34 cb df 00 00 00 00 00 41 36 33 96 00 00 00 00 00 
41 37 94 db 00 00 00 00 00 41 38 e2 54 00 00 00 00 00 41 3a 4d 10 00 00 00 00 
00 41 3b a4 1e 00 00 00 00 00 41 3d 31 ba 00 00 00 00 00 41 3e b3 75 00 00 00 
00 00 41 40 09 72 80 00 00 00 00 41 40 a7 34 00 00 00 00 00 41 41 1f bf 80 00 
00 00 00 41 41 a1 79 80 00 00 00 00 41 42 27 3c 80 00 00 00 00 41 42 b0 11 00 
00 00 00 00 41 43 3c 27 80 00 00 00 00 41 43 c6 d7 80 00 00 00 00 41 44 4e 36 
80 00 00 00 00 41 44 d9 50 80 00 00 00 00 41 45 60 9f 00 00 00 00 00 41 45 c5 
39 80 00 00 00 00 41 46 00 9d 00 00 00 00 00 41 46 32 5e 00 00 00 00 00 41 46 
64 c6 00 00 00 00 00 41 46 c3 cc 00 00 00 00 00 41 47 5a 90 80 00 00 00 00 41 
48 00 08 80 00 00 00 00 41 48 cd 6d 80 00 00 00 00 41 49 98 39 80 00 00 00 00 
41 4a 5b 8b 80 00 00 00 00 41 4b 2c db 00 00 00 00 00 41 4c 0f 67 00 00 00 00 
00 41 4c ed c9 80 00 00 00 00 41 4d c9 d3 80 00 00 00 00 41 4e a7 83 80 00 00 
00 00 41 4f 82 e1 00 00 00 00 00 41 50 2a 2b 00 00 00 00 00 41 50 89 39 c0 00 
00 00 00 41 50 df 38 40 00 00 00 00 41 51 37 93 40 00 00 00 00 41 51 9c 32 80 
00 00 00 00 41 52 0b 0b c0 00 00 00 00 41 52 68 52 80 00 00 00 00 41 52 bb 21 
80 00 00 00 00 41 53 08 7d c0 00 00 00 00 41 53 5a 6b c0 00 00 00 00 41 53 ab 
e1 00 00 00 00 00 41 53 fc d3 c0 00 00 00 00 41 54 4b b2 40 00 00 00 00 41 54 
97 2d 40 00 00 00 00 41 54 dd d1 40 00 00 00 00 41 55 28 c8 40 00 00 00 00 41 
55 74 d6 c0 00 00 00 00 41 55 c6 28 40 00 00 00 00 41 56 11 3a 40 00 00 00 00 
41 56 5b a7 40 00 00 00 00 41 56 c2 97 80 00 00 00 00 41 57 18 d0 00 00 00 00 
00 41 57 6f 38 00 00 00 00 00 41 57 c1 05 80 00 00 00 00 41 58 0e f9 40 00 00 
00 00 41 58 61 d9 40 00 00 00 00 41 58 be 21 c0 00 00 00 00 41 59 1b a3 00 00 
00 00 00 41 59 7d b7 80 00 00 00 00 41 59 de c4 80 00 00 00 00 41 5a 38 6f c0 
00 00 00 00 41 5a 97 be 40 00 00 00 00 41 5b 06 5f 00 00 00 00 00 41 5b 7b 62 
80 00 00 00 00 41 5b e8 4c c0 00 00 00 00 41 5c 59 4c 40 00 00 00 00 41 5c c6 
99 00 00 00 00 00 41 5d 37 eb 00 00 00 00 00 41 5d a1 4a 00 00 00 00 00 41 5e 
05 00 00 00 00 00 00 41 5e 69 d8 00 00 00 00 00 41 5e d1 e9 80 00 00 00 00 41 
5f 35 61 80 00 00 00 00 41 5f 99 a3 80 00 00 00 00 41 5f f8 ea 40 00 00 00 00 
41 60 2a b8 c0 00 00 00 00 41 60 5c 12 40 00 00 00 00 41 60 90 a9 60 00 00 00 
00 41 60 c6 b7 c0 00 00 00 00 41 60 fe 01 00 00 00 00 00 41 61 31 40 00 00 00 
00 00 41 61 5e 86 00 00 00 00 00 41 61 8a fc a0 00 00 00 00 41 61 b9 43 00 00 
00 00 00 41 61 e7 16 80 00 00 00 00 41 62 17 b3 80 00 00 00 00 41 62 40 7d 40 
00 00 00 00 41 62 44 d4 60 00 00 00 00 41 62 72 5d 00 00 00 00 00 41 62 a4 b7 
00 00 00 00 00 41 62 e2 3d a0 00 00 00 00 41 63 1c b5 a0 00 00 00 00 41 63 59 
85 c0 00 00 00 00 41 63 91 80 00 00 00 00 00 41 63 c4 75 c0 00 00 00 00 41 63 
f6 d6 20 00 00 00 00 41 64 1a 9d 80 00 00 00 00 41 64 42 0c e0 00 00 00 00 41 
64 66 c9 a0 00 00 00 00 41 64 86 97 80 00 00 00 00 41 64 a7 b3 e0 00 00 00 00 
41 64 ca 51 a0 00 00 00 00 41 64 ed 31 60 00 00 00 00 41 65 18 18 60 00 00 00 
00 41 65 42 43 00 00 00 00 00 41 65 70 d6 00 00 00 00 00 41 65 a0 a8 00 00 00 
00 00 41 65 a5 0d 40 00 00 00 00 41 65 a6 30 a0 00 00 00 00 41 65 c8 96 40 00 
00 00 00 41 65 e5 8e 80 00 00 00 00 41 66 05 ed 20 00 00 00 00 41 66 24 bc 40 
00 00 00 00 41 66 3f a7 00 00 00 00 00 41 66 5d 8e c0 00 00 00 00 41 66 5f 95 
40 00 00 00 00 41 66 85 5a c0 00 00 00 00 41 66 ac 52 20 00 00 00 00 41 66 d3 
8b e0 00 00 00 00 41 66 fa e4 00 00 00 00 00 41 67 24 d0 c0 00 00 00 00 41 67 
4e d9 c0 00 00 00 00 41 67 7a 55 a0 00 00 00 00 41 67 a3 1d e0 00 00 00 00 41 
67 cb f9 40 00 00 00 00 41 67 f7 24 e0 00 00 00 00 41 68 23 ce a0 00 00 00 00 
41 68 3c fb 00 00 00 00 00 41 68 5d f1 00 00 00 00 00 41 68 7d 50 40 00 00 00 
00 41 68 9a 37 40 00 00 00 00 41 68 b6 4b a0 00 00 00 00 41 68 d6 08 c0 00 00 
00 00 41 68 f7 fd e0 00 00 00 00 41 69 1a 44 c0 00 00 00 00 41 69 3a 2a 80 00 
00 00 00 41 69 5c 07 20 00 00 00 00 41 69 7e ec 20 00 00 00 00 41 69 9e 44 20 
00 00 00 00 41 69 b8 f3 c0 00 00 00 00 41 69 d5 ec 40 00 00 00 00 41 69 f3 d9 
00 00 00 00 00 41 6a 10 74 e0 00 00 00 00 41 6a 2d 33 00 00 00 00 00 41 6a 4b 
9e a0 00 00 00 00 41 6a 72 eb 00 00 00 00 00 41 6a 9b fd 40 00 00 00 00 41 6a 
cd 8e e0 00 00 00 00 41 6b 01 aa 60 00 00 00 00 41 6b 33 d5 a0 00 00 00 00 41 
6b 64 ca a0 00 00 00 00 41 6b 8f 90 00 00 00 00 00 41 6b bf f1 00 00 00 00 00 
41 6b f0 4f 20 00 00 00 00 41 6c 1d 1f c0 00 00 00 00 41 6c 47 b7 00 00 00 00 
00 41 6c 72 ee e0 00 00 00 00 41 6c 9a dc 60 00 00 00 00 41 6c c0 04 a0 00 00 
00 00 41 6c e1 5a a0 00 00 00 00 41 6d 03 4f e0 00 00 00 00 41 6d 28 24 60 00 
00 00 00 41 6d 4c da e0 00 00 00 00 41 6d 71 93 80 00 00 00 00 41 6d 99 50 00 
00 00 00 00 41 6d c0 4f e0 00 00 00 00 41 6d e5 c9 40 00 00 00 00 41 6e 08 fe 
c0 00 00 00 00 41 6e 2d 90 c0 00 00 00 00 41 6e 48 6a 40 00 00 00 00 41 6e 7b 
65 40 00 00 00 00 41 6e ab 11 c0 00 00 00 00 41 6e e1 0e 00 00 00 00 00 41 6f 
18 8b 00 00 00 00 00 41 6f 4c 1d 60 00 00 00 00 41 6f 7c 8f 00 00 00 00 00 41 
6f ad 1e 20 00 00 00 00 41 6f dd 1e 60 00 00 00 00 41 70 06 b0 60 00 00 00 00 
41 70 1d 3c 70 00 00 00 00 41 70 33 e5 60 00 00 00 00 41 70 49 a9 00 00 00 00 
00 41 70 5d 8d f0 00 00 00 00 41 70 71 9c 80 00 00 00 00 41 70 84 c4 c0 00 00 
00 00 41 70 99 79 30 00 00 00 00 41 70 ac ec 30 00 00 00 00 41 70 c0 bd f0 00 
00 00 00 41 70 d5 bb 00 00 00 00 00 41 70 ea c4 a0 00 00 00 00 41 70 ff 77 10 
00 00 00 00 41 71 13 be 30 00 00 00 00 41 71 28 10 40 00 00 00 00 41 71 3c e0 
10 00 00 00 00 41 71 52 e4 b0 00 00 00 00 41 71 6a 7f 70 00 00 00 00 41 71 81 
b6 20 00 00 00 00 41 71 97 a1 d0 00 00 00 00 41 71 ae 53 b0 00 00 00 00 41 71 
c4 2a 50 00 00 00 00 41 71 d9 b0 30 00 00 00 00 41 71 ef 51 20 00 00 00 00 41 
72 05 34 90 00 00 00 00 41 72 1b 83 f0 00 00 00 00 41 72 30 d1 e0 00 00 00 00 
41 72 45 bc 00 00 00 00 00 41 72 5d 36 00 00 00 00 00 41 72 73 aa 30 00 00 00 
00 41 72 89 37 20 00 00 00 00 41 72 9d b9 50 00 00 00 00 41 72 b1 3c 50 00 00 
00 00 41 72 c6 08 40 00 00 00 00 41 72 da dc 60 00 00 00 00 41 72 ef 73 a0 00 
00 00 00 41 73 05 1b c0 00 00 00 00 41 73 1a bc 80 00 00 00 00 41 73 2f fb c0 
00 00 00 00 41 73 46 ff 30 00 00 00 00 41 73 5d 18 00 00 00 00 00 41 73 75 51 
60 00 00 00 00 41 73 8a df 80 00 00 00 00 41 73 a0 69 d0 00 00 00 00 41 73 b6 
e4 b0 00 00 00 00 41 73 ce 66 50 00 00 00 00 41 73 e5 91 b0 00 00 00 00 41 73 
fa 77 50 00 00 00 00 41 74 0f 1a f0 00 00 00 00 41 74 24 e8 10 00 00 00 00 41 
74 29 e9 a0 00 00 00 00 41 74 37 50 10 00 00 00 00 41 74 40 3f b0 00 00 00 00 
41 74 49 41 40 00 00 00 00 41 74 53 1b 60 00 00 00 00 41 74 5e 1c 30 00 00 00 
00 41 74 68 73 80 00 00 00 00 41 74 72 4d d0 00 00 00 00 41 74 7c 61 40 00 00 
00 00 41 74 87 63 20 00 00 00 00 41 74 92 10 e0 00 00 00 00 41 74 9b 9a d0 00 
00 00 00 41 74 a7 96 70 00 00 00 00 41 74 b0 93 20 00 00 00 00 41 74 be 44 70 
00 00 00 00 41 74 c5 96 e0 00 00 00 00 41 74 d2 f4 70 00 00 00 00 41 74 e3 19 
00 00 00 00 00 41 74 f3 c5 30 00 00 00 00 41 75 04 72 d0 00 00 00 00 41 75 15 
c5 00 00 00 00 00 41 75 28 b8 30 00 00 00 00 41 75 3b eb 10 00 00 00 00 41 75 
4f 45 40 00 00 00 00 41 75 63 1e b0 00 00 00 00 41 75 77 6e e0 00 00 00 00 41 
75 8b af 50 00 00 00 00 41 75 9e ed 40 00 00 00 00 41 75 b2 1d 80 00 00 00 00 
41 75 c5 66 90 00 00 00 00 41 75 d9 14 c0 00 00 00 00 41 75 ec aa 20 00 00 00 
00 41 75 ff 1d 90 00 00 00 00 41 76 10 ed 90 00 00 00 00 41 76 23 32 20 00 00 
00 00 41 76 38 3d 20 00 00 00 00 41 76 50 26 60 00 00 00 00 41 76 68 93 f0 00 
00 00 00 41 76 7b eb d0 00 00 00 00 41 76 83 d6 d0 00 00 00 00 41 76 8f 6a 90 
00 00 00 00 41 76 97 5c 00 00 00 00 00 41 76 9f 4a 40 00 00 00 00 41 76 a7 37 
00 00 00 00 00 41 76 af 9f f0 00 00 00 00 41 76 c2 85 f0 00 00 00 00 41 76 cb 
f1 70 00 00 00 00 41 76 d5 56 00 00 00 00 00 41 76 de b9 30 00 00 00 00 41 76 
e8 17 90 00 00 00 00 41 76 f4 57 c0 00 00 00 00 41 76 fb 87 20 00 00 00 00 41 
77 01 7f 10 00 00 00 00"));
-//    boost::shared_ptr<cygnal::Buffer> hex5 = hex2mem("00 0a 6f 6e 4d 65 74 
61 44 61 74 61 08 00 00 00 0a 00 08 64 75 72 61 74 69 6f 6e 00 40 6e 47 74 bc 
6a 7e fa 00 0d 76 69 64 65 6f 64 61 74 61 72 61 74 65 00 40 67 28 32 e3 7f 02 
e6 00 15 6c 61 73 74 6b 65 79 66 72 61 6d 65 74 69 6d 65 73 74 61 6d 70 00 40 
6e 03 2b 02 0c 49 ba 00 14 6c 61 73 74 6b 65 79 66 72 61 6d 65 6c 6f 63 61 74 
69 6f 6e 00 41 55 41 92 80 00 00 00 00 07 63 72 65 61 74 6f 72 02 00 0d 59 6f 
75 54 75 62 65 2c 20 49 6e 63 2e 00 0f 6d 65 74 61 64 61 74 61 63 72 65 61 74 
6f 72 02 00 1a 59 6f 75 54 75 62 65 20 4d 65 74 61 64 61 74 61 20 49 6e 6a 65 
63 74 6f 72 2e 00 09 66 6c 76 73 6f 75 72 63 65 02 00 04 63 64 62 70 00 0c 68 
61 73 6b 65 79 66 72 61 6d 65 73 01 01 00 0b 68 61 73 6d 65 74 61 64 61 74 61 
01 01 00 09 6b 65 79 66 72 61 6d 65 73 03 00 05 74 69 6d 65 73 0a 00 00 00 7a 
00 00 00 00 00 00 00 00 00 00 40 00 16 87 2b 02 0c 4a 00 40 0c be 76 c8 b4 39 
58 00 40 14 92 6e 97 8d 4f df 00 40 1b 8f 5c 28 f5 c2 8f 00 40 20 49 37 4b c6 
a7 f0 00 40 23 d8 93 74 bc 6a 7f 00 40 27 57 0a 3d 70 a3 d7 00 40 2a a3 53 f7 
ce d9 17 00 40 2d de 35 3f 7c ed 91 00 40 30 9d 70 a3 d7 0a 3d 00 40 32 b1 26 
e9 78 d4 fe 00 40 34 13 b6 45 a1 ca c1 00 40 36 05 a1 ca c0 83 12 00 40 37 ab 
85 1e b8 51 ec 00 40 39 05 a1 ca c0 83 12 00 40 3a cd 4f df 3b 64 5a 00 40 3c 
5a 1c ac 08 31 27 00 40 3e 21 ca c0 83 12 6f 00 40 3f c7 ae 14 7a e1 48 00 40 
40 9d 91 68 72 b0 21 00 40 41 8e 14 7a e1 47 ae 00 40 42 82 d0 e5 60 41 89 00 
40 43 62 6e 97 8d 4f df 00 40 44 4e b8 51 eb 85 1f 00 40 44 ef 1a 9f be 76 c9 
00 40 45 ec 49 ba 5e 35 3f 00 40 46 ed b2 2d 0e 56 04 00 40 47 a7 6c 8b 43 95 
81 00 40 48 8f 7c ed 91 68 73 00 40 49 80 00 00 00 00 00 00 40 4a 78 f5 c2 8f 
5c 29 00 40 4b 61 06 24 dd 2f 1b 00 40 4c 99 58 10 62 4d d3 00 40 4d 5f 9d b2 
2d 0e 56 00 40 4e 54 5a 1c ac 08 31 00 40 4f 44 dd 2f 1a 9f be 00 40 50 1e f9 
db 22 d0 e5 00 40 50 8a 8f 5c 28 f5 c3 00 40 50 f1 eb 85 1e b8 52 00 40 51 7d 
2f 1a 9f be 77 00 40 51 e0 51 eb 85 1e b8 00 40 52 84 ed 91 68 72 b0 00 40 53 
01 68 72 b0 20 c5 00 40 53 82 1c ac 08 31 27 00 40 53 fa 5e 35 3f 7c ee 00 40 
54 70 83 12 6e 97 8d 00 40 54 d3 b6 45 a1 ca c1 00 40 55 3d 2f 1a 9f be 77 00 
40 55 ce c8 b4 39 58 10 00 40 56 3e 97 8d 4f df 3b 00 40 56 bb 12 6e 97 8d 50 
00 40 57 2f 1a 9f be 76 c9 00 40 57 af ce d9 16 87 2b 00 40 58 28 10 62 4d d2 
f2 00 40 58 af 1a 9f be 76 c9 00 40 59 1a c0 83 12 6e 98 00 40 59 95 1e b8 51 
eb 85 00 40 5a 07 0a 3d 70 a3 d7 00 40 5a 96 87 2b 02 0c 4a 00 40 5b 21 ba 5e 
35 3f 7d 00 40 5b 93 b6 45 a1 ca c1 00 40 5b ff 4b c6 a7 ef 9e 00 40 5c 88 72 
b0 20 c4 9c 00 40 5c fa 5e 35 3f 7c ee 00 40 5d 76 d9 16 87 2b 02 00 40 5d e4 
8b 43 95 81 06 00 40 5e 6b 95 81 06 24 dd 00 40 5e f8 f5 c2 8f 5c 29 00 40 5f 
8e c8 b4 39 58 10 00 40 60 0a e9 78 d4 fd f4 00 40 60 47 0a 3d 70 a3 d7 00 40 
60 89 81 06 24 dd 2f 00 40 60 c8 cc cc cc cc cd 00 40 61 00 b4 39 58 10 62 00 
40 61 49 81 06 24 dd 2f 00 40 61 91 37 4b c6 a7 f0 00 40 61 e3 85 1e b8 51 ec 
00 40 62 43 85 1e b8 51 ec 00 40 62 7d 89 37 4b c6 a8 00 40 62 c9 81 06 24 dd 
2f 00 40 63 12 45 a1 ca c0 83 00 40 63 5c 20 c4 9b a5 e3 00 40 63 9b 6c 8b 43 
95 81 00 40 63 db c6 a7 ef 9d b2 00 40 64 16 d9 16 87 2b 02 00 40 64 55 16 87 
2b 02 0c 00 40 64 8e 14 7a e1 47 ae 00 40 64 d7 e7 6c 8b 43 96 00 40 65 18 41 
89 37 4b c7 00 40 65 51 37 4b c6 a7 f0 00 40 65 9e 3d 70 a3 d7 0a 00 40 65 e2 
d0 e5 60 41 89 00 40 66 14 62 4d d2 f1 aa 00 40 66 60 5a 1c ac 08 31 00 40 66 
a1 c2 8f 5c 28 f6 00 40 66 d9 a9 fb e7 6c 8b 00 40 67 1e 3d 70 a3 d7 0a 00 40 
67 67 0a 3d 70 a3 d7 00 40 67 a9 81 06 24 dd 2f 00 40 67 f7 8d 4f df 3b 64 00 
40 68 43 85 1e b8 51 ec 00 40 68 89 26 e9 78 d4 fe 00 40 68 d9 4f df 3b 64 5a 
00 40 69 29 81 06 24 dd 2f 00 40 69 68 cc cc cc cc cd 00 40 69 aa 35 3f 7c ed 
91 00 40 69 fc 7a e1 47 ae 14 00 40 6a 31 37 4b c6 a7 f0 00 40 6a 7c 20 c4 9b 
a5 e3 00 40 6a d0 83 12 6e 97 8d 00 40 6b 1e 97 8d 4f df 3b 00 40 6b 70 dd 2f 
1a 9f be 00 40 6b aa e9 78 d4 fd f4 00 40 6b f6 d9 16 87 2b 02 00 40 6c 40 b4 
39 58 10 62 00 40 6c 80 00 00 00 00 00 00 40 6c d2 45 a1 ca c0 83 00 40 6d 20 
5a 1c ac 08 31 00 40 6d 68 18 93 74 bc 6a 00 40 6d b6 24 dd 2f 1a a0 00 40 6e 
03 2b 02 0c 49 ba 00 0d 66 69 6c 65 70 6f 73 69 74 69 6f 6e 73 0a 00 00 00 7a 
00 40 a3 a0 00 00 00 00 00 00 40 e6 1a 40 00 00 00 00 00 40 f4 b9 40 00 00 00 
00 00 40 fe 2a 10 00 00 00 00 00 41 04 6d b8 00 00 00 00 00 41 09 13 30 00 00 
00 00 00 41 0e 65 48 00 00 00 00 00 41 11 ac 10 00 00 00 00 00 41 14 60 bc 00 
00 00 00 00 41 17 09 38 00 00 00 00 00 41 19 ce f4 00 00 00 00 00 41 1c 7a 90 
00 00 00 00 00 41 1e e9 4c 00 00 00 00 00 41 21 0d 16 00 00 00 00 00 41 22 84 
dc 00 00 00 00 00 41 23 bb be 00 00 00 00 00 41 25 2d b6 00 00 00 00 00 41 26 
76 5e 00 00 00 00 00 41 27 d8 50 00 00 00 00 00 41 29 44 e6 00 00 00 00 00 41 
2a 90 6e 00 00 00 00 00 41 2b e5 2c 00 00 00 00 00 41 2d 27 36 00 00 00 00 00 
41 2e 65 fe 00 00 00 00 00 41 2f c3 02 00 00 00 00 00 41 30 73 07 00 00 00 00 
00 41 31 26 69 00 00 00 00 00 41 31 d5 84 00 00 00 00 00 41 32 67 fc 00 00 00 
00 00 41 33 0f c8 00 00 00 00 00 41 33 c3 ec 00 00 00 00 00 41 34 75 9c 00 00 
00 00 00 41 35 29 c6 00 00 00 00 00 41 35 f8 37 00 00 00 00 00 41 36 99 17 00 
00 00 00 00 41 37 4d 7f 00 00 00 00 00 41 37 fb e3 00 00 00 00 00 41 38 a0 fc 
00 00 00 00 00 41 39 46 90 00 00 00 00 00 41 39 e7 17 00 00 00 00 00 41 3a 9c 
dc 00 00 00 00 00 41 3b 40 c0 00 00 00 00 00 41 3c 0e ff 00 00 00 00 00 41 3c 
bb e0 00 00 00 00 00 41 3d 77 91 00 00 00 00 00 41 3e 26 48 00 00 00 00 00 41 
3e d2 57 00 00 00 00 00 41 3f 79 f2 00 00 00 00 00 41 40 13 eb 80 00 00 00 00 
41 40 6e 58 00 00 00 00 00 41 40 c1 2d 80 00 00 00 00 41 41 17 c0 80 00 00 00 
00 41 41 6b 52 80 00 00 00 00 41 41 c5 2e 00 00 00 00 00 41 42 17 da 80 00 00 
00 00 41 42 76 36 00 00 00 00 00 41 42 c7 be 00 00 00 00 00 41 43 25 e5 80 00 
00 00 00 41 43 7a b1 00 00 00 00 00 41 43 d4 07 80 00 00 00 00 41 44 2c e0 00 
00 00 00 00 41 44 7d fe 00 00 00 00 00 41 44 d0 61 80 00 00 00 00 41 45 27 55 
00 00 00 00 00 41 45 7c c3 80 00 00 00 00 41 45 d4 0a 00 00 00 00 00 41 46 24 
09 80 00 00 00 00 41 46 7a 64 80 00 00 00 00 41 46 d8 6d 00 00 00 00 00 41 47 
39 0a 80 00 00 00 00 41 47 94 d5 00 00 00 00 00 41 47 e8 6d 00 00 00 00 00 41 
48 3f f1 80 00 00 00 00 41 48 a0 5e 80 00 00 00 00 41 48 f4 7d 00 00 00 00 00 
41 49 52 36 00 00 00 00 00 41 49 b4 80 00 00 00 00 00 41 4a 1b 96 80 00 00 00 
00 41 4a 86 8c 00 00 00 00 00 41 4a d6 96 00 00 00 00 00 41 4b 34 06 80 00 00 
00 00 41 4b 8d 4b 80 00 00 00 00 41 4b ee 20 00 00 00 00 00 41 4c 45 14 80 00 
00 00 00 41 4c 9e 5b 00 00 00 00 00 41 4c fc a7 00 00 00 00 00 41 4d 56 b1 80 
00 00 00 00 41 4d ac f2 00 00 00 00 00 41 4e 12 de 80 00 00 00 00 41 4e 6b 88 
80 00 00 00 00 41 4e bf 7b 00 00 00 00 00 41 4f 21 e4 00 00 00 00 00 41 4f 82 
04 80 00 00 00 00 41 4f d4 10 80 00 00 00 00 41 50 1a 94 80 00 00 00 00 41 50 
48 ce 40 00 00 00 00 41 50 70 de 80 00 00 00 00 41 50 9f 3a 40 00 00 00 00 41 
50 cf 1d 80 00 00 00 00 41 50 fc a0 80 00 00 00 00 41 51 2b a4 80 00 00 00 00 
41 51 58 7d 80 00 00 00 00 41 51 86 45 40 00 00 00 00 41 51 b6 0f 80 00 00 00 
00 41 51 e6 71 40 00 00 00 00 41 52 10 8d 00 00 00 00 00 41 52 3c e0 40 00 00 
00 00 41 52 6d 33 c0 00 00 00 00 41 52 96 68 40 00 00 00 00 41 52 c5 8a 40 00 
00 00 00 41 52 f6 6a c0 00 00 00 00 41 53 25 4e 40 00 00 00 00 41 53 58 7d 80 
00 00 00 00 41 53 85 b4 00 00 00 00 00 41 53 ba 0c 40 00 00 00 00 41 53 f4 6f 
c0 00 00 00 00 41 54 2d 9d c0 00 00 00 00 41 54 70 96 80 00 00 00 00 41 54 a7 
13 80 00 00 00 00 41 54 d8 8f 00 00 00 00 00 41 55 0f ae 80 00 00 00 00 41 55 
41 92 80 00 00 00 00");
+    std::shared_ptr<cygnal::Buffer> hex5(new Buffer("00 0a 6f 6e 4d 65 74 61 
44 61 74 61 08 00 00 00 0a 00 08 64 75 72 61 74 69 6f 6e 00 40 82 5c fd f3 b6 
45 a2 00 0d 76 69 64 65 6f 64 61 74 61 72 61 74 65 00 40 74 8a 51 f7 27 8d c5 
00 15 6c 61 73 74 6b 65 79 66 72 61 6d 65 74 69 6d 65 73 74 61 6d 70 00 40 82 
53 5a 1c ac 08 31 00 14 6c 61 73 74 6b 65 79 66 72 61 6d 65 6c 6f 63 61 74 69 
6f 6e 00 41 77 01 7f 10 00 00 00 00 07 63 72 65 61 74 6f 72 02 00 0d 59 6f 75 
54 75 62 65 2c 20 49 6e 63 2e 00 0f 6d 65 74 61 64 61 74 61 63 72 65 61 74 6f 
72 02 00 1a 59 6f 75 54 75 62 65 20 4d 65 74 61 64 61 74 61 20 49 6e 6a 65 63 
74 6f 72 2e 00 09 66 6c 76 73 6f 75 72 63 65 02 00 04 63 64 62 70 00 0c 68 61 
73 6b 65 79 66 72 61 6d 65 73 01 01 00 0b 68 61 73 6d 65 74 61 64 61 74 61 01 
01 00 09 6b 65 79 66 72 61 6d 65 73 03 00 05 74 69 6d 65 73 0a 00 00 01 33 00 
00 00 00 00 00 00 00 00 00 3f ff 5c 28 f5 c2 8f 5c 00 40 0f 5e 35 3f 7c ed 91 
00 40 17 86 24 dd 2f 1a a0 00 40 1f 5d 2f 1a 9f be 77 00 40 23 9a 1c ac 08 31 
27 00 40 26 1b 22 d0 e5 60 42 00 40 26 30 20 c4 9b a5 e3 00 40 2a 1c 28 f5 c2 
8f 5c 00 40 2e 07 ae 14 7a e1 48 00 40 30 f9 99 99 99 99 9a 00 40 32 ef 9d b2 
2d 0e 56 00 40 34 e5 60 41 89 37 4c 00 40 36 db 22 d0 e5 60 42 00 40 38 d0 e5 
60 41 89 37 00 40 3a c6 e9 78 d4 fd f4 00 40 3c bc ac 08 31 26 e9 00 40 3e b2 
6e 97 8d 4f df 00 40 40 54 39 58 10 62 4e 00 40 41 4f 1a 9f be 76 c9 00 40 42 
49 fb e7 6c 8b 44 00 40 43 44 dd 2f 1a 9f be 00 40 44 3f df 3b 64 5a 1d 00 40 
45 3a c0 83 12 6e 98 00 40 46 35 a1 ca c0 83 12 00 40 47 30 a3 d7 0a 3d 71 00 
40 48 2b 85 1e b8 51 ec 00 40 49 26 66 66 66 66 66 00 40 4a 21 68 72 b0 20 c5 
00 40 4b 1c 49 ba 5e 35 3f 00 40 4c 17 2b 02 0c 49 ba 00 40 4d 12 0c 49 ba 5e 
35 00 40 4e 0d 0e 56 04 18 93 00 40 4f 07 ef 9d b2 2d 0e 00 40 50 01 68 72 b0 
20 c5 00 40 50 7e e9 78 d4 fd f4 00 40 50 fc 5a 1c ac 08 31 00 40 51 79 ca c0 
83 12 6f 00 40 51 f7 3b 64 5a 1c ac 00 40 52 74 bc 6a 7e f9 db 00 40 52 f2 2d 
0e 56 04 19 00 40 53 6f 9d b2 2d 0e 56 00 40 53 ed 1e b8 51 eb 85 00 40 54 6a 
8f 5c 28 f5 c3 00 40 54 ea b0 20 c4 9b a6 00 40 55 68 20 c4 9b a5 e3 00 40 55 
e5 a1 ca c0 83 12 00 40 56 63 12 6e 97 8d 50 00 40 56 e0 83 12 6e 97 8d 00 40 
57 5d f3 b6 45 a1 cb 00 40 57 db 74 bc 6a 7e fa 00 40 58 58 e5 60 41 89 37 00 
40 58 d6 56 04 18 93 75 00 40 59 53 d7 0a 3d 70 a4 00 40 59 d1 47 ae 14 7a e1 
00 40 5a 4e b8 51 eb 85 1f 00 40 5a cc 28 f5 c2 8f 5c 00 40 5b 49 a9 fb e7 6c 
8b 00 40 5b c7 1a 9f be 76 c9 00 40 5c 44 8b 43 95 81 06 00 40 5c c2 0c 49 ba 
5e 35 00 40 5d 3f 7c ed 91 68 73 00 40 5d bc ed 91 68 72 b0 00 40 5e 3a 5e 35 
3f 7c ee 00 40 5e b7 df 3b 64 5a 1d 00 40 5f 35 4f df 3b 64 5a 00 40 5f b2 c0 
83 12 6e 98 00 40 60 18 20 c4 9b a5 e3 00 40 60 56 d9 16 87 2b 02 00 40 60 95 
91 68 72 b0 21 00 40 60 d4 51 eb 85 1e b8 00 40 61 13 0a 3d 70 a3 d7 00 40 61 
51 c2 8f 5c 28 f6 00 40 61 90 7a e1 47 ae 14 00 40 61 cf 3b 64 5a 1c ac 00 40 
62 0d f3 b6 45 a1 cb 00 40 62 4c ac 08 31 26 e9 00 40 62 8b 6c 8b 43 95 81 00 
40 62 ca 24 dd 2f 1a a0 00 40 63 08 dd 2f 1a 9f be 00 40 63 47 95 81 06 24 dd 
00 40 63 86 56 04 18 93 75 00 40 63 c5 0e 56 04 18 93 00 40 64 03 c6 a7 ef 9d 
b2 00 40 64 42 87 2b 02 0c 4a 00 40 64 81 3f 7c ed 91 68 00 40 64 bf f7 ce d9 
16 87 00 40 64 fe b0 20 c4 9b a6 00 40 65 3d 70 a3 d7 0a 3d 00 40 65 7c 28 f5 
c2 8f 5c 00 40 65 ba e1 47 ae 14 7b 00 40 65 f9 a1 ca c0 83 12 00 40 66 38 5a 
1c ac 08 31 00 40 66 77 12 6e 97 8d 50 00 40 66 b5 ca c0 83 12 6f 00 40 66 f4 
8b 43 95 81 06 00 40 67 33 43 95 81 06 25 00 40 67 71 fb e7 6c 8b 44 00 40 67 
b0 bc 6a 7e f9 db 00 40 67 ef 74 bc 6a 7e fa 00 40 68 2e 2d 0e 56 04 19 00 40 
68 6c ed 91 68 72 b0 00 40 68 ab a5 e3 53 f7 cf 00 40 68 ea 5e 35 3f 7c ee 00 
40 69 29 16 87 2b 02 0c 00 40 69 67 d7 0a 3d 70 a4 00 40 69 a6 8f 5c 28 f5 c3 
00 40 69 e5 47 ae 14 7a e1 00 40 6a 24 08 31 26 e9 79 00 40 6a 62 c0 83 12 6e 
98 00 40 6a a1 78 d4 fd f3 b6 00 40 6a e0 31 26 e9 78 d5 00 40 6b 15 99 99 99 
99 9a 00 40 6b 24 49 ba 5e 35 3f 00 40 6b 63 02 0c 49 ba 5e 00 40 6b a1 ba 5e 
35 3f 7d 00 40 6b e0 72 b0 20 c4 9c 00 40 6c 1f 33 33 33 33 33 00 40 6c 5d eb 
85 1e b8 52 00 40 6c 9c a3 d7 0a 3d 71 00 40 6c db 64 5a 1c ac 08 00 40 6d 12 
1c ac 08 31 27 00 40 6d 50 d4 fd f3 b6 46 00 40 6d 8f 8d 4f df 3b 64 00 40 6d 
ce 4d d2 f1 a9 fc 00 40 6e 0b ae 14 7a e1 48 00 40 6e 4a 66 66 66 66 66 00 40 
6e 89 26 e9 78 d4 fe 00 40 6e c7 df 3b 64 5a 1d 00 40 6f 06 97 8d 4f df 3b 00 
40 6f 39 4f df 3b 64 5a 00 40 6f 78 08 31 26 e9 79 00 40 6f b6 c8 b4 39 58 10 
00 40 6f bc 20 c4 9b a5 e3 00 40 6f bd 70 a3 d7 0a 3d 00 40 6f fc 31 26 e9 78 
d5 00 40 70 1d 74 bc 6a 7e fa 00 40 70 3c d0 e5 60 41 89 00 40 70 5c 31 26 e9 
78 d5 00 40 70 7b 8d 4f df 3b 64 00 40 70 96 e9 78 d4 fd f4 00 40 70 98 3d 70 
a3 d7 0a 00 40 70 b6 45 a1 ca c0 83 00 40 70 d5 a1 ca c0 83 12 00 40 70 f5 02 
0c 49 ba 5e 00 40 71 14 5e 35 3f 7c ee 00 40 71 33 ba 5e 35 3f 7d 00 40 71 53 
1a 9f be 76 c9 00 40 71 72 76 c8 b4 39 58 00 40 71 91 d2 f1 a9 fb e7 00 40 71 
b1 2f 1a 9f be 77 00 40 71 d0 8f 5c 28 f5 c3 00 40 71 ef eb 85 1e b8 52 00 40 
72 0f 47 ae 14 7a e1 00 40 72 2e a7 ef 9d b2 2d 00 40 72 4e 04 18 93 74 bc 00 
40 72 6d 60 41 89 37 4c 00 40 72 8c bc 6a 7e f9 db 00 40 72 ac 1c ac 08 31 27 
00 40 72 cb 78 d4 fd f3 b6 00 40 72 ea d4 fd f3 b6 46 00 40 73 0a 35 3f 7c ed 
91 00 40 73 29 91 68 72 b0 21 00 40 73 48 ed 91 68 72 b0 00 40 73 68 4d d2 f1 
a9 fc 00 40 73 87 a9 fb e7 6c 8b 00 40 73 a7 06 24 dd 2f 1b 00 40 73 c6 62 4d 
d2 f1 aa 00 40 73 e5 c2 8f 5c 28 f6 00 40 74 05 1e b8 51 eb 85 00 40 74 24 7a 
e1 47 ae 14 00 40 74 43 db 22 d0 e5 60 00 40 74 63 37 4b c6 a7 f0 00 40 74 82 
93 74 bc 6a 7f 00 40 74 a1 ef 9d b2 2d 0e 00 40 74 c1 4f df 3b 64 5a 00 40 74 
e0 ac 08 31 26 e9 00 40 75 00 08 31 26 e9 79 00 40 75 1f 68 72 b0 20 c5 00 40 
75 3e c4 9b a5 e3 54 00 40 75 5e 20 c4 9b a5 e3 00 40 75 7d 81 06 24 dd 2f 00 
40 75 9c dd 2f 1a 9f be 00 40 75 bc 39 58 10 62 4e 00 40 75 db 95 81 06 24 dd 
00 40 75 fa f5 c2 8f 5c 29 00 40 76 1a 51 eb 85 1e b8 00 40 76 39 ae 14 7a e1 
48 00 40 76 59 0e 56 04 18 93 00 40 76 78 6a 7e f9 db 23 00 40 76 97 c6 a7 ef 
9d b2 00 40 76 b7 22 d0 e5 60 42 00 40 76 d6 83 12 6e 97 8d 00 40 76 f5 df 3b 
64 5a 1d 00 40 77 15 3b 64 5a 1c ac 00 40 77 34 9b a5 e3 53 f8 00 40 77 53 f7 
ce d9 16 87 00 40 77 73 53 f7 ce d9 17 00 40 77 92 b0 20 c4 9b a6 00 40 77 b2 
10 62 4d d2 f2 00 40 77 d1 6c 8b 43 95 81 00 40 77 f0 c8 b4 39 58 10 00 40 78 
10 28 f5 c2 8f 5c 00 40 78 2f 85 1e b8 51 ec 00 40 78 4e e1 47 ae 14 7b 00 40 
78 6e 3d 70 a3 d7 0a 00 40 78 8d 9d b2 2d 0e 56 00 40 78 ac f9 db 22 d0 e5 00 
40 78 cc 56 04 18 93 75 00 40 78 eb b6 45 a1 ca c1 00 40 79 0b 12 6e 97 8d 50 
00 40 79 2a 6e 97 8d 4f df 00 40 79 49 ce d9 16 87 2b 00 40 79 69 2b 02 0c 49 
ba 00 40 79 88 87 2b 02 0c 4a 00 40 79 a7 e3 53 f7 ce d9 00 40 79 c7 43 95 81 
06 25 00 40 79 e6 9f be 76 c8 b4 00 40 7a 05 fb e7 6c 8b 44 00 40 7a 25 5c 28 
f5 c2 8f 00 40 7a 44 b8 51 eb 85 1f 00 40 7a 64 14 7a e1 47 ae 00 40 7a 83 70 
a3 d7 0a 3d 00 40 7a a2 d0 e5 60 41 89 00 40 7a c2 2d 0e 56 04 19 00 40 7a e1 
89 37 4b c6 a8 00 40 7b 00 e9 78 d4 fd f4 00 40 7b 20 45 a1 ca c0 83 00 40 7b 
3f a1 ca c0 83 12 00 40 7b 5f 02 0c 49 ba 5e 00 40 7b 7e 5e 35 3f 7c ee 00 40 
7b 9d ba 5e 35 3f 7d 00 40 7b bd 16 87 2b 02 0c 00 40 7b dc 76 c8 b4 39 58 00 
40 7b fb d2 f1 a9 fb e7 00 40 7c 1b 2f 1a 9f be 77 00 40 7c 3a 8f 5c 28 f5 c3 
00 40 7c 59 eb 85 1e b8 52 00 40 7c 79 47 ae 14 7a e1 00 40 7c 98 a3 d7 0a 3d 
71 00 40 7c b8 04 18 93 74 bc 00 40 7c d7 60 41 89 37 4c 00 40 7c f6 bc 6a 7e 
f9 db 00 40 7d 16 1c ac 08 31 27 00 40 7d 35 78 d4 fd f3 b6 00 40 7d 54 d4 fd 
f3 b6 46 00 40 7d 74 31 26 e9 78 d5 00 40 7d 93 91 68 72 b0 21 00 40 7d b2 ed 
91 68 72 b0 00 40 7d d2 49 ba 5e 35 3f 00 40 7d f1 a9 fb e7 6c 8b 00 40 7e 11 
06 24 dd 2f 1b 00 40 7e 30 62 4d d2 f1 aa 00 40 7e 4f c2 8f 5c 28 f6 00 40 7e 
55 16 87 2b 02 0c 00 40 7e 74 72 b0 20 c4 9c 00 40 7e 93 d2 f1 a9 fb e7 00 40 
7e b3 2f 1a 9f be 77 00 40 7e d2 8b 43 95 81 06 00 40 7e f1 eb 85 1e b8 52 00 
40 7f 11 47 ae 14 7a e1 00 40 7f 30 a3 d7 0a 3d 71 00 40 7f 50 00 00 00 00 00 
00 40 7f 6f 60 41 89 37 4c 00 40 7f 8e bc 6a 7e f9 db 00 40 7f ae 18 93 74 bc 
6a 00 40 7f cd 78 d4 fd f3 b6 00 40 7f ec d4 fd f3 b6 46 00 40 80 06 18 93 74 
bc 6a 00 40 80 15 c8 b4 39 58 10 00 40 80 25 76 c8 b4 39 58 00 40 80 35 24 dd 
2f 1a a0 00 40 80 44 d2 f1 a9 fb e7 00 40 80 54 83 12 6e 97 8d 00 40 80 64 31 
26 e9 78 d5 00 40 80 73 df 3b 64 5a 1d 00 40 80 83 8f 5c 28 f5 c3 00 40 80 93 
3d 70 a3 d7 0a 00 40 80 a2 eb 85 1e b8 52 00 40 80 b2 99 99 99 99 9a 00 40 80 
c2 49 ba 5e 35 3f 00 40 80 d1 f7 ce d9 16 87 00 40 80 e1 a5 e3 53 f7 cf 00 40 
80 f1 56 04 18 93 75 00 40 81 01 04 18 93 74 bc 00 40 81 10 b2 2d 0e 56 04 00 
40 81 20 62 4d d2 f1 aa 00 40 81 30 10 62 4d d2 f2 00 40 81 3f be 76 c8 b4 39 
00 40 81 4f 6c 8b 43 95 81 00 40 81 5f 1c ac 08 31 27 00 40 81 6e ca c0 83 12 
6f 00 40 81 7e 78 d4 fd f3 b6 00 40 81 8e 28 f5 c2 8f 5c 00 40 81 9d d7 0a 3d 
70 a4 00 40 81 ad 85 1e b8 51 ec 00 40 81 bd 33 33 33 33 33 00 40 81 cc e3 53 
f7 ce d9 00 40 81 dc 91 68 72 b0 21 00 40 81 ec 3f 7c ed 91 68 00 40 81 fb ef 
9d b2 2d 0e 00 40 82 0b 9d b2 2d 0e 56 00 40 82 1b 4b c6 a7 ef 9e 00 40 82 2a 
f9 db 22 d0 e5 00 40 82 33 fd f3 b6 45 a2 00 40 82 43 ac 08 31 26 e9 00 40 82 
53 5a 1c ac 08 31 00 0d 66 69 6c 65 70 6f 73 69 74 69 6f 6e 73 0a 00 00 01 33 
00 40 b6 d2 00 00 00 00 00 00 40 db 4f 80 00 00 00 00 00 40 f0 67 e0 00 00 00 
00 00 40 f8 41 50 00 00 00 00 00 41 00 30 98 00 00 00 00 00 41 04 fd 28 00 00 
00 00 00 41 07 a2 10 00 00 00 00 00 41 07 e6 68 00 00 00 00 00 41 11 da 7c 00 
00 00 00 00 41 16 a7 dc 00 00 00 00 00 41 1b 35 6c 00 00 00 00 00 41 1f d4 bc 
00 00 00 00 00 41 22 4b 5e 00 00 00 00 00 41 24 ab 78 00 00 00 00 00 41 27 20 
e8 00 00 00 00 00 41 29 a7 04 00 00 00 00 00 41 2c 14 f6 00 00 00 00 00 41 2e 
82 f8 00 00 00 00 00 41 30 a9 29 00 00 00 00 00 41 32 1f e6 00 00 00 00 00 41 
33 69 a0 00 00 00 00 00 41 34 cb df 00 00 00 00 00 41 36 33 96 00 00 00 00 00 
41 37 94 db 00 00 00 00 00 41 38 e2 54 00 00 00 00 00 41 3a 4d 10 00 00 00 00 
00 41 3b a4 1e 00 00 00 00 00 41 3d 31 ba 00 00 00 00 00 41 3e b3 75 00 00 00 
00 00 41 40 09 72 80 00 00 00 00 41 40 a7 34 00 00 00 00 00 41 41 1f bf 80 00 
00 00 00 41 41 a1 79 80 00 00 00 00 41 42 27 3c 80 00 00 00 00 41 42 b0 11 00 
00 00 00 00 41 43 3c 27 80 00 00 00 00 41 43 c6 d7 80 00 00 00 00 41 44 4e 36 
80 00 00 00 00 41 44 d9 50 80 00 00 00 00 41 45 60 9f 00 00 00 00 00 41 45 c5 
39 80 00 00 00 00 41 46 00 9d 00 00 00 00 00 41 46 32 5e 00 00 00 00 00 41 46 
64 c6 00 00 00 00 00 41 46 c3 cc 00 00 00 00 00 41 47 5a 90 80 00 00 00 00 41 
48 00 08 80 00 00 00 00 41 48 cd 6d 80 00 00 00 00 41 49 98 39 80 00 00 00 00 
41 4a 5b 8b 80 00 00 00 00 41 4b 2c db 00 00 00 00 00 41 4c 0f 67 00 00 00 00 
00 41 4c ed c9 80 00 00 00 00 41 4d c9 d3 80 00 00 00 00 41 4e a7 83 80 00 00 
00 00 41 4f 82 e1 00 00 00 00 00 41 50 2a 2b 00 00 00 00 00 41 50 89 39 c0 00 
00 00 00 41 50 df 38 40 00 00 00 00 41 51 37 93 40 00 00 00 00 41 51 9c 32 80 
00 00 00 00 41 52 0b 0b c0 00 00 00 00 41 52 68 52 80 00 00 00 00 41 52 bb 21 
80 00 00 00 00 41 53 08 7d c0 00 00 00 00 41 53 5a 6b c0 00 00 00 00 41 53 ab 
e1 00 00 00 00 00 41 53 fc d3 c0 00 00 00 00 41 54 4b b2 40 00 00 00 00 41 54 
97 2d 40 00 00 00 00 41 54 dd d1 40 00 00 00 00 41 55 28 c8 40 00 00 00 00 41 
55 74 d6 c0 00 00 00 00 41 55 c6 28 40 00 00 00 00 41 56 11 3a 40 00 00 00 00 
41 56 5b a7 40 00 00 00 00 41 56 c2 97 80 00 00 00 00 41 57 18 d0 00 00 00 00 
00 41 57 6f 38 00 00 00 00 00 41 57 c1 05 80 00 00 00 00 41 58 0e f9 40 00 00 
00 00 41 58 61 d9 40 00 00 00 00 41 58 be 21 c0 00 00 00 00 41 59 1b a3 00 00 
00 00 00 41 59 7d b7 80 00 00 00 00 41 59 de c4 80 00 00 00 00 41 5a 38 6f c0 
00 00 00 00 41 5a 97 be 40 00 00 00 00 41 5b 06 5f 00 00 00 00 00 41 5b 7b 62 
80 00 00 00 00 41 5b e8 4c c0 00 00 00 00 41 5c 59 4c 40 00 00 00 00 41 5c c6 
99 00 00 00 00 00 41 5d 37 eb 00 00 00 00 00 41 5d a1 4a 00 00 00 00 00 41 5e 
05 00 00 00 00 00 00 41 5e 69 d8 00 00 00 00 00 41 5e d1 e9 80 00 00 00 00 41 
5f 35 61 80 00 00 00 00 41 5f 99 a3 80 00 00 00 00 41 5f f8 ea 40 00 00 00 00 
41 60 2a b8 c0 00 00 00 00 41 60 5c 12 40 00 00 00 00 41 60 90 a9 60 00 00 00 
00 41 60 c6 b7 c0 00 00 00 00 41 60 fe 01 00 00 00 00 00 41 61 31 40 00 00 00 
00 00 41 61 5e 86 00 00 00 00 00 41 61 8a fc a0 00 00 00 00 41 61 b9 43 00 00 
00 00 00 41 61 e7 16 80 00 00 00 00 41 62 17 b3 80 00 00 00 00 41 62 40 7d 40 
00 00 00 00 41 62 44 d4 60 00 00 00 00 41 62 72 5d 00 00 00 00 00 41 62 a4 b7 
00 00 00 00 00 41 62 e2 3d a0 00 00 00 00 41 63 1c b5 a0 00 00 00 00 41 63 59 
85 c0 00 00 00 00 41 63 91 80 00 00 00 00 00 41 63 c4 75 c0 00 00 00 00 41 63 
f6 d6 20 00 00 00 00 41 64 1a 9d 80 00 00 00 00 41 64 42 0c e0 00 00 00 00 41 
64 66 c9 a0 00 00 00 00 41 64 86 97 80 00 00 00 00 41 64 a7 b3 e0 00 00 00 00 
41 64 ca 51 a0 00 00 00 00 41 64 ed 31 60 00 00 00 00 41 65 18 18 60 00 00 00 
00 41 65 42 43 00 00 00 00 00 41 65 70 d6 00 00 00 00 00 41 65 a0 a8 00 00 00 
00 00 41 65 a5 0d 40 00 00 00 00 41 65 a6 30 a0 00 00 00 00 41 65 c8 96 40 00 
00 00 00 41 65 e5 8e 80 00 00 00 00 41 66 05 ed 20 00 00 00 00 41 66 24 bc 40 
00 00 00 00 41 66 3f a7 00 00 00 00 00 41 66 5d 8e c0 00 00 00 00 41 66 5f 95 
40 00 00 00 00 41 66 85 5a c0 00 00 00 00 41 66 ac 52 20 00 00 00 00 41 66 d3 
8b e0 00 00 00 00 41 66 fa e4 00 00 00 00 00 41 67 24 d0 c0 00 00 00 00 41 67 
4e d9 c0 00 00 00 00 41 67 7a 55 a0 00 00 00 00 41 67 a3 1d e0 00 00 00 00 41 
67 cb f9 40 00 00 00 00 41 67 f7 24 e0 00 00 00 00 41 68 23 ce a0 00 00 00 00 
41 68 3c fb 00 00 00 00 00 41 68 5d f1 00 00 00 00 00 41 68 7d 50 40 00 00 00 
00 41 68 9a 37 40 00 00 00 00 41 68 b6 4b a0 00 00 00 00 41 68 d6 08 c0 00 00 
00 00 41 68 f7 fd e0 00 00 00 00 41 69 1a 44 c0 00 00 00 00 41 69 3a 2a 80 00 
00 00 00 41 69 5c 07 20 00 00 00 00 41 69 7e ec 20 00 00 00 00 41 69 9e 44 20 
00 00 00 00 41 69 b8 f3 c0 00 00 00 00 41 69 d5 ec 40 00 00 00 00 41 69 f3 d9 
00 00 00 00 00 41 6a 10 74 e0 00 00 00 00 41 6a 2d 33 00 00 00 00 00 41 6a 4b 
9e a0 00 00 00 00 41 6a 72 eb 00 00 00 00 00 41 6a 9b fd 40 00 00 00 00 41 6a 
cd 8e e0 00 00 00 00 41 6b 01 aa 60 00 00 00 00 41 6b 33 d5 a0 00 00 00 00 41 
6b 64 ca a0 00 00 00 00 41 6b 8f 90 00 00 00 00 00 41 6b bf f1 00 00 00 00 00 
41 6b f0 4f 20 00 00 00 00 41 6c 1d 1f c0 00 00 00 00 41 6c 47 b7 00 00 00 00 
00 41 6c 72 ee e0 00 00 00 00 41 6c 9a dc 60 00 00 00 00 41 6c c0 04 a0 00 00 
00 00 41 6c e1 5a a0 00 00 00 00 41 6d 03 4f e0 00 00 00 00 41 6d 28 24 60 00 
00 00 00 41 6d 4c da e0 00 00 00 00 41 6d 71 93 80 00 00 00 00 41 6d 99 50 00 
00 00 00 00 41 6d c0 4f e0 00 00 00 00 41 6d e5 c9 40 00 00 00 00 41 6e 08 fe 
c0 00 00 00 00 41 6e 2d 90 c0 00 00 00 00 41 6e 48 6a 40 00 00 00 00 41 6e 7b 
65 40 00 00 00 00 41 6e ab 11 c0 00 00 00 00 41 6e e1 0e 00 00 00 00 00 41 6f 
18 8b 00 00 00 00 00 41 6f 4c 1d 60 00 00 00 00 41 6f 7c 8f 00 00 00 00 00 41 
6f ad 1e 20 00 00 00 00 41 6f dd 1e 60 00 00 00 00 41 70 06 b0 60 00 00 00 00 
41 70 1d 3c 70 00 00 00 00 41 70 33 e5 60 00 00 00 00 41 70 49 a9 00 00 00 00 
00 41 70 5d 8d f0 00 00 00 00 41 70 71 9c 80 00 00 00 00 41 70 84 c4 c0 00 00 
00 00 41 70 99 79 30 00 00 00 00 41 70 ac ec 30 00 00 00 00 41 70 c0 bd f0 00 
00 00 00 41 70 d5 bb 00 00 00 00 00 41 70 ea c4 a0 00 00 00 00 41 70 ff 77 10 
00 00 00 00 41 71 13 be 30 00 00 00 00 41 71 28 10 40 00 00 00 00 41 71 3c e0 
10 00 00 00 00 41 71 52 e4 b0 00 00 00 00 41 71 6a 7f 70 00 00 00 00 41 71 81 
b6 20 00 00 00 00 41 71 97 a1 d0 00 00 00 00 41 71 ae 53 b0 00 00 00 00 41 71 
c4 2a 50 00 00 00 00 41 71 d9 b0 30 00 00 00 00 41 71 ef 51 20 00 00 00 00 41 
72 05 34 90 00 00 00 00 41 72 1b 83 f0 00 00 00 00 41 72 30 d1 e0 00 00 00 00 
41 72 45 bc 00 00 00 00 00 41 72 5d 36 00 00 00 00 00 41 72 73 aa 30 00 00 00 
00 41 72 89 37 20 00 00 00 00 41 72 9d b9 50 00 00 00 00 41 72 b1 3c 50 00 00 
00 00 41 72 c6 08 40 00 00 00 00 41 72 da dc 60 00 00 00 00 41 72 ef 73 a0 00 
00 00 00 41 73 05 1b c0 00 00 00 00 41 73 1a bc 80 00 00 00 00 41 73 2f fb c0 
00 00 00 00 41 73 46 ff 30 00 00 00 00 41 73 5d 18 00 00 00 00 00 41 73 75 51 
60 00 00 00 00 41 73 8a df 80 00 00 00 00 41 73 a0 69 d0 00 00 00 00 41 73 b6 
e4 b0 00 00 00 00 41 73 ce 66 50 00 00 00 00 41 73 e5 91 b0 00 00 00 00 41 73 
fa 77 50 00 00 00 00 41 74 0f 1a f0 00 00 00 00 41 74 24 e8 10 00 00 00 00 41 
74 29 e9 a0 00 00 00 00 41 74 37 50 10 00 00 00 00 41 74 40 3f b0 00 00 00 00 
41 74 49 41 40 00 00 00 00 41 74 53 1b 60 00 00 00 00 41 74 5e 1c 30 00 00 00 
00 41 74 68 73 80 00 00 00 00 41 74 72 4d d0 00 00 00 00 41 74 7c 61 40 00 00 
00 00 41 74 87 63 20 00 00 00 00 41 74 92 10 e0 00 00 00 00 41 74 9b 9a d0 00 
00 00 00 41 74 a7 96 70 00 00 00 00 41 74 b0 93 20 00 00 00 00 41 74 be 44 70 
00 00 00 00 41 74 c5 96 e0 00 00 00 00 41 74 d2 f4 70 00 00 00 00 41 74 e3 19 
00 00 00 00 00 41 74 f3 c5 30 00 00 00 00 41 75 04 72 d0 00 00 00 00 41 75 15 
c5 00 00 00 00 00 41 75 28 b8 30 00 00 00 00 41 75 3b eb 10 00 00 00 00 41 75 
4f 45 40 00 00 00 00 41 75 63 1e b0 00 00 00 00 41 75 77 6e e0 00 00 00 00 41 
75 8b af 50 00 00 00 00 41 75 9e ed 40 00 00 00 00 41 75 b2 1d 80 00 00 00 00 
41 75 c5 66 90 00 00 00 00 41 75 d9 14 c0 00 00 00 00 41 75 ec aa 20 00 00 00 
00 41 75 ff 1d 90 00 00 00 00 41 76 10 ed 90 00 00 00 00 41 76 23 32 20 00 00 
00 00 41 76 38 3d 20 00 00 00 00 41 76 50 26 60 00 00 00 00 41 76 68 93 f0 00 
00 00 00 41 76 7b eb d0 00 00 00 00 41 76 83 d6 d0 00 00 00 00 41 76 8f 6a 90 
00 00 00 00 41 76 97 5c 00 00 00 00 00 41 76 9f 4a 40 00 00 00 00 41 76 a7 37 
00 00 00 00 00 41 76 af 9f f0 00 00 00 00 41 76 c2 85 f0 00 00 00 00 41 76 cb 
f1 70 00 00 00 00 41 76 d5 56 00 00 00 00 00 41 76 de b9 30 00 00 00 00 41 76 
e8 17 90 00 00 00 00 41 76 f4 57 c0 00 00 00 00 41 76 fb 87 20 00 00 00 00 41 
77 01 7f 10 00 00 00 00"));
+//    std::shared_ptr<cygnal::Buffer> hex5 = hex2mem("00 0a 6f 6e 4d 65 74 61 
44 61 74 61 08 00 00 00 0a 00 08 64 75 72 61 74 69 6f 6e 00 40 6e 47 74 bc 6a 
7e fa 00 0d 76 69 64 65 6f 64 61 74 61 72 61 74 65 00 40 67 28 32 e3 7f 02 e6 
00 15 6c 61 73 74 6b 65 79 66 72 61 6d 65 74 69 6d 65 73 74 61 6d 70 00 40 6e 
03 2b 02 0c 49 ba 00 14 6c 61 73 74 6b 65 79 66 72 61 6d 65 6c 6f 63 61 74 69 
6f 6e 00 41 55 41 92 80 00 00 00 00 07 63 72 65 61 74 6f 72 02 00 0d 59 6f 75 
54 75 62 65 2c 20 49 6e 63 2e 00 0f 6d 65 74 61 64 61 74 61 63 72 65 61 74 6f 
72 02 00 1a 59 6f 75 54 75 62 65 20 4d 65 74 61 64 61 74 61 20 49 6e 6a 65 63 
74 6f 72 2e 00 09 66 6c 76 73 6f 75 72 63 65 02 00 04 63 64 62 70 00 0c 68 61 
73 6b 65 79 66 72 61 6d 65 73 01 01 00 0b 68 61 73 6d 65 74 61 64 61 74 61 01 
01 00 09 6b 65 79 66 72 61 6d 65 73 03 00 05 74 69 6d 65 73 0a 00 00 00 7a 00 
00 00 00 00 00 00 00 00 00 40 00 16 87 2b 02 0c 4a 00 40 0c be 76 c8 b4 39 58 
00 40 14 92 6e 97 8d 4f df 00 40 1b 8f 5c 28 f5 c2 8f 00 40 20 49 37 4b c6 a7 
f0 00 40 23 d8 93 74 bc 6a 7f 00 40 27 57 0a 3d 70 a3 d7 00 40 2a a3 53 f7 ce 
d9 17 00 40 2d de 35 3f 7c ed 91 00 40 30 9d 70 a3 d7 0a 3d 00 40 32 b1 26 e9 
78 d4 fe 00 40 34 13 b6 45 a1 ca c1 00 40 36 05 a1 ca c0 83 12 00 40 37 ab 85 
1e b8 51 ec 00 40 39 05 a1 ca c0 83 12 00 40 3a cd 4f df 3b 64 5a 00 40 3c 5a 
1c ac 08 31 27 00 40 3e 21 ca c0 83 12 6f 00 40 3f c7 ae 14 7a e1 48 00 40 40 
9d 91 68 72 b0 21 00 40 41 8e 14 7a e1 47 ae 00 40 42 82 d0 e5 60 41 89 00 40 
43 62 6e 97 8d 4f df 00 40 44 4e b8 51 eb 85 1f 00 40 44 ef 1a 9f be 76 c9 00 
40 45 ec 49 ba 5e 35 3f 00 40 46 ed b2 2d 0e 56 04 00 40 47 a7 6c 8b 43 95 81 
00 40 48 8f 7c ed 91 68 73 00 40 49 80 00 00 00 00 00 00 40 4a 78 f5 c2 8f 5c 
29 00 40 4b 61 06 24 dd 2f 1b 00 40 4c 99 58 10 62 4d d3 00 40 4d 5f 9d b2 2d 
0e 56 00 40 4e 54 5a 1c ac 08 31 00 40 4f 44 dd 2f 1a 9f be 00 40 50 1e f9 db 
22 d0 e5 00 40 50 8a 8f 5c 28 f5 c3 00 40 50 f1 eb 85 1e b8 52 00 40 51 7d 2f 
1a 9f be 77 00 40 51 e0 51 eb 85 1e b8 00 40 52 84 ed 91 68 72 b0 00 40 53 01 
68 72 b0 20 c5 00 40 53 82 1c ac 08 31 27 00 40 53 fa 5e 35 3f 7c ee 00 40 54 
70 83 12 6e 97 8d 00 40 54 d3 b6 45 a1 ca c1 00 40 55 3d 2f 1a 9f be 77 00 40 
55 ce c8 b4 39 58 10 00 40 56 3e 97 8d 4f df 3b 00 40 56 bb 12 6e 97 8d 50 00 
40 57 2f 1a 9f be 76 c9 00 40 57 af ce d9 16 87 2b 00 40 58 28 10 62 4d d2 f2 
00 40 58 af 1a 9f be 76 c9 00 40 59 1a c0 83 12 6e 98 00 40 59 95 1e b8 51 eb 
85 00 40 5a 07 0a 3d 70 a3 d7 00 40 5a 96 87 2b 02 0c 4a 00 40 5b 21 ba 5e 35 
3f 7d 00 40 5b 93 b6 45 a1 ca c1 00 40 5b ff 4b c6 a7 ef 9e 00 40 5c 88 72 b0 
20 c4 9c 00 40 5c fa 5e 35 3f 7c ee 00 40 5d 76 d9 16 87 2b 02 00 40 5d e4 8b 
43 95 81 06 00 40 5e 6b 95 81 06 24 dd 00 40 5e f8 f5 c2 8f 5c 29 00 40 5f 8e 
c8 b4 39 58 10 00 40 60 0a e9 78 d4 fd f4 00 40 60 47 0a 3d 70 a3 d7 00 40 60 
89 81 06 24 dd 2f 00 40 60 c8 cc cc cc cc cd 00 40 61 00 b4 39 58 10 62 00 40 
61 49 81 06 24 dd 2f 00 40 61 91 37 4b c6 a7 f0 00 40 61 e3 85 1e b8 51 ec 00 
40 62 43 85 1e b8 51 ec 00 40 62 7d 89 37 4b c6 a8 00 40 62 c9 81 06 24 dd 2f 
00 40 63 12 45 a1 ca c0 83 00 40 63 5c 20 c4 9b a5 e3 00 40 63 9b 6c 8b 43 95 
81 00 40 63 db c6 a7 ef 9d b2 00 40 64 16 d9 16 87 2b 02 00 40 64 55 16 87 2b 
02 0c 00 40 64 8e 14 7a e1 47 ae 00 40 64 d7 e7 6c 8b 43 96 00 40 65 18 41 89 
37 4b c7 00 40 65 51 37 4b c6 a7 f0 00 40 65 9e 3d 70 a3 d7 0a 00 40 65 e2 d0 
e5 60 41 89 00 40 66 14 62 4d d2 f1 aa 00 40 66 60 5a 1c ac 08 31 00 40 66 a1 
c2 8f 5c 28 f6 00 40 66 d9 a9 fb e7 6c 8b 00 40 67 1e 3d 70 a3 d7 0a 00 40 67 
67 0a 3d 70 a3 d7 00 40 67 a9 81 06 24 dd 2f 00 40 67 f7 8d 4f df 3b 64 00 40 
68 43 85 1e b8 51 ec 00 40 68 89 26 e9 78 d4 fe 00 40 68 d9 4f df 3b 64 5a 00 
40 69 29 81 06 24 dd 2f 00 40 69 68 cc cc cc cc cd 00 40 69 aa 35 3f 7c ed 91 
00 40 69 fc 7a e1 47 ae 14 00 40 6a 31 37 4b c6 a7 f0 00 40 6a 7c 20 c4 9b a5 
e3 00 40 6a d0 83 12 6e 97 8d 00 40 6b 1e 97 8d 4f df 3b 00 40 6b 70 dd 2f 1a 
9f be 00 40 6b aa e9 78 d4 fd f4 00 40 6b f6 d9 16 87 2b 02 00 40 6c 40 b4 39 
58 10 62 00 40 6c 80 00 00 00 00 00 00 40 6c d2 45 a1 ca c0 83 00 40 6d 20 5a 
1c ac 08 31 00 40 6d 68 18 93 74 bc 6a 00 40 6d b6 24 dd 2f 1a a0 00 40 6e 03 
2b 02 0c 49 ba 00 0d 66 69 6c 65 70 6f 73 69 74 69 6f 6e 73 0a 00 00 00 7a 00 
40 a3 a0 00 00 00 00 00 00 40 e6 1a 40 00 00 00 00 00 40 f4 b9 40 00 00 00 00 
00 40 fe 2a 10 00 00 00 00 00 41 04 6d b8 00 00 00 00 00 41 09 13 30 00 00 00 
00 00 41 0e 65 48 00 00 00 00 00 41 11 ac 10 00 00 00 00 00 41 14 60 bc 00 00 
00 00 00 41 17 09 38 00 00 00 00 00 41 19 ce f4 00 00 00 00 00 41 1c 7a 90 00 
00 00 00 00 41 1e e9 4c 00 00 00 00 00 41 21 0d 16 00 00 00 00 00 41 22 84 dc 
00 00 00 00 00 41 23 bb be 00 00 00 00 00 41 25 2d b6 00 00 00 00 00 41 26 76 
5e 00 00 00 00 00 41 27 d8 50 00 00 00 00 00 41 29 44 e6 00 00 00 00 00 41 2a 
90 6e 00 00 00 00 00 41 2b e5 2c 00 00 00 00 00 41 2d 27 36 00 00 00 00 00 41 
2e 65 fe 00 00 00 00 00 41 2f c3 02 00 00 00 00 00 41 30 73 07 00 00 00 00 00 
41 31 26 69 00 00 00 00 00 41 31 d5 84 00 00 00 00 00 41 32 67 fc 00 00 00 00 
00 41 33 0f c8 00 00 00 00 00 41 33 c3 ec 00 00 00 00 00 41 34 75 9c 00 00 00 
00 00 41 35 29 c6 00 00 00 00 00 41 35 f8 37 00 00 00 00 00 41 36 99 17 00 00 
00 00 00 41 37 4d 7f 00 00 00 00 00 41 37 fb e3 00 00 00 00 00 41 38 a0 fc 00 
00 00 00 00 41 39 46 90 00 00 00 00 00 41 39 e7 17 00 00 00 00 00 41 3a 9c dc 
00 00 00 00 00 41 3b 40 c0 00 00 00 00 00 41 3c 0e ff 00 00 00 00 00 41 3c bb 
e0 00 00 00 00 00 41 3d 77 91 00 00 00 00 00 41 3e 26 48 00 00 00 00 00 41 3e 
d2 57 00 00 00 00 00 41 3f 79 f2 00 00 00 00 00 41 40 13 eb 80 00 00 00 00 41 
40 6e 58 00 00 00 00 00 41 40 c1 2d 80 00 00 00 00 41 41 17 c0 80 00 00 00 00 
41 41 6b 52 80 00 00 00 00 41 41 c5 2e 00 00 00 00 00 41 42 17 da 80 00 00 00 
00 41 42 76 36 00 00 00 00 00 41 42 c7 be 00 00 00 00 00 41 43 25 e5 80 00 00 
00 00 41 43 7a b1 00 00 00 00 00 41 43 d4 07 80 00 00 00 00 41 44 2c e0 00 00 
00 00 00 41 44 7d fe 00 00 00 00 00 41 44 d0 61 80 00 00 00 00 41 45 27 55 00 
00 00 00 00 41 45 7c c3 80 00 00 00 00 41 45 d4 0a 00 00 00 00 00 41 46 24 09 
80 00 00 00 00 41 46 7a 64 80 00 00 00 00 41 46 d8 6d 00 00 00 00 00 41 47 39 
0a 80 00 00 00 00 41 47 94 d5 00 00 00 00 00 41 47 e8 6d 00 00 00 00 00 41 48 
3f f1 80 00 00 00 00 41 48 a0 5e 80 00 00 00 00 41 48 f4 7d 00 00 00 00 00 41 
49 52 36 00 00 00 00 00 41 49 b4 80 00 00 00 00 00 41 4a 1b 96 80 00 00 00 00 
41 4a 86 8c 00 00 00 00 00 41 4a d6 96 00 00 00 00 00 41 4b 34 06 80 00 00 00 
00 41 4b 8d 4b 80 00 00 00 00 41 4b ee 20 00 00 00 00 00 41 4c 45 14 80 00 00 
00 00 41 4c 9e 5b 00 00 00 00 00 41 4c fc a7 00 00 00 00 00 41 4d 56 b1 80 00 
00 00 00 41 4d ac f2 00 00 00 00 00 41 4e 12 de 80 00 00 00 00 41 4e 6b 88 80 
00 00 00 00 41 4e bf 7b 00 00 00 00 00 41 4f 21 e4 00 00 00 00 00 41 4f 82 04 
80 00 00 00 00 41 4f d4 10 80 00 00 00 00 41 50 1a 94 80 00 00 00 00 41 50 48 
ce 40 00 00 00 00 41 50 70 de 80 00 00 00 00 41 50 9f 3a 40 00 00 00 00 41 50 
cf 1d 80 00 00 00 00 41 50 fc a0 80 00 00 00 00 41 51 2b a4 80 00 00 00 00 41 
51 58 7d 80 00 00 00 00 41 51 86 45 40 00 00 00 00 41 51 b6 0f 80 00 00 00 00 
41 51 e6 71 40 00 00 00 00 41 52 10 8d 00 00 00 00 00 41 52 3c e0 40 00 00 00 
00 41 52 6d 33 c0 00 00 00 00 41 52 96 68 40 00 00 00 00 41 52 c5 8a 40 00 00 
00 00 41 52 f6 6a c0 00 00 00 00 41 53 25 4e 40 00 00 00 00 41 53 58 7d 80 00 
00 00 00 41 53 85 b4 00 00 00 00 00 41 53 ba 0c 40 00 00 00 00 41 53 f4 6f c0 
00 00 00 00 41 54 2d 9d c0 00 00 00 00 41 54 70 96 80 00 00 00 00 41 54 a7 13 
80 00 00 00 00 41 54 d8 8f 00 00 00 00 00 41 55 0f ae 80 00 00 00 00 41 55 41 
92 80 00 00 00 00");
     Element *el5 = flv.decodeMetaData(hex5);
     if (el5 == 0) {
         notest = true;
diff --git a/cygnal/testsuite/libamf.all/test_sol.cpp 
b/cygnal/testsuite/libamf.all/test_sol.cpp
index 9b146c7..aa61524 100644
--- a/cygnal/testsuite/libamf.all/test_sol.cpp
+++ b/cygnal/testsuite/libamf.all/test_sol.cpp
@@ -142,12 +142,12 @@ test_read(std::string &filespec)
     GNASH_REPORT_FUNCTION;
     struct stat st;
 
-    boost::shared_ptr<Buffer> hex1(new Buffer("00 bf 00 00 01 28 54 43 53 4f 
00 04 00 00 00 00 00 08 73 65 74 74 69 6e 67 73 00 00 00 00 00 04 67 61 69 6e 
00 40 49 00 00 00 00 00 00 00 00 0f 65 63 68 6f 73 75 70 70 72 65 73 73 69 6f 
6e 01 00 00 00 11 64 65 66 61 75 6c 74 6d 69 63 72 6f 70 68 6f 6e 65 02 00 0e 
2f 64 65 76 2f 69 6e 70 75 74 2f 6d 69 63 00 00 0d 64 65 66 61 75 6c 74 63 61 
6d 65 72 61 02 00 00 00 00 0d 64 65 66 61 75 6c 74 6b 6c 69 6d 69 74 00 40 59 
00 00 00 00 00 00 00 00 0d 64 65 66 61 75 6c 74 61 6c 77 61 79 73 01 00 00 00 
10 63 72 6f 73 73 64 6f 6d 61 69 6e 41 6c 6c 6f 77 01 01 00 00 11 63 72 6f 73 
73 64 6f 6d 61 69 6e 41 6c 77 61 79 73 01 01 00 00 18 61 6c 6c 6f 77 54 68 69 
72 64 50 61 72 74 79 4c 53 4f 41 63 63 65 73 73 01 01 00 00 0c 74 72 75 73 74 
65 64 50 61 74 68 73 03 00 00 09 00 00 0c 6c 6f 63 61 6c 53 65 63 50 61 74 68 
02 00 00 00 00 10 6c 6f 63 61 6c 53 65 63 50 61 74 68 54 69 6d 65 00 42 71 6d 
14 10 22 e0 00 00"));
+    std::shared_ptr<Buffer> hex1(new Buffer("00 bf 00 00 01 28 54 43 53 4f 00 
04 00 00 00 00 00 08 73 65 74 74 69 6e 67 73 00 00 00 00 00 04 67 61 69 6e 00 
40 49 00 00 00 00 00 00 00 00 0f 65 63 68 6f 73 75 70 70 72 65 73 73 69 6f 6e 
01 00 00 00 11 64 65 66 61 75 6c 74 6d 69 63 72 6f 70 68 6f 6e 65 02 00 0e 2f 
64 65 76 2f 69 6e 70 75 74 2f 6d 69 63 00 00 0d 64 65 66 61 75 6c 74 63 61 6d 
65 72 61 02 00 00 00 00 0d 64 65 66 61 75 6c 74 6b 6c 69 6d 69 74 00 40 59 00 
00 00 00 00 00 00 00 0d 64 65 66 61 75 6c 74 61 6c 77 61 79 73 01 00 00 00 10 
63 72 6f 73 73 64 6f 6d 61 69 6e 41 6c 6c 6f 77 01 01 00 00 11 63 72 6f 73 73 
64 6f 6d 61 69 6e 41 6c 77 61 79 73 01 01 00 00 18 61 6c 6c 6f 77 54 68 69 72 
64 50 61 72 74 79 4c 53 4f 41 63 63 65 73 73 01 01 00 00 0c 74 72 75 73 74 65 
64 50 61 74 68 73 03 00 00 09 00 00 0c 6c 6f 63 61 6c 53 65 63 50 61 74 68 02 
00 00 00 00 10 6c 6f 63 61 6c 53 65 63 50 61 74 68 54 69 6d 65 00 42 71 6d 14 
10 22 e0 00 00"));
 
     if (stat(filespec.c_str(), &st) == 0) {
         SOL sol;
         sol.readFile(filespec);
-        vector<boost::shared_ptr<cygnal::Element> > els = sol.getElements();
+        vector<std::shared_ptr<cygnal::Element> > els = sol.getElements();
 
         if (els.size() > 1) {
             string str = els[2]->to_string();
diff --git a/cygnal/testsuite/libnet.all/generate_amfbins.cpp 
b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
index 6c07818..d7dca57 100644
--- a/cygnal/testsuite/libnet.all/generate_amfbins.cpp
+++ b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
@@ -114,21 +114,21 @@ main(int argc, char *argv[])
     }
 
 #if 0
-    std::vector<boost::shared_ptr<amf::Element> > data1;
+    std::vector<std::shared_ptr<amf::Element> > data1;
 
     const char *str1 = "property one";
-    boost::shared_ptr<amf::Element> prop1(new Element(str1));
+    std::shared_ptr<amf::Element> prop1(new Element(str1));
     data1.push_back(prop1);
 
     string str2 = "property two";
-    boost::shared_ptr<amf::Element> prop2(new Element(str2));
+    std::shared_ptr<amf::Element> prop2(new Element(str2));
     data1.push_back(prop2);
 
-    boost::shared_ptr<amf::Element> prop3(new Element("property three"));
+    std::shared_ptr<amf::Element> prop3(new Element("property three"));
     data1.push_back(prop3);
 
     double num = 123.456;
-    boost::shared_ptr<amf::Element> prop4(new Element(num));
+    std::shared_ptr<amf::Element> prop4(new Element(num));
     data1.push_back(prop4);
     
     Element top;
@@ -178,46 +178,46 @@ main(int argc, char *argv[])
     string str = "Guten Tag";
 
     Element elnum1(dub);
-    boost::shared_ptr<Buffer> bnum1 = cygnal::AMF::encodeElement(elnum1);
+    std::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 = cygnal::AMF::encodeElement(elbool1);
+    std::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 = cygnal::AMF::encodeElement(elstr1);
+    std::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 = cygnal::AMF::encodeElement(el3);
+    std::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 = cygnal::AMF::encodeElement(el4);
+    std::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 = cygnal::AMF::encodeElement(el6);
+    std::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 = cygnal::AMF::encodeElement(el15);
+    std::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);
 
diff --git a/cygnal/testsuite/libnet.all/test_cache.cpp 
b/cygnal/testsuite/libnet.all/test_cache.cpp
index da67fbf..c83dc74 100644
--- a/cygnal/testsuite/libnet.all/test_cache.cpp
+++ b/cygnal/testsuite/libnet.all/test_cache.cpp
@@ -154,19 +154,19 @@ test (void)
         runtest.fail("addResponse()/findResponse()");
     }
 
-    boost::shared_ptr<DiskStream> file1(new DiskStream);
+    std::shared_ptr<DiskStream> file1(new DiskStream);
     create_file("outbuf1.raw", 100);
     file1->open("outbuf1.raw");
 
-    boost::shared_ptr<DiskStream> file2(new DiskStream);
+    std::shared_ptr<DiskStream> file2(new DiskStream);
     create_file("outbuf2.raw", 200);
     file1->open("outbuf2.raw");
 
-    boost::shared_ptr<DiskStream> file3(new DiskStream);
+    std::shared_ptr<DiskStream> file3(new DiskStream);
     create_file("outbuf3.raw", 300);
     file1->open("outbuf3.raw");
 
-    boost::shared_ptr<DiskStream> file4(new DiskStream);
+    std::shared_ptr<DiskStream> file4(new DiskStream);
     create_file("outbuf4.raw", 400);
     file1->open("outbuf4.raw");
 
@@ -175,8 +175,8 @@ test (void)
     cache.addFile("barfoo", file3);
     cache.addFile("foobar", file4);
 
-    boost::shared_ptr<DiskStream> ds1 = cache.findFile("foo");
-    boost::shared_ptr<DiskStream> ds2 = cache.findFile("bar");
+    std::shared_ptr<DiskStream> ds1 = cache.findFile("foo");
+    std::shared_ptr<DiskStream> ds2 = cache.findFile("bar");
     if (ds1 && ds2) {
         if ((ds1->getFileSize() == file1->getFileSize())
             && (ds2->getFileSize() == file2->getFileSize())) {
@@ -239,19 +239,19 @@ test_remove(void)
         runtest.fail("Cache::removeResponse()");
     }
 
-    boost::shared_ptr<DiskStream> file1(new DiskStream);
+    std::shared_ptr<DiskStream> file1(new DiskStream);
     create_file("outbuf1.raw", 100);
     file1->open("outbuf1.raw");
 
-    boost::shared_ptr<DiskStream> file2(new DiskStream);
+    std::shared_ptr<DiskStream> file2(new DiskStream);
     create_file("outbuf2.raw", 200);
     file2->open("outbuf2.raw");
 
-    boost::shared_ptr<DiskStream> file3(new DiskStream);
+    std::shared_ptr<DiskStream> file3(new DiskStream);
     create_file("outbuf3.raw", 300);
     file3->open("outbuf3.raw");
 
-    boost::shared_ptr<DiskStream> file4(new DiskStream);
+    std::shared_ptr<DiskStream> file4(new DiskStream);
     create_file("outbuf4.raw", 400);
     file4->open("outbuf4.raw");
 
@@ -261,8 +261,8 @@ test_remove(void)
     cache.addFile("foobar", file4);
     cache.removeFile("barfoo");
 
-    boost::shared_ptr<DiskStream> ds1 = cache.findFile("foo");
-    boost::shared_ptr<DiskStream> ds2 = cache.findFile("bar");
+    std::shared_ptr<DiskStream> ds1 = cache.findFile("foo");
+    std::shared_ptr<DiskStream> ds2 = cache.findFile("bar");
     if (ds1 && ds2) {
         if ((cache.findFile("foo")->getFileSize() == file1->getFileSize())
             && (cache.findFile("barfoo") == 0)
@@ -307,7 +307,7 @@ test_errors (void)
         runtest.fail("Cache::findResponse()");
     }
 
-    boost::shared_ptr<DiskStream> file1(new DiskStream);
+    std::shared_ptr<DiskStream> file1(new DiskStream);
 //    create_file("outbuf1.raw", 100);   it's created aleady in test().
     file1->open("outbuf1.raw");
 
diff --git a/cygnal/testsuite/libnet.all/test_cque.cpp 
b/cygnal/testsuite/libnet.all/test_cque.cpp
index 1272c96..ec94596 100644
--- a/cygnal/testsuite/libnet.all/test_cque.cpp
+++ b/cygnal/testsuite/libnet.all/test_cque.cpp
@@ -65,7 +65,7 @@ main (int /*argc*/, char** /*argv*/) {
 
     CQue que;
 
-    boost::shared_ptr<cygnal::Buffer> buf(new Buffer(50));
+    std::shared_ptr<cygnal::Buffer> buf(new Buffer(50));
     // populate the buffer
     boost::uint8_t *ptr = buf->reference();
     for (Network::byte_t i=1; i< buf->size(); i++) {
@@ -80,19 +80,19 @@ main (int /*argc*/, char** /*argv*/) {
     // which is the one where data flows from the network to the queue.
     que.push(buf);
     if (que.size() == 1) {
-        runtest.pass ("CQue::push(boost::shared_ptr<cygnal::Buffer> )");
+        runtest.pass ("CQue::push(std::shared_ptr<cygnal::Buffer> )");
     } else {
-        runtest.fail ("CQue::push(boost::shared_ptr<cygnal::Buffer> )");
+        runtest.fail ("CQue::push(std::shared_ptr<cygnal::Buffer> )");
     }
     
     // Test push. When dumpimg, the second address should be different than 
the first,
     // as well as the size. The outgoing queue should be uneffected.
-    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer(112));
+    std::shared_ptr<cygnal::Buffer> buf1(new Buffer(112));
     que.push(buf1);
     if (que.size() == 2) {
-        runtest.pass ("CQue::pushin(boost::shared_ptr<cygnal::Buffer> )");
+        runtest.pass ("CQue::pushin(std::shared_ptr<cygnal::Buffer> )");
     } else {
-        runtest.fail ("CQue::pushin(boost::shared_ptr<cygnal::Buffer> )");
+        runtest.fail ("CQue::pushin(std::shared_ptr<cygnal::Buffer> )");
     }
 
     // Nuke the array
@@ -105,14 +105,14 @@ main (int /*argc*/, char** /*argv*/) {
 
     
     que.push(buf);
-    boost::shared_ptr<cygnal::Buffer> buf2 = que.peek();
+    std::shared_ptr<cygnal::Buffer> buf2 = que.peek();
     if ((buf2 == buf) && (que.size() == 1)) {
         runtest.pass ("CQue::peek()");
     } else {
         runtest.fail ("CQue::peek()");
     }
 
-    boost::shared_ptr<cygnal::Buffer> buf3 = que.peek();
+    std::shared_ptr<cygnal::Buffer> buf3 = que.peek();
      if ((buf3 == buf) && (que.size() == 1)) {
          runtest.pass ("CQue::pop()");
      } else {
@@ -130,9 +130,9 @@ main (int /*argc*/, char** /*argv*/) {
      }
 
      // Make some test buffers
-     boost::shared_ptr<cygnal::Buffer> merge1(new Buffer);
-     boost::shared_ptr<cygnal::Buffer> merge2(new Buffer);
-     boost::shared_ptr<cygnal::Buffer> merge3(new Buffer);
+     std::shared_ptr<cygnal::Buffer> merge1(new Buffer);
+     std::shared_ptr<cygnal::Buffer> merge2(new Buffer);
+     std::shared_ptr<cygnal::Buffer> merge3(new Buffer);
      size_t i;
      ptr = merge1->reference();
      for (i=0; i<cygnal::NETBUFSIZE; i++) {
@@ -155,7 +155,7 @@ main (int /*argc*/, char** /*argv*/) {
 
 //     que.dump();
      // A merge gives us one big buffer where there were several buffers
-     boost::shared_ptr<cygnal::Buffer> foo = que.merge(merge1);
+     std::shared_ptr<cygnal::Buffer> foo = que.merge(merge1);
      if (foo == 0) {
          runtest.unresolved("CQue::merge()");
      } else {
diff --git a/cygnal/testsuite/libnet.all/test_diskstream.cpp 
b/cygnal/testsuite/libnet.all/test_diskstream.cpp
index 9f7ae89..558e69d 100644
--- a/cygnal/testsuite/libnet.all/test_diskstream.cpp
+++ b/cygnal/testsuite/libnet.all/test_diskstream.cpp
@@ -203,7 +203,7 @@ test()
 void
 test_mem()
 {
-    boost::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer(12));
+    std::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_handler.cpp 
b/cygnal/testsuite/libnet.all/test_handler.cpp
index 7a1f524..98212ad 100644
--- a/cygnal/testsuite/libnet.all/test_handler.cpp
+++ b/cygnal/testsuite/libnet.all/test_handler.cpp
@@ -192,7 +192,7 @@ test_que()
 {
     Handler que;
 
-    boost::shared_ptr<amf::Buffer> buf(new Buffer);
+    std::shared_ptr<amf::Buffer> buf(new Buffer);
 //     boost::uint8_t *test = new uint8_t[6];
 //     memcpy(test, "hell", 4);
 
@@ -200,9 +200,9 @@ test_que()
     // which is the one where data flows from the network to the queue.
     que.push(buf);
     if ((que.size() == 1) && (que.outsize() == 0)) {
-        runtest.pass ("Handler::push(boost::shared_ptr<amf::Buffer> )");
+        runtest.pass ("Handler::push(std::shared_ptr<amf::Buffer> )");
     } else {
-        runtest.fail ("Handler::push(boost::shared_ptr<amf::Buffer> )");
+        runtest.fail ("Handler::push(std::shared_ptr<amf::Buffer> )");
     }
     
     // Push one buffer on the outgoing fifo. The default is the incoming fifo,
@@ -210,20 +210,20 @@ test_que()
     // we can explicitly specufy which queue we write to, we test that here.
     que.pushout(buf);
     if ((que.size() == 1) && (que.outsize() == 1)) {
-        runtest.pass ("Handler::pushout(boost::shared_ptr<amf::Buffer> )");
+        runtest.pass ("Handler::pushout(std::shared_ptr<amf::Buffer> )");
     } else {
-        runtest.fail ("Handler::pushout(boost::shared_ptr<amf::Buffer> )");
+        runtest.fail ("Handler::pushout(std::shared_ptr<amf::Buffer> )");
     }
 
     // Test pushin. When dumpimg, the second address should be different than 
the first,
     // as well as the size. The outgoing queue should be uneffected.
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer);
+    std::shared_ptr<amf::Buffer> buf1(new Buffer);
     buf1->resize(112);
     que.pushin(buf1);
     if ((que.size() == 2) && (que.outsize() == 1)) {
-        runtest.pass ("Handler::pushin(boost::shared_ptr<amf::Buffer> )");
+        runtest.pass ("Handler::pushin(std::shared_ptr<amf::Buffer> )");
     } else {
-        runtest.fail ("Handler::pushin(boost::shared_ptr<amf::Buffer> )");
+        runtest.fail ("Handler::pushin(std::shared_ptr<amf::Buffer> )");
     }
 
     // Nuke the array
@@ -241,14 +241,14 @@ test_que()
     }
 
     que.push(buf);
-    boost::shared_ptr<amf::Buffer> buf2 = que.peek();
+    std::shared_ptr<amf::Buffer> buf2 = que.peek();
     if ((buf2 == buf) && (que.size() == 1)) {
         runtest.pass ("Handler::peek()");
     } else {
         runtest.fail ("Handler::peek()");
     }
 
-    boost::shared_ptr<amf::Buffer> buf3 = que.peek();
+    std::shared_ptr<amf::Buffer> buf3 = que.peek();
      if ((buf3 == buf) && (que.size() == 1)) {
          runtest.pass ("Handler::pop()");
      } else {
diff --git a/cygnal/testsuite/libnet.all/test_http.cpp 
b/cygnal/testsuite/libnet.all/test_http.cpp
index 1735269..84c1d36 100644
--- a/cygnal/testsuite/libnet.all/test_http.cpp
+++ b/cygnal/testsuite/libnet.all/test_http.cpp
@@ -583,8 +583,8 @@ test_post()
 
     HTTP http;
 
-    boost::shared_ptr<cygnal::Buffer> encstr = AMF::encodeString("Hello 
World!");
-    boost::shared_ptr<cygnal::Buffer> encnum = AMF::encodeNumber(1.2345);
+    std::shared_ptr<cygnal::Buffer> encstr = AMF::encodeString("Hello World!");
+    std::shared_ptr<cygnal::Buffer> encnum = AMF::encodeNumber(1.2345);
 
     cygnal::Buffer ptr1;
     ptr1 = "POST /echo/gateway HTTP/1.1\r\n";
@@ -605,7 +605,7 @@ test_post()
     // Check the Server field
     AMF amf;
     boost::uint8_t *data1 = http.processHeaderFields(&ptr1);
-    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(data1, data1 + 15);
+    std::shared_ptr<cygnal::Element> el1 = amf.extractAMF(data1, data1 + 15);
     string str1 = el1->to_string();
 
     if ((http.getField("host") == "localhost:4080")
@@ -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<cygnal::Element> el2 = amf.extractAMF(data2, data2 + 15);
+    std::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")) {
@@ -643,7 +643,7 @@ test_post()
         runtest.fail("HTTP::processHeaderFields(POST) + NUMBER");
     }
 
-    boost::shared_ptr<std::vector<std::string> > item2 = 
http.getFieldItem("accept");
+    std::shared_ptr<std::vector<std::string> > item2 = 
http.getFieldItem("accept");
     if (!item2) {
         runtest.unresolved("HTTP::getFieldItem(Accept)");
     } else {
@@ -654,7 +654,7 @@ test_post()
         }
     }
 
-    boost::shared_ptr<std::vector<std::string> > item3 = 
http.getFieldItem("connection");
+    std::shared_ptr<std::vector<std::string> > item3 = 
http.getFieldItem("connection");
     if (!item3) {
         runtest.unresolved("HTTP::getFieldItem(POST)");
     } else {
@@ -667,10 +667,10 @@ test_post()
 
 #if 0
     // Make sure we can parse the Red5 echo_test client messages.
-    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"));
+    std::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"));
+    std::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<cygnal::Element> > headers = 
http.parseEchoRequest(*hex1);
+    vector<std::shared_ptr<cygnal::Element> > headers = 
http.parseEchoRequest(*hex1);
 
     if ((strncmp(headers[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers[1]->getName(), "/2", 2) == 0)
@@ -705,8 +705,8 @@ test_rtmpt (void)
     HTTP http;
 
     // 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<cygnal::Element> > headers1 = 
http.parseEchoRequest(*hex_req1);
+    std::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<std::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)
@@ -718,7 +718,7 @@ test_rtmpt (void)
 //    hex_req1->corrupt();
     
     // 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"));
+    std::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"));
     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());
@@ -731,8 +731,8 @@ 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<cygnal::Element> > headers2 = 
http.parseEchoRequest(*hex_req2);
+    std::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<std::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)
@@ -742,7 +742,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Boolean FALSE)");
     }
     // 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"));
+    std::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"));
     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());
@@ -754,8 +754,8 @@ 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<cygnal::Element> > headers3 = 
http.parseEchoRequest(*hex_req3);
+    std::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<std::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)) {
@@ -764,7 +764,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(NULL Object)");
     }
     // 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"));
+    std::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"));
     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());
@@ -776,8 +776,8 @@ 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<cygnal::Element> > headers4 = 
http.parseEchoRequest(*hex_req4);
+    std::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<std::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)) {
@@ -786,7 +786,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(UNDEFINED Object)");
     }
     // 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"));
+    std::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"));
     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());
@@ -798,8 +798,8 @@ 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<cygnal::Element> > headers5 = 
http.parseEchoRequest(*hex_req5);
+    std::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<std::shared_ptr<cygnal::Element> > headers5 = 
http.parseEchoRequest(*hex_req5);
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Object)");
     } else {
@@ -816,7 +816,7 @@ test_rtmpt (void)
         }
     }
     // Date Object response
-    boost::shared_ptr<Buffer> hex_res5(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 0b 42 71 e4 ca 4e 
32 d0 00 fe 5c"));
+    std::shared_ptr<Buffer> hex_res5(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 0b 42 71 e4 ca 4e 32 
d0 00 fe 5c"));
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::formatEchoResponse(DATE Object)");
     } else {
@@ -832,8 +832,8 @@ 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<cygnal::Element> > headers6 = 
http.parseEchoRequest(*hex_req6);
+    std::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<std::shared_ptr<cygnal::Element> > headers6 = 
http.parseEchoRequest(*hex_req6);
     if (headers6[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Array)");
     } else {
@@ -846,11 +846,11 @@ test_rtmpt (void)
         }
     }
     // Date Array response
-    boost::shared_ptr<Buffer> hex_res6(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 0b 
42 71 e4 ca 4e 32 d0 00 fe 5c 0b 42 71 e4 ca 4e 32 d0 00 fe 5c"));
+    std::shared_ptr<Buffer> hex_res6(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 0b 42 
71 e4 ca 4e 32 d0 00 fe 5c 0b 42 71 e4 ca 4e 32 d0 00 fe 5c"));
     
     // 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<cygnal::Element> > headers7 = 
http.parseEchoRequest(*hex_req7);
+    std::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<std::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)) {
@@ -859,7 +859,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Undefined Strict Array)");
     }
     // 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"));
+    std::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"));
     cygnal::Buffer &buf7 = http.formatEchoResponse(headers7[1]->getName(), 
*headers7[3]);
 
     //    cerr << hexify(hex_res7->reference(), hex_res7->allocated(), false) 
<< endl;
@@ -875,13 +875,13 @@ 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<cygnal::Element> > headers8 = 
http.parseEchoRequest(*hex_req8);
+    std::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<std::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<cygnal::Element> > props8 = 
headers8[3]->getProperties();
+            std::vector<std::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)
@@ -897,7 +897,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"));
+    std::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"));
     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;
@@ -912,8 +912,8 @@ 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<cygnal::Element> > headers9 = 
http.parseEchoRequest(*hex_req9);
+    std::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<std::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)) {
@@ -923,7 +923,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Simple Strict Array of Numbers, 2 
items)");
     }
     // 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"));
+    std::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"));
     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());
@@ -936,8 +936,8 @@ 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<cygnal::Element> > headers10 = 
http.parseEchoRequest(*hex_req10);
+    std::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<std::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)) {
@@ -947,7 +947,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Simple Strict Array of Numbers, 3 
items)");
     }
     // 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"));
+    std::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"));
     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());
@@ -959,8 +959,8 @@ 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<cygnal::Element> > headers11 = 
http.parseEchoRequest(*hex_req11);
+    std::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<std::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)
@@ -970,7 +970,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 0)");
     }
     // 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"));
+    std::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"));
     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());
@@ -982,8 +982,8 @@ 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<cygnal::Element> > headers12 = 
http.parseEchoRequest(*hex_req12);
+    std::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<std::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)
@@ -993,7 +993,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 1)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1005,8 +1005,8 @@ 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<cygnal::Element> > headers13 = 
http.parseEchoRequest(*hex_req13);
+    std::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<std::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)
@@ -1016,7 +1016,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number -1)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1028,8 +1028,8 @@ 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<cygnal::Element> > headers14 = 
http.parseEchoRequest(*hex_req14);
+    std::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<std::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)
@@ -1039,7 +1039,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 256)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1051,8 +1051,8 @@ 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<cygnal::Element> > headers15 = 
http.parseEchoRequest(*hex_req15);
+    std::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<std::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)
@@ -1062,7 +1062,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number -256)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1074,8 +1074,8 @@ 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<cygnal::Element> > headers16 = 
http.parseEchoRequest(*hex_req16);
+    std::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<std::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)
@@ -1085,7 +1085,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 65536)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1097,8 +1097,8 @@ 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<cygnal::Element> > headers16x = 
http.parseEchoRequest(*hex_req16x);
+    std::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<std::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)
@@ -1108,7 +1108,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number -65536)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1120,8 +1120,8 @@ 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<cygnal::Element> > headers18 = 
http.parseEchoRequest(*hex_req18);
+    std::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<std::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)
@@ -1131,7 +1131,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 0)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1143,8 +1143,8 @@ 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<cygnal::Element> > headers19 = 
http.parseEchoRequest(*hex_req19);
+    std::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<std::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)
@@ -1154,7 +1154,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number 1.5)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1166,8 +1166,8 @@ 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<cygnal::Element> > headers20 = 
http.parseEchoRequest(*hex_req20);
+    std::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<std::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)
@@ -1177,7 +1177,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number -1.5)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1189,8 +1189,8 @@ 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<cygnal::Element> > headers21 = 
http.parseEchoRequest(*hex_req21);
+    std::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<std::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)
@@ -1200,7 +1200,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number Nan)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1212,11 +1212,11 @@ test_rtmpt (void)
     }
 
     // Number -Infinity Request
-    boost::shared_ptr<Buffer> hex_req22(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 32 00 00 00 0e 0a 00 00 00 01 00 ff f0 00 00 00 00 00 
00"));
+    std::shared_ptr<Buffer> hex_req22(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 32 00 00 00 0e 0a 00 00 00 01 00 ff f0 00 00 00 00 00 
00"));
 
     // 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<cygnal::Element> > headers22x = 
http.parseEchoRequest(*hex_req22x);
+    std::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<std::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)
@@ -1226,7 +1226,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Number Infinity)");
     }
     // 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"));
+    std::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
     cygnal::Buffer &buf23 = http.formatEchoResponse(headers22x[1]->getName(), 
*headers22x[3]);
     string head23(reinterpret_cast<const char *>(buf23.reference()));
@@ -1240,21 +1240,21 @@ test_rtmpt (void)
 #endif
     
     // Number 1.79769313486231e+308 Request
-    boost::shared_ptr<Buffer> hex_req24(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 35 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 
01"));
+    std::shared_ptr<Buffer> hex_req24(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 35 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 
01"));
     // Number 1.79769313486231e+308 Response
-    boost::shared_ptr<Buffer> hex_res24(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 7f ef ff ff 
ff ff ff ff"));
+    std::shared_ptr<Buffer> hex_res24(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 7f ef ff ff 
ff ff ff ff"));
 
     // Number 4.940656484124654e-324 Request
-    boost::shared_ptr<Buffer> hex_req25(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 36 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 
00"));
+    std::shared_ptr<Buffer> hex_req25(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 36 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 
00"));
     // Number 4.940656484124654e-324 Response
-    boost::shared_ptr<Buffer> hex_res25(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 35 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 01"));
+    std::shared_ptr<Buffer> hex_res25(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 35 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 01"));
 
     // 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<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();
+    std::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<std::shared_ptr<cygnal::Element> > headers26 = 
http.parseEchoRequest(*hex_req26);
+    std::vector<std::shared_ptr<cygnal::Element> > props26 = 
headers26[3]->getProperties();
+    std::vector<std::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)
@@ -1269,7 +1269,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Strict Array of Numbers, 3 
items)");
     }
     // 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"));
+    std::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"));
     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;
@@ -1284,9 +1284,9 @@ 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<cygnal::Element> > headers27 = 
http.parseEchoRequest(*hex_req27);
-    std::vector<boost::shared_ptr<cygnal::Element> > props27 = 
headers27[3]->getProperties();
+    std::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<std::shared_ptr<cygnal::Element> > headers27 = 
http.parseEchoRequest(*hex_req27);
+    std::vector<std::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)
@@ -1301,7 +1301,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Strict Array - Number, undefines, 
Number)");
     }
     // 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"));
+    std::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
     cygnal::Buffer &buf27 = http.formatEchoResponse(headers27[1]->getName(), 
*headers27[3]);
     string head27(reinterpret_cast<const char *>(buf27.reference()));
@@ -1318,9 +1318,9 @@ 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<cygnal::Element> > headers28 = 
http.parseEchoRequest(*hex_req28);
-    std::vector<boost::shared_ptr<cygnal::Element> > props28 = 
headers28[3]->getProperties();
+    std::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<std::shared_ptr<cygnal::Element> > headers28 = 
http.parseEchoRequest(*hex_req28);
+    std::vector<std::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)
@@ -1337,7 +1337,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"));
+    std::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"));
     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;
@@ -1352,8 +1352,8 @@ test_rtmpt (void)
 #endif
 
     // 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<cygnal::Element> > headers29 = 
http.parseEchoRequest(*hex_req29);
+    std::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<std::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)
@@ -1363,7 +1363,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(NULL String)");
     }
     // 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"));
+    std::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 ?
     cygnal::Buffer &buf29 = http.formatEchoResponse(headers29[1]->getName(), 
*headers29[3]);
     string head29(reinterpret_cast<const char *>(buf29.reference()));
@@ -1378,8 +1378,8 @@ 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<cygnal::Element> > headers30 = 
http.parseEchoRequest(*hex_req30);
+    std::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<std::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)
@@ -1389,7 +1389,7 @@ test_rtmpt (void)
         runtest.fail("HTTP::parseEchoRequest(Simple String)");
     }
     // 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"));
+    std::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"));
     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());
@@ -1402,13 +1402,13 @@ 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<cygnal::Element> > headers31 = 
http.parseEchoRequest(*hex_req31);
+    std::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<std::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<cygnal::Element> > props31 = 
headers31[3]->getProperties();
+        std::vector<std::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)
@@ -1424,7 +1424,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"));
+    std::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"));
     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());
@@ -1437,12 +1437,12 @@ 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<cygnal::Element> > headers40 = 
http.parseEchoRequest(*hex_req40);
+    std::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<std::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<cygnal::Element> > props40 = 
headers40[3]->getProperties();
+        std::vector<std::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)
@@ -1455,7 +1455,7 @@ test_rtmpt (void)
             runtest.fail("HTTP::parseEchoRequest(object CustomClass)");
         }
     }
-    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"));
+    std::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"));
     cygnal::Buffer &buf40 = http.formatEchoResponse(headers40[1]->getName(), 
*headers40[3]);
 
     string head40(reinterpret_cast<const char *>(buf40.reference()));
@@ -1468,8 +1468,8 @@ 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<cygnal::Element> > headers41 = 
http.parseEchoRequest(*hex_req41);
+    std::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<std::shared_ptr<cygnal::Element> > headers41 = 
http.parseEchoRequest(*hex_req41);
     if (headers41[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object CustomClass Array)");
     } else {
@@ -1480,7 +1480,7 @@ test_rtmpt (void)
             runtest.fail("HTTP::parseEchoRequest(object CustomClass Array)");
         }
     }
-    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"));
+    std::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"));
     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());
@@ -1493,8 +1493,8 @@ 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<cygnal::Element> > headers42 = 
http.parseEchoRequest(*hex_req42);
+    std::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<std::shared_ptr<cygnal::Element> > headers42 = 
http.parseEchoRequest(*hex_req42);
     if (headers42[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Remote Class)");
     } else {    
@@ -1508,7 +1508,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"));
+    std::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"));
     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());
@@ -1522,14 +1522,14 @@ test_rtmpt (void)
     // An array of RemoteClass objects
     // 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<cygnal::Element> > headers43 = 
http.parseEchoRequest(*hex_req43);
+    std::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<std::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<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();
+       std::vector<std::shared_ptr<cygnal::Element> > props43 = 
headers43[3]->getProperties();
+       std::vector<std::shared_ptr<cygnal::Element> > props43a = 
props43[0]->getProperties();
+       std::vector<std::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)
@@ -1551,10 +1551,10 @@ test_rtmpt (void)
             runtest.fail("HTTP::parseEchoRequest(object RemoteClass Array, 2 
items)");
         }
     }
-    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"));
+    std::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"));
     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();
+    std::vector<std::shared_ptr<cygnal::Element> > props43 = 
headers43[3]->getProperties();
+    //    std::vector<std::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;
@@ -1570,8 +1570,8 @@ test_rtmpt (void)
 #endif
     
     // [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<cygnal::Element> > headers44 = 
http.parseEchoRequest(*hex_req44);
+    std::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<std::shared_ptr<cygnal::Element> > headers44 = 
http.parseEchoRequest(*hex_req44);
     if (headers44[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array)");
     } else {
@@ -1583,7 +1583,7 @@ test_rtmpt (void)
             runtest.fail("HTTP::parseEchoRequest(object RemoteClass Array, 2 
items)");
         }
     }
-    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"));
+    std::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"));
     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());
@@ -1596,12 +1596,12 @@ 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<cygnal::Element> > headers45 = 
http.parseEchoRequest(*hex_req45);
+    std::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<std::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<cygnal::Element> > props45 = 
headers45[3]->getProperties();
+       std::vector<std::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)
@@ -1622,7 +1622,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"));
+    std::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"));
     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());
@@ -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<cygnal::Element> > corrupt1 = 
http.parseEchoRequest(*hex_req1);    
+    vector<std::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<cygnal::Element> > corrupt2 = 
http.parseEchoRequest(*hex_req2);    
+    vector<std::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<cygnal::Element> > corrupt3 = 
http.parseEchoRequest(*hex_req3);    
+    vector<std::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<cygnal::Element> > corrupt4 = 
http.parseEchoRequest(*hex_req4);    
+    vector<std::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<cygnal::Element> > corrupt5 = 
http.parseEchoRequest(*hex_req5);    
+    vector<std::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<cygnal::Element> > corrupt6 = 
http.parseEchoRequest(*hex_req6);    
+    vector<std::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<cygnal::Element> > corrupt7 = 
http.parseEchoRequest(*hex_req7);    
+    vector<std::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<cygnal::Element> > corrupt8 = 
http.parseEchoRequest(*hex_req8);    
+    vector<std::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<cygnal::Element> > corrupt9 = 
http.parseEchoRequest(*hex_req9);    
+    vector<std::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<cygnal::Element> > corrupt10 = 
http.parseEchoRequest(*hex_req10);    
+    vector<std::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<cygnal::Element> > corrupt11 = 
http.parseEchoRequest(*hex_req11);
+    vector<std::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<cygnal::Element> > corrupt12 = 
http.parseEchoRequest(*hex_req12);
+    vector<std::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<cygnal::Element> > corrupt13 = 
http.parseEchoRequest(*hex_req13);
+    vector<std::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<cygnal::Element> > corrupt14 = 
http.parseEchoRequest(*hex_req14);
+    vector<std::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<cygnal::Element> > corrupt15 = 
http.parseEchoRequest(*hex_req15);
+    vector<std::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<cygnal::Element> > corrupt16 = 
http.parseEchoRequest(*hex_req16);
+    vector<std::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<cygnal::Element> > corrupt17 = 
http.parseEchoRequest(*hex_req16x);
+    vector<std::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<cygnal::Element> > corrupt19 = 
http.parseEchoRequest(*hex_req19);
+    vector<std::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<cygnal::Element> > corrupt20 = 
http.parseEchoRequest(*hex_req20);
+    vector<std::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<cygnal::Element> > corrupt21 = 
http.parseEchoRequest(*hex_req21);
+    vector<std::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<cygnal::Element> > corrupt22 = 
http.parseEchoRequest(*hex_req22);
+    vector<std::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<cygnal::Element> > corrupt26 = 
http.parseEchoRequest(*hex_req26);
+    vector<std::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<cygnal::Element> > corrupt27 = 
http.parseEchoRequest(*hex_req27);
+    vector<std::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<cygnal::Element> > corrupt29 = 
http.parseEchoRequest(*hex_req29);
+    vector<std::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<cygnal::Element> > corrupt30 = 
http.parseEchoRequest(*hex_req30);
+    vector<std::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<cygnal::Element> > corrupt31 = 
http.parseEchoRequest(*hex_req31);
+    vector<std::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<cygnal::Element> > corrupt40 = 
http.parseEchoRequest(*hex_req40);
+    vector<std::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<cygnal::Element> > corrupt41 = 
http.parseEchoRequest(*hex_req41);
+    vector<std::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<cygnal::Element> > corrupt42 = 
http.parseEchoRequest(*hex_req42);
+    vector<std::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<cygnal::Element> > corrupt43 = 
http.parseEchoRequest(*hex_req43);
+    vector<std::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<cygnal::Element> > corrupt44 = 
http.parseEchoRequest(*hex_req44);
+    vector<std::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<cygnal::Element> > corrupt45 = 
http.parseEchoRequest(*hex_req45);
+    vector<std::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 fcd7d67..e9700ca 100644
--- a/cygnal/testsuite/libnet.all/test_rtmp.cpp
+++ b/cygnal/testsuite/libnet.all/test_rtmp.cpp
@@ -149,11 +149,11 @@ test_split()
     
     RTMPClient client;
     bool notest = false;
-    boost::shared_ptr<RTMP::rtmp_head_t> rthead;
+    std::shared_ptr<RTMP::rtmp_head_t> rthead;
     CQue *que;
 
-    boost::shared_ptr<Buffer> buf1(new Buffer("04 00 00 00 00 00 b8 14 01 00 
00 00 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 2d 50 6c 61 79 69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 
6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 30 31 2e 
c4 00 07 64 65 74 61 69 6c 73 02 00 16 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 
5f 62 63 75 65 75 5f 30 31 00 08 63 6c 69 65 6e 74 69 64 00 41 bf e4 78 30 00 
00 00 00 00 09"));
-    boost::shared_ptr<RTMP::queues_t> queues1 = client.split(*buf1);
+    std::shared_ptr<Buffer> buf1(new Buffer("04 00 00 00 00 00 b8 14 01 00 00 
00 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 2d 50 6c 61 79 69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 6e 
67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 30 31 2e c4 
00 07 64 65 74 61 69 6c 73 02 00 16 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 
62 63 75 65 75 5f 30 31 00 08 63 6c 69 65 6e 74 69 64 00 41 bf e4 78 30 00 00 
00 00 00 09"));
+    std::shared_ptr<RTMP::queues_t> queues1 = client.split(*buf1);
     
     if (!queues1) {
         notest = true;
@@ -174,9 +174,9 @@ test_split()
         }
     }
     
-//     boost::shared_ptr<cygnal::Buffer> tmpbuf = que1.front();
+//     std::shared_ptr<cygnal::Buffer> tmpbuf = que1.front();
 //     que1.pop_front();
-    boost::shared_ptr<cygnal::Buffer> tmpbuf(new Buffer);
+    std::shared_ptr<cygnal::Buffer> tmpbuf(new Buffer);
     if (notest) {
         runtest.untested("RTMP::split(1st packet header) of 2");
     } else {
@@ -216,8 +216,8 @@ test_split()
     
 //    delete queues1;
     
-    boost::shared_ptr<Buffer> buf2(new Buffer("02 00 00 00 00 00 04 01 00 00 
00 00 00 00 00 80 02 00 00 00 00 00 06 04 00 00 00 00 00 04 00 00 00 01 04 00 
00 00 00 00 b8 14 01 00 00 00 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 2d 50 6c 61 79 69 6e 67 20 61 6e 64 
20 72 65 73 65 74 74 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 
63 75 65 75 5f 30 31 2e 02 00 00 00 00 00 06 04 00 00 00 00 00 00 00 00 00 01 
c4 00 07 64 65 74 61 69 6c 73 02 00 16 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 
5f 62 63 75 65 75 5f 30 31 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 fb 78 56 00 
00 00 00 00 09"));
-    boost::shared_ptr<RTMP::queues_t> queues2 = client.split(*buf2);
+    std::shared_ptr<Buffer> buf2(new Buffer("02 00 00 00 00 00 04 01 00 00 00 
00 00 00 00 80 02 00 00 00 00 00 06 04 00 00 00 00 00 04 00 00 00 01 04 00 00 
00 00 00 b8 14 01 00 00 00 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 2d 50 6c 61 79 69 6e 67 20 61 6e 64 20 
72 65 73 65 74 74 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 63 
75 65 75 5f 30 31 2e 02 00 00 00 00 00 06 04 00 00 00 00 00 00 00 00 00 01 c4 
00 07 64 65 74 61 69 6c 73 02 00 16 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 
62 63 75 65 75 5f 30 31 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 fb 78 56 00 00 
00 00 00 09"));
+    std::shared_ptr<RTMP::queues_t> queues2 = client.split(*buf2);
     if (queues2) {
         if (queues2->size() == 0) {
             notest = true;
@@ -316,8 +316,8 @@ test_split()
     // Try a much more complex packet, similar to the previous one, but with 
more intermixed packets
     // for other channels.
 //    
...............onStatus.............level...status..code...NetStream.Play.Start..description..'Started
 playing 
gate06_tablan_bcueu_01...clie......'address@hidden;...../..rP.....K.......m......,......%......................B........M.<.$.....`.......i..9..C..J..........%..........G....2Np."address@hidden;.ntid.A..xV.....
-    boost::shared_ptr<Buffer> buf3(new Buffer("05 00 00 00 00 00 90 14 01 00 
00 00 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 27 53 74 61 72 74 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 30 31 2e 00 08 63 6c 69 65 
07 00 00 00 00 00 27 09 01 00 00 00 14 00 78 46 0f 14 0f 14 3f 6a ff ff 00 08 
9f 40 10 9f f8 8b 3f fd b2 4f fb 5d c0 00 00 00 00 00 00 00 00 00 00 00 00 08 
00 00 00 00 00 00 08 01 00 00 00 08 00 00 00 00 01 3b 08 01 00 00 00 2f ff fb 
72 50 00 00 00 00 00 4b 00 00 00 00 07 e0 09 6d 00 00 00 00 00 01 2c 00 00 00 
00 1f 80 25 b4 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff fc 0c 87 
42 80 ec c8 b0 0e 90 c2 12 4d 90 3c 18 24 16 01 88 03 e1 60 1a 1a a0 1a 09 9c 
1a 69 a1 10 39 06 8d 43 02 c3 4a 12 0b 00 c8 1f 0b 00 d8 16 00 25 9f ff ff fe 
c1 a0 00 00 ff 8a 47 80 80 0e 1e 32 4e 70 f1 22 ed 31 60 40 f8 02 00 00 00 00 
00 04 01 00 00 00 00 00 00 01 3b c5 6e 74 69 64 00 41 d8 fb 78 56 00 00 00 00 
00 09"));
-    boost::shared_ptr<RTMP::queues_t> queues3 = client.split(*buf3);
+    std::shared_ptr<Buffer> buf3(new Buffer("05 00 00 00 00 00 90 14 01 00 00 
00 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 27 53 74 61 72 74 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 30 31 2e 00 08 63 6c 69 65 07 
00 00 00 00 00 27 09 01 00 00 00 14 00 78 46 0f 14 0f 14 3f 6a ff ff 00 08 9f 
40 10 9f f8 8b 3f fd b2 4f fb 5d c0 00 00 00 00 00 00 00 00 00 00 00 00 08 00 
00 00 00 00 00 08 01 00 00 00 08 00 00 00 00 01 3b 08 01 00 00 00 2f ff fb 72 
50 00 00 00 00 00 4b 00 00 00 00 07 e0 09 6d 00 00 00 00 00 01 2c 00 00 00 00 
1f 80 25 b4 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff fc 0c 87 42 
80 ec c8 b0 0e 90 c2 12 4d 90 3c 18 24 16 01 88 03 e1 60 1a 1a a0 1a 09 9c 1a 
69 a1 10 39 06 8d 43 02 c3 4a 12 0b 00 c8 1f 0b 00 d8 16 00 25 9f ff ff fe c1 
a0 00 00 ff 8a 47 80 80 0e 1e 32 4e 70 f1 22 ed 31 60 40 f8 02 00 00 00 00 00 
04 01 00 00 00 00 00 00 01 3b c5 6e 74 69 64 00 41 d8 fb 78 56 00 00 00 00 00 
09"));
+    std::shared_ptr<RTMP::queues_t> queues3 = client.split(*buf3);
     if (queues3) {
         if (queues3->size() == 0) {
             notest = true;
@@ -414,10 +414,10 @@ test_split()
 
     // the oflaDemo connect packet, which currently core dumps
     notest = false;
-    boost::shared_ptr<Buffer> buf4(new Buffer("03 00 00 00 00 01 0b 14 00 00 
00 00 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 08 6f 66 6c 61 44 65 6d 6f 00 08 66 6c 61 73 68 56 65 72 02 00 0e 4c 
4e 58 20 31 30 2c 30 2c 31 32 2c 33 36 00 06 73 77 66 55 72 6c 02 00 29 68 74 
74 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 35 30 38 30 2f 64 65 6d 6f 73 2f 
6f 66 6c 61 5f 64 65 6d 6f 2e 73 77 66 00 05 74 63 55 72 6c 02 00 1e 72 74 6d 
c3 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 35 39 33 35 2f 6f 66 6c 61 44 65 
6d 6f 00 04 66 70 61 64 01 00 00 0c 63 61 70 61 62 69 6c 69 74 69 65 73 00 40 
2e 00 00 00 00 00 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 a8 ee 00 00 
00 00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 6f 80 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 c3 
70 61 67 65 55 72 6c 06 00 00 09"));
+    std::shared_ptr<Buffer> buf4(new Buffer("03 00 00 00 00 01 0b 14 00 00 00 
00 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 08 6f 66 6c 61 44 65 6d 6f 00 08 66 6c 61 73 68 56 65 72 02 00 0e 4c 4e 
58 20 31 30 2c 30 2c 31 32 2c 33 36 00 06 73 77 66 55 72 6c 02 00 29 68 74 74 
70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 35 30 38 30 2f 64 65 6d 6f 73 2f 6f 
66 6c 61 5f 64 65 6d 6f 2e 73 77 66 00 05 74 63 55 72 6c 02 00 1e 72 74 6d c3 
70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 35 39 33 35 2f 6f 66 6c 61 44 65 6d 
6f 00 04 66 70 61 64 01 00 00 0c 63 61 70 61 62 69 6c 69 74 69 65 73 00 40 2e 
00 00 00 00 00 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 a8 ee 00 00 00 
00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 6f 80 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 c3 70 
61 67 65 55 72 6c 06 00 00 09"));
 //    buf4->dump();
     
-    boost::shared_ptr<RTMP::queues_t> queues4 = client.split(*buf4);
+    std::shared_ptr<RTMP::queues_t> queues4 = client.split(*buf4);
     if (queues4) {
         if (queues4->size() == 0) {
             notest = true;
@@ -447,12 +447,12 @@ test_system()
     
     RTMPClient client;
     
-    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
+    std::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer("00 00 00 00 00 
00")); // clear buffer message
+    std::shared_ptr<cygnal::Buffer> buf2(new cygnal::Buffer("00 06 cf 03 04 
c3")); // ping client from server
+    std::shared_ptr<cygnal::Buffer> buf3(new cygnal::Buffer("00 07 cf 03 04 
c3")); // Pong, reply from client
+    std::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);
+    std::shared_ptr<RTMP::rtmp_ping_t> ping1 = client.decodePing(*buf1);
     if (ping1->type == RTMP::PING_CLEAR) {
         runtest.pass("Decoded RTMP Ping message");
     } else {
@@ -461,7 +461,7 @@ test_system()
     
 #if 0
     RTMPServer server;
-    boost::shared_ptr<cygnal::Buffer> enc1 = 
server.encodePing(RTMP::PING_CLEAR);
+    std::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<cygnal::Buffer> enc2 = 
server.encodePing(RTMP::PING_CLIENT, htonl(time));
+    std::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)) {
@@ -479,7 +479,7 @@ test_system()
     }
 #endif
     
-    boost::shared_ptr<RTMP::rtmp_ping_t> ping2 = client.decodePing(*buf2);
+    std::shared_ptr<RTMP::rtmp_ping_t> ping2 = client.decodePing(*buf2);
     if ((ping2->type == RTMP::PING_CLIENT)
         && (ping2->target == 0xcf03)
         && (ping2->param1 == 0x4c3)) {
@@ -489,20 +489,20 @@ test_system()
     }    
 
     // SERVER message
-//     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");
+//     std::shared_ptr<cygnal::Buffer> hex1 = hex2mem("02 00 00 00 00 00 04 05 
00 00 00 00 00 13 12 d0");
+//     std::shared_ptr<cygnal::Buffer> hex1 = hex2mem("00 13 12 d0");
 //     RTMPMsg *msg1 = client.decodeMsgBody(hex1);
     
     // Client message
-//     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");
+//     std::shared_ptr<cygnal::Buffer> hex2 = hex2mem("02 00 00 00 00 00 05 06 
00 00 00 00 00 13 12 d0 02");
+//     std::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<cygnal::Buffer> buf11 = el11.getBuffer();
+        std::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<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,
+    std::shared_ptr<cygnal::Buffer> buf1(new Buffer("03 00 00 00 00 01 1f 14 
00 00 00 00"));
+    std::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;
@@ -533,7 +533,7 @@ test_header()
      } else {
          runtest.fail("Encoded RTMP header(Invoke)");
      }
-     boost::shared_ptr<RTMP::rtmp_head_t> header1 = 
client.decodeHeader(buf1->reference());
+     std::shared_ptr<RTMP::rtmp_head_t> header1 = 
client.decodeHeader(buf1->reference());
      if ((header1->channel == 0x3) && (header1->head_size == 
RTMP_MAX_HEADER_SIZE)
          && (header1->bodysize == 287) && (header1->type ==  RTMP::INVOKE)) {
          runtest.pass("Decoded RTMP header(Invoke)");
@@ -541,8 +541,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Invoke)");
      }
 
-     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,
+     std::shared_ptr<cygnal::Buffer> buf2(new Buffer("02 00 00 00 00 00 06 04 
00 00 00 00"));
+     std::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<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,
+     std::shared_ptr<cygnal::Buffer> buf3(new Buffer("02 ff e3 6c 00 00 06 04 
00 00 00 00"));
+     std::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)) {
@@ -561,7 +561,7 @@ test_header()
          runtest.fail("Encoded RTMP header(Ping 1)");
      }
 
-     boost::shared_ptr<RTMP::rtmp_head_t> header2 = client.decodeHeader(*buf3);
+     std::shared_ptr<RTMP::rtmp_head_t> header2 = client.decodeHeader(*buf3);
      if ((header2->channel == 0x2) && (header2->head_size == 
RTMP_MAX_HEADER_SIZE)
          && (header2->bodysize == 6) && (header2->type ==  RTMP::USER)) {
          runtest.pass("Decoded RTMP header(Ping)");
@@ -569,8 +569,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Ping)");
      }
 
-     boost::shared_ptr<cygnal::Buffer> buf4(new Buffer("c2"));
-     boost::shared_ptr<cygnal::Buffer> head4 = client.encodeHeader(0x2, 
RTMP::HEADER_1);
+     std::shared_ptr<cygnal::Buffer> buf4(new Buffer("c2"));
+     std::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<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,
+     std::shared_ptr<cygnal::Buffer> buf5(new Buffer("43 00 00 00 00 00 19 
14"));
+     std::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;
@@ -592,7 +592,7 @@ test_header()
          runtest.fail("Encoded RTMP header(size 8)");
      }
      
-     boost::shared_ptr<RTMP::rtmp_head_t> header3 = client.decodeHeader(*buf5);
+     std::shared_ptr<RTMP::rtmp_head_t> header3 = client.decodeHeader(*buf5);
      if ((header3->channel == 0x3) && (header3->head_size == 8)
          && (header3->bodysize == 0x19) && (header3->type ==  RTMP::INVOKE)) {
          runtest.pass("Decoded RTMP header(size 8)");
@@ -601,8 +601,8 @@ test_header()
      }
 
      // 4 byte header
-     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,
+     std::shared_ptr<cygnal::Buffer> buf6(new Buffer("83 00 00 00"));
+     std::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<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"));
+    std::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);
+    std::shared_ptr<RTMPMsg> msg1 = rtmp.decodeMsgBody(*hex2);
     if (msg1) {
-        std::vector<boost::shared_ptr<cygnal::Element> > hell = 
msg1->getElements();
-        std::vector<boost::shared_ptr<cygnal::Element> > props = 
hell[0]->getProperties();        
+        std::vector<std::shared_ptr<cygnal::Element> > hell = 
msg1->getElements();
+        std::vector<std::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<cygnal::Buffer> buf2 = 
rtmpserv.encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
+    std::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<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<cygnal::Element> > hell = 
msg2->getElements();
-    std::vector<boost::shared_ptr<cygnal::Element> > props = 
hell[0]->getProperties();        
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg2 = rtmp.decodeMsgBody(*hex3);
+    std::vector<std::shared_ptr<cygnal::Element> > hell = msg2->getElements();
+    std::vector<std::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,8 +694,8 @@ test_results()
 //         address@hidden
 //     clientid
 //         dsLgYohb
-    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::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"));
+    std::shared_ptr<RTMPMsg> msg4 = rtmp.decodeMsgBody(*hex4);
 //    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg4->getStatus() ==  RTMPMsg::NS_PLAY_RESET)
         && (msg4->getMethodName() == "onStatus")
@@ -709,8 +709,8 @@ test_results()
 // code
 //     NetStream
 // Data.Start
-    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);
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg5 = rtmp.decodeMsgBody(*hex5);
     if ((msg5->getStatus() ==  RTMPMsg::NS_DATA_START)
         && (msg5->getMethodName() == "onStatus")
         && (msg5->size() == 1)) {
@@ -728,8 +728,8 @@ test_results()
 //         Started playing address@hidden
 //     details
 //         address@hidden
-    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);
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg6 = rtmp.decodeMsgBody(*hex6);
     if ((msg6->getStatus() ==  RTMPMsg::NS_PLAY_START)
         && (msg6->getMethodName() == "onStatus")
         && (msg6->size() >= 1)) {
@@ -743,8 +743,8 @@ 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<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);
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg7 = rtmp.decodeMsgBody(*hex7);
     if ((msg7->getStatus() ==  RTMPMsg::NC_CONNECT_REJECTED)
         && (msg7->getMethodName() == "_error")
         && (msg7->size() >= 1)) {
@@ -754,8 +754,8 @@ 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<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);
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg8 = rtmp.decodeMsgBody(*hex8);
 //    msg4->dump();
 //    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg8->getStatus() ==  RTMPMsg::NS_PLAY_STREAMNOTFOUND)
@@ -769,8 +769,8 @@ 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<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);
+    std::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"));
+    std::shared_ptr<RTMPMsg> msg9 = rtmp.decodeMsgBody(*hex9);
 //    msg4->dump();
 //    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg9->getStatus() ==  RTMPMsg::NS_PLAY_STOP)
@@ -788,7 +788,7 @@ test_types()
     GNASH_REPORT_FUNCTION;
     RTMP rtmp;
     
-    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("06 00 d2 04 00 00 00 
00"));
+    std::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<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";);
+    std::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"));
+    std::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/gui/Player.cpp b/gui/Player.cpp
index a8789d5..97bfc5f 100644
--- a/gui/Player.cpp
+++ b/gui/Player.cpp
@@ -412,14 +412,14 @@ Player::run(int argc, char* argv[], const std::string& 
infile,
     /// The RunResources should be populated before parsing.
     _runResources.reset(new RunResources());
 
-    boost::shared_ptr<SWF::TagLoadersTable> loaders(new 
SWF::TagLoadersTable());
+    std::shared_ptr<SWF::TagLoadersTable> loaders(new SWF::TagLoadersTable());
     addDefaultLoaders(*loaders);
     _runResources->setTagLoaders(loaders);
 
     std::unique_ptr<NamingPolicy> np(new IncrementalRename(_baseurl));
 
     /// The StreamProvider uses the actual URL of the loaded movie.
-    boost::shared_ptr<StreamProvider> sp(new StreamProvider(_url, baseURL, 
std::move(np)));
+    std::shared_ptr<StreamProvider> sp(new StreamProvider(_url, baseURL, 
std::move(np)));
     _runResources->setStreamProvider(sp);
 
     // Set the Hardware video decoding resources. none, vaapi, omap
diff --git a/gui/Player.h b/gui/Player.h
index 12e6b3c..411c89e 100644
--- a/gui/Player.h
+++ b/gui/Player.h
@@ -319,9 +319,9 @@ private:
     /// @todo   This is hairy, and the core should be sorted out so that
     ///         sound_sample knows about its sound::sound_handler without
     ///         needing a RunResources.
-    boost::shared_ptr<sound::sound_handler> _soundHandler;
+    std::shared_ptr<sound::sound_handler> _soundHandler;
     
-    boost::shared_ptr<media::MediaHandler> _mediaHandler;
+    std::shared_ptr<media::MediaHandler> _mediaHandler;
     
     /// Handlers (for sound etc) for a libcore run.
     //
diff --git a/gui/aos4/aos4.cpp b/gui/aos4/aos4.cpp
index fab9dd3..48a2602 100644
--- a/gui/aos4/aos4.cpp
+++ b/gui/aos4/aos4.cpp
@@ -630,7 +630,7 @@ AOS4Gui::createWindow(const char *title, int width, int 
height, int xPosition, i
     _glue.prepDrawingArea(_width, _height);
 
     //set_Renderer(_renderer);
-       _runResources.setRenderer(boost::shared_ptr<Renderer>(_renderer));
+       _runResources.setRenderer(std::shared_ptr<Renderer>(_renderer));
 
        struct Window *_window = _glue.getWindow();
 
diff --git a/gui/aqua/aqua.cpp b/gui/aqua/aqua.cpp
index 59ba0cf..5b78622 100644
--- a/gui/aqua/aqua.cpp
+++ b/gui/aqua/aqua.cpp
@@ -126,7 +126,7 @@ bool AquaGui::init(int argc, char **argv[]) /* 
Self-explainatory */
     _renderer.reset(_glue.createRenderHandler());
     if(!_renderer)return false;
 
-       _runResources.setRenderer(boost::shared_ptr<Renderer>(_renderer));
+       _runResources.setRenderer(std::shared_ptr<Renderer>(_renderer));
     return true;
 
 }
diff --git a/gui/dump/dump.h b/gui/dump/dump.h
index 29abea9..65052b1 100644
--- a/gui/dump/dump.h
+++ b/gui/dump/dump.h
@@ -103,7 +103,7 @@ private:
     std::ofstream _fileStream;         /* stream for output file */
     void init_dumpfile();               /* convenience method to create dump 
file */
 
-    boost::shared_ptr<sound::sound_handler> _soundHandler;
+    std::shared_ptr<sound::sound_handler> _soundHandler;
 
     ManualClock _clock;
 
diff --git a/gui/fb/fb.cpp b/gui/fb/fb.cpp
index 5076f45..883076e 100644
--- a/gui/fb/fb.cpp
+++ b/gui/fb/fb.cpp
@@ -273,7 +273,7 @@ FBGui::init(int argc, char *** argv)
     // Initialize all the input devices
 
     // Look for Mice that use the PS/2 mouse protocol
-    std::vector<boost::shared_ptr<InputDevice> > possibles
+    std::vector<std::shared_ptr<InputDevice> > possibles
         = InputDevice::scanForDevices();
     if (possibles.empty()) {
         log_error(_("Found no accessible input event devices"));
@@ -281,7 +281,7 @@ FBGui::init(int argc, char *** argv)
         log_debug("Found %d input event devices.", possibles.size());
     }
     
-    std::vector<boost::shared_ptr<InputDevice> >::iterator it;
+    std::vector<std::shared_ptr<InputDevice> >::iterator it;
     for (it=possibles.begin(); it!=possibles.end(); ++it) {
         // Set the screen size, which is used for calculating absolute
         // mouse locations from relative ones.
@@ -739,11 +739,11 @@ FBGui::checkForData()
 {
     // GNASH_REPORT_FUNCTION;
 
-    std::vector<boost::shared_ptr<InputDevice> >::iterator it;
+    std::vector<std::shared_ptr<InputDevice> >::iterator it;
 
     for (it=_inputs.begin(); it!=_inputs.end(); ++it) {
         (*it)->check();
-        boost::shared_ptr<InputDevice::input_data_t> ie = (*it)->popData();
+        std::shared_ptr<InputDevice::input_data_t> ie = (*it)->popData();
         if (ie) {            
             // notifyMouseMove(ie->x, ie->y);
 #if 0
diff --git a/gui/fb/fbsup.h b/gui/fb/fbsup.h
index 9e78908..fdd0d09 100644
--- a/gui/fb/fbsup.h
+++ b/gui/fb/fbsup.h
@@ -196,12 +196,12 @@ private:
     size_t      _timeout;       // timeout period for the event loop
     bool        _fullscreen;
 
-    boost::shared_ptr<FBGlue>   _glue;
+    std::shared_ptr<FBGlue>   _glue;
 
     /// This is the array of functioning input devices.
-    std::vector<boost::shared_ptr<InputDevice> > _inputs;
+    std::vector<std::shared_ptr<InputDevice> > _inputs;
 
-    boost::shared_ptr<Renderer> _renderer;
+    std::shared_ptr<Renderer> _renderer;
 #ifdef HAVE_LINUX_UINPUT_H
     UinputDevice                _uinput;
 #endif
diff --git a/gui/fltk/fltk_glue_cairo.cpp b/gui/fltk/fltk_glue_cairo.cpp
index 2957ce3..c105dc0 100644
--- a/gui/fltk/fltk_glue_cairo.cpp
+++ b/gui/fltk/fltk_glue_cairo.cpp
@@ -109,7 +109,7 @@ FltkCairoGlue::initBuffer(int width, int height)
 
     if (firstTime) {
       //set_Renderer(_renderer);
-      _runResources.setRenderer(boost::shared_ptr<Renderer>(_renderer));
+      _runResources.setRenderer(std::shared_ptr<Renderer>(_renderer));
       firstTime = false;
     }
 
diff --git a/gui/gtk/gtk_canvas.cpp b/gui/gtk/gtk_canvas.cpp
index a15ddef..b28806d 100644
--- a/gui/gtk/gtk_canvas.cpp
+++ b/gui/gtk/gtk_canvas.cpp
@@ -61,7 +61,7 @@ struct _GnashCanvas
 {
     GtkDrawingArea base_instance;
     std::unique_ptr<gnash::GtkGlue> glue;
-    boost::shared_ptr<gnash::Renderer> renderer;
+    std::shared_ptr<gnash::Renderer> renderer;
 };
 
 G_DEFINE_TYPE(GnashCanvas, gnash_canvas, GTK_TYPE_DRAWING_AREA)
@@ -323,7 +323,7 @@ gnash_canvas_before_rendering(GnashCanvas *canvas, 
gnash::movie_root* stage)
     canvas->glue->beforeRendering(stage);
 }
 
-boost::shared_ptr<gnash::Renderer>
+std::shared_ptr<gnash::Renderer>
 gnash_canvas_get_renderer(GnashCanvas *canvas)
 {
     return canvas->renderer;
diff --git a/gui/gtk/gtk_canvas.h b/gui/gtk/gtk_canvas.h
index 13d5bc9..0233ede 100644
--- a/gui/gtk/gtk_canvas.h
+++ b/gui/gtk/gtk_canvas.h
@@ -60,7 +60,7 @@ void gnash_canvas_before_rendering (GnashCanvas *canvas, 
gnash::movie_root* stag
 G_END_DECLS
 
 /// Get the Renderer for this canvas
-boost::shared_ptr<gnash::Renderer> gnash_canvas_get_renderer(GnashCanvas 
*canvas);
+std::shared_ptr<gnash::Renderer> gnash_canvas_get_renderer(GnashCanvas 
*canvas);
 
 
 #endif
diff --git a/gui/gtk/gtk_glue_agg_vaapi.cpp b/gui/gtk/gtk_glue_agg_vaapi.cpp
index 2bde056..1eda283 100644
--- a/gui/gtk/gtk_glue_agg_vaapi.cpp
+++ b/gui/gtk/gtk_glue_agg_vaapi.cpp
@@ -292,7 +292,7 @@ GtkAggVaapiGlue::beforeRendering(movie_root* stage)
 }
 
 VaapiVideoWindow *
-GtkAggVaapiGlue::getVideoWindow(boost::shared_ptr<VaapiSurface> surface,
+GtkAggVaapiGlue::getVideoWindow(std::shared_ptr<VaapiSurface> surface,
                                 GdkWindow *parent_window,
                                 VaapiRectangle const & rect)
 {
@@ -349,7 +349,7 @@ GtkAggVaapiGlue::render()
 
      if (first_img != last_img) {
          for (img = first_img; img != last_img; ++img) {
-             boost::shared_ptr<VaapiSurface> surface = (*img)->surface();
+             std::shared_ptr<VaapiSurface> surface = (*img)->surface();
 
              VaapiRectangle src_rect;
              src_rect.x      = (*img)->x();
@@ -393,7 +393,7 @@ GtkAggVaapiGlue::render()
          }
 
          for (img = first_img; img != last_img; ++img) {
-             boost::shared_ptr<VaapiSurface> surface = (*img)->surface();
+             std::shared_ptr<VaapiSurface> surface = (*img)->surface();
 
              status = vaSyncSurface(gvactx->display(), surface->get());
              if (!vaapi_check_status(status, "vaSyncSurface() video"))
diff --git a/gui/gtk/gtk_glue_agg_vaapi.h b/gui/gtk/gtk_glue_agg_vaapi.h
index 3228886..bd31b32 100644
--- a/gui/gtk/gtk_glue_agg_vaapi.h
+++ b/gui/gtk/gtk_glue_agg_vaapi.h
@@ -58,7 +58,7 @@ public:
     void configure(GtkWidget *const widget, GdkEventConfigure *const event);
 
 private:
-    VaapiVideoWindow *getVideoWindow(boost::shared_ptr<VaapiSurface> surface,
+    VaapiVideoWindow *getVideoWindow(std::shared_ptr<VaapiSurface> surface,
                                      GdkWindow *parent_window,
                                      VaapiRectangle const & rect);
 
@@ -67,10 +67,10 @@ private:
 private:
     Renderer_agg_base                  *_agg_renderer;
     VaapiImageFormat                    _vaapi_image_format;
-    boost::shared_ptr<VaapiImage>       _vaapi_image;
+    std::shared_ptr<VaapiImage>       _vaapi_image;
     unsigned int                        _vaapi_image_width;
     unsigned int                        _vaapi_image_height;
-    boost::shared_ptr<VaapiSubpicture>  _vaapi_subpicture;
+    std::shared_ptr<VaapiSubpicture>  _vaapi_subpicture;
     std::unique_ptr<VaapiSurface>         _vaapi_surface;
     unsigned int                        _window_width;
     unsigned int                        _window_height;
diff --git a/gui/gtk/gtk_glue_ovg.h b/gui/gtk/gtk_glue_ovg.h
index f8c1a1d..67cfcb2 100644
--- a/gui/gtk/gtk_glue_ovg.h
+++ b/gui/gtk/gtk_glue_ovg.h
@@ -75,7 +75,7 @@ class GtkOvgGlue : public GtkGlue
     unsigned int        _width;
     unsigned int        _height;
 
-    boost::shared_ptr<renderer::openvg::Renderer_ovg>  _renderer;    
+    std::shared_ptr<renderer::openvg::Renderer_ovg>  _renderer;
 };
 
 } // namespace gui
diff --git a/gui/gui.h b/gui/gui.h
index 483c467..3e08819 100644
--- a/gui/gui.h
+++ b/gui/gui.h
@@ -502,7 +502,7 @@ protected:
     unsigned int _interval;
 
     /// The handler which is called to update the client area of our window.
-    boost::shared_ptr<Renderer> _renderer;
+    std::shared_ptr<Renderer> _renderer;
 
     /// Signals that the next frame must be re-rendered completely because the
     /// window size did change.
diff --git a/gui/pythonmod/gnash-view.cpp b/gui/pythonmod/gnash-view.cpp
index df3209f..780f33f 100644
--- a/gui/pythonmod/gnash-view.cpp
+++ b/gui/pythonmod/gnash-view.cpp
@@ -55,8 +55,8 @@ struct _GnashView {
     const gchar *uri;
     guint advance_timer;
 
-    boost::shared_ptr<gnash::media::MediaHandler> media_handler;
-    boost::shared_ptr<gnash::sound::sound_handler> sound_handler;
+    std::shared_ptr<gnash::media::MediaHandler> media_handler;
+    std::shared_ptr<gnash::sound::sound_handler> sound_handler;
 
     /// Handlers (for sound etc) for a libcore run.
     //
@@ -257,7 +257,7 @@ gnash_view_size_allocate (GtkWidget *widget, GtkAllocation 
*allocation)
     if( view->stage.get() != NULL) {
        view->stage->setDimensions(allocation->width, allocation->height);
 
-        boost::shared_ptr<gnash::Renderer> renderer = 
gnash_canvas_get_renderer(view->canvas);
+        std::shared_ptr<gnash::Renderer> renderer = 
gnash_canvas_get_renderer(view->canvas);
         float xscale = allocation->width / 
view->movie_definition->get_width_pixels();
         float yscale = allocation->height / 
view->movie_definition->get_height_pixels();
                renderer->set_scale(xscale, yscale);
@@ -423,7 +423,7 @@ gnash_view_load_movie(GnashView *view, const gchar *uri)
     view->run_info->setSoundHandler(view->sound_handler);
 
     std::unique_ptr<gnash::NamingPolicy> np(new gnash::IncrementalRename(url));
-    boost::shared_ptr<gnash::StreamProvider> sp(
+    std::shared_ptr<gnash::StreamProvider> sp(
            new gnash::StreamProvider(url, url, std::move(np)));
     view->run_info->setStreamProvider(sp);
 
@@ -497,7 +497,7 @@ gnash_view_display(GnashView *view)
     gnash::InvalidatedRanges changed_ranges;
     changed_ranges.setWorld();
 
-    boost::shared_ptr<gnash::Renderer> renderer = 
gnash_canvas_get_renderer(view->canvas);
+    std::shared_ptr<gnash::Renderer> renderer = 
gnash_canvas_get_renderer(view->canvas);
     renderer->set_invalidated_regions(changed_ranges);
     gdk_window_invalidate_rect(GTK_WIDGET(view->canvas)->window, NULL, false);
 
diff --git a/libbase/GnashImage.cpp b/libbase/GnashImage.cpp
index cea64bd..7bda2cb 100644
--- a/libbase/GnashImage.cpp
+++ b/libbase/GnashImage.cpp
@@ -175,7 +175,7 @@ mergeAlpha(ImageRGBA& im, GnashImage::const_iterator 
alphaData,
 // Write the given image to the given out stream, in jpeg format.
 void
 Output::writeImageData(FileType type,
-    boost::shared_ptr<IOChannel> out, const GnashImage& image, int quality)
+    std::shared_ptr<IOChannel> out, const GnashImage& image, int quality)
 {
     
     const size_t width = image.width();
@@ -214,7 +214,7 @@ Output::writeImageData(FileType type,
 
 // See GnashEnums.h for file types.
 std::unique_ptr<GnashImage>
-Input::readImageData(boost::shared_ptr<IOChannel> in, FileType type)
+Input::readImageData(std::shared_ptr<IOChannel> in, FileType type)
 {
     std::unique_ptr<GnashImage> im;
     std::unique_ptr<Input> inChannel;
@@ -282,7 +282,7 @@ Input::readImageData(boost::shared_ptr<IOChannel> in, 
FileType type)
 // For reading SWF JPEG3-style image data, like ordinary JPEG, 
 // but stores the data in ImageRGBA format.
 std::unique_ptr<ImageRGBA>
-Input::readSWFJpeg3(boost::shared_ptr<IOChannel> in)
+Input::readSWFJpeg3(std::shared_ptr<IOChannel> in)
 {
 
     std::unique_ptr<ImageRGBA> im;
diff --git a/libbase/GnashImage.h b/libbase/GnashImage.h
index 0717a01..ed615ab 100644
--- a/libbase/GnashImage.h
+++ b/libbase/GnashImage.h
@@ -267,7 +267,7 @@ public:
     /// @param in   The stream to read data from. Ownership is shared
     ///             between caller and Input, so it is freed
     ///             automatically when the last owner is destroyed.
-    Input(boost::shared_ptr<IOChannel> in)
+    Input(std::shared_ptr<IOChannel> in)
         :
         _inStream(in),
         _type(GNASH_IMAGE_INVALID)
@@ -309,7 +309,7 @@ public:
     /// For reading SWF JPEG3-style image data, like ordinary JPEG, 
     /// but stores the data in ImageRGBA format.
     DSOEXPORT static std::unique_ptr<ImageRGBA> readSWFJpeg3(
-            boost::shared_ptr<gnash::IOChannel> in);
+            std::shared_ptr<gnash::IOChannel> in);
 
     /// Read image data from an IOChannel into an GnashImage.
     //
@@ -319,11 +319,11 @@ public:
     ///             is an unsupported FileType or image reading fails,
     ///             a NULL unique_ptr is returned.
     DSOEXPORT static std::unique_ptr<GnashImage> readImageData(
-            boost::shared_ptr<gnash::IOChannel> in, FileType type);
+            std::shared_ptr<gnash::IOChannel> in, FileType type);
 
 protected:
 
-    boost::shared_ptr<IOChannel> _inStream;
+    std::shared_ptr<IOChannel> _inStream;
 
     ImageType _type;
 
@@ -341,7 +341,7 @@ public:
     ///                 is shared.
     /// @param width    The width of the resulting image
     /// @param height   The height of the resulting image.
-    Output(boost::shared_ptr<IOChannel> out, size_t width, size_t height)
+    Output(std::shared_ptr<IOChannel> out, size_t width, size_t height)
         :
         _width(width),
         _height(height),
@@ -373,7 +373,7 @@ public:
     ///                 maxium value. The quality is not used for all
     ///                 formats.
     DSOEXPORT static void writeImageData(FileType type,
-            boost::shared_ptr<gnash::IOChannel> out, const GnashImage& image,
+            std::shared_ptr<gnash::IOChannel> out, const GnashImage& image,
             int quality);
 
 protected:
@@ -382,7 +382,7 @@ protected:
 
     const size_t _height;
     
-    boost::shared_ptr<IOChannel> _outStream;
+    std::shared_ptr<IOChannel> _outStream;
 
 };
 
diff --git a/libbase/GnashImageGif.cpp b/libbase/GnashImageGif.cpp
index 832532e..7b7aa90 100644
--- a/libbase/GnashImageGif.cpp
+++ b/libbase/GnashImageGif.cpp
@@ -58,7 +58,7 @@ public:
     /// @param in   The stream to read GIF data from. Ownership is shared
     ///             between caller and GifInput, so it is freed
     ///             automatically when the last owner is destroyed.
-    GifInput(boost::shared_ptr<IOChannel> in);
+    GifInput(std::shared_ptr<IOChannel> in);
     
     ~GifInput();
 
@@ -110,7 +110,7 @@ private:
 };
 
 
-GifInput::GifInput(boost::shared_ptr<IOChannel> in)
+GifInput::GifInput(std::shared_ptr<IOChannel> in)
     :
     Input(in),
     _gif(0),
@@ -305,7 +305,7 @@ GifInput::read()
 } // unnamed namespace
 
 std::unique_ptr<Input>
-createGifInput(boost::shared_ptr<IOChannel> in)
+createGifInput(std::shared_ptr<IOChannel> in)
 {
     std::unique_ptr<Input> ret(new GifInput(in));
     ret->read();
diff --git a/libbase/GnashImageGif.h b/libbase/GnashImageGif.h
index 6ac5abd..ecf9d63 100644
--- a/libbase/GnashImageGif.h
+++ b/libbase/GnashImageGif.h
@@ -39,7 +39,7 @@ namespace image {
 /// Create a GifInput and transfer ownership to the caller.
 //
 /// @param in   The IOChannel to read GIF data from.
-std::unique_ptr<Input> createGifInput(boost::shared_ptr<IOChannel> in);
+std::unique_ptr<Input> createGifInput(std::shared_ptr<IOChannel> in);
 
 } // namespace image
 } // namespace gnash
diff --git a/libbase/GnashImageJpeg.cpp b/libbase/GnashImageJpeg.cpp
index 5594ea1..e800307 100644
--- a/libbase/GnashImageJpeg.cpp
+++ b/libbase/GnashImageJpeg.cpp
@@ -81,7 +81,7 @@ public:
     jpeg_source_mgr    m_pub;        /* public fields */
 
     // Constructor.
-    explicit rw_source_IOChannel(boost::shared_ptr<IOChannel> in)
+    explicit rw_source_IOChannel(std::shared_ptr<IOChannel> in)
         :
         m_in_stream(in),
         m_start_of_file(true)
@@ -181,7 +181,7 @@ public:
     ///     Stream to read from. Ownership always shared with caller.
     ///
     static void setup(jpeg_decompress_struct* cinfo,
-            boost::shared_ptr<IOChannel> instream)
+            std::shared_ptr<IOChannel> instream)
     {
         rw_source_IOChannel* source = new rw_source_IOChannel(instream);
         cinfo->src = (jpeg_source_mgr*)source;
@@ -203,7 +203,7 @@ private:
     }
 
     // Source stream
-    boost::shared_ptr<IOChannel> m_in_stream;
+    std::shared_ptr<IOChannel> m_in_stream;
     bool m_start_of_file;
     JOCTET m_buffer[IO_BUF_SIZE];
 
@@ -211,7 +211,7 @@ private:
 
 } // unnamed namespace
 
-JpegInput::JpegInput(boost::shared_ptr<IOChannel> in)
+JpegInput::JpegInput(std::shared_ptr<IOChannel> in)
     :
     Input(in),
     _errorOccurred(0),
@@ -560,7 +560,7 @@ private:
 };
 
 
-JpegOutput::JpegOutput(boost::shared_ptr<IOChannel> out, size_t width,
+JpegOutput::JpegOutput(std::shared_ptr<IOChannel> out, size_t width,
         size_t height, int quality)
     :
     Output(out, width, height)
@@ -620,7 +620,7 @@ JpegOutput::writeImageRGBA(const unsigned char* rgbaData)
 }
 
 std::unique_ptr<Output>
-JpegOutput::create(boost::shared_ptr<IOChannel> o, size_t width, size_t height,
+JpegOutput::create(std::shared_ptr<IOChannel> o, size_t width, size_t height,
         int quality)
 {
     std::unique_ptr<Output> outChannel(new JpegOutput(o, width, height, 
quality));
diff --git a/libbase/GnashImageJpeg.h b/libbase/GnashImageJpeg.h
index 1d939a2..846ce8a 100644
--- a/libbase/GnashImageJpeg.h
+++ b/libbase/GnashImageJpeg.h
@@ -68,7 +68,7 @@ public:
     /// @param in   The stream to read JPEG data from. Ownership is shared
     ///             between caller and JpegInput, so it is freed
     ///             automatically when the last owner is destroyed.
-    DSOEXPORT JpegInput(boost::shared_ptr<IOChannel> in);
+    DSOEXPORT JpegInput(std::shared_ptr<IOChannel> in);
 
     /// Read the JPEG header information only.
     //
@@ -118,7 +118,7 @@ public:
     /// Create a JpegInput and transfer ownership to the caller.
     //
     /// @param in   The IOChannel to read JPEG data from.
-    static std::unique_ptr<Input> create(boost::shared_ptr<IOChannel> in)
+    static std::unique_ptr<Input> create(std::shared_ptr<IOChannel> in)
     {
         std::unique_ptr<Input> ret(new JpegInput(in));
         // might throw an exception (I guess)
@@ -143,7 +143,7 @@ public:
     /// @param in               The channel to read JPEG header data from.
     /// @param maxHeaderBytes   The maximum number of bytes to read.
     static std::unique_ptr<JpegInput> createSWFJpeg2HeaderOnly(
-            boost::shared_ptr<IOChannel> in, unsigned int maxHeaderBytes)
+            std::shared_ptr<IOChannel> in, unsigned int maxHeaderBytes)
     {
         std::unique_ptr<JpegInput> ret (new JpegInput(in));
         // might throw an exception
@@ -174,7 +174,7 @@ public:
     /// @param width    The width of the resulting image
     /// @param height   The height of the resulting image.
     /// @param quality  The quality of the created image, from 1-100.
-    JpegOutput(boost::shared_ptr<IOChannel> out, size_t width,
+    JpegOutput(std::shared_ptr<IOChannel> out, size_t width,
             size_t height, int quality);
     
     ~JpegOutput();
@@ -197,7 +197,7 @@ public:
     /// @param width    The width of the resulting image
     /// @param height   The height of the resulting image.
     /// @param quality  The quality of the created image, from 1-100.
-    static std::unique_ptr<Output> create(boost::shared_ptr<IOChannel> out,
+    static std::unique_ptr<Output> create(std::shared_ptr<IOChannel> out,
             size_t width, size_t height, int quality);
     
 private:
diff --git a/libbase/GnashImagePng.cpp b/libbase/GnashImagePng.cpp
index 36e5c7e..837ae2d 100644
--- a/libbase/GnashImagePng.cpp
+++ b/libbase/GnashImagePng.cpp
@@ -91,7 +91,7 @@ public:
     /// @param in   The stream to read PNG data from. Ownership is shared
     ///             between caller and JpegInput, so it is freed
     ///             automatically when the last owner is destroyed.
-    PngInput(boost::shared_ptr<IOChannel> in)
+    PngInput(std::shared_ptr<IOChannel> in)
         :
         Input(in),
         _pngPtr(0),
@@ -155,7 +155,7 @@ public:
     /// @param out      The IOChannel used for output. Must be kept alive
     ///                 throughout
     /// @param quality Unused in PNG output
-    PngOutput(boost::shared_ptr<IOChannel> out, size_t width,
+    PngOutput(std::shared_ptr<IOChannel> out, size_t width,
             size_t height, int quality);
     
     ~PngOutput();
@@ -318,7 +318,7 @@ PngInput::read()
 /// PNG output
 ///
 
-PngOutput::PngOutput(boost::shared_ptr<IOChannel> out, size_t width,
+PngOutput::PngOutput(std::shared_ptr<IOChannel> out, size_t width,
         size_t height, int /*quality*/)
     :
     Output(out, width, height),
@@ -403,7 +403,7 @@ PngOutput::writeImageRGB(const unsigned char* rgbData)
 } // unnamed namespace
 
 std::unique_ptr<Input>
-createPngInput(boost::shared_ptr<IOChannel> in)
+createPngInput(std::shared_ptr<IOChannel> in)
 {
     std::unique_ptr<Input> ret(new PngInput(in));
     ret->read();
@@ -411,7 +411,7 @@ createPngInput(boost::shared_ptr<IOChannel> in)
 }
 
 std::unique_ptr<Output>
-createPngOutput(boost::shared_ptr<IOChannel> o, size_t width,
+createPngOutput(std::shared_ptr<IOChannel> o, size_t width,
                        size_t height, int quality)
 {
     std::unique_ptr<Output> outChannel(new PngOutput(o, width, height, 
quality));
diff --git a/libbase/GnashImagePng.h b/libbase/GnashImagePng.h
index ed3d8c5..9fabef2 100644
--- a/libbase/GnashImagePng.h
+++ b/libbase/GnashImagePng.h
@@ -39,9 +39,9 @@ namespace image {
 /// Create a PngInput and transfer ownership to the caller.
 //
 /// @param in   The IOChannel to read PNG data from.
-std::unique_ptr<Input> createPngInput(boost::shared_ptr<IOChannel> in);
+std::unique_ptr<Input> createPngInput(std::shared_ptr<IOChannel> in);
 
-std::unique_ptr<Output> createPngOutput(boost::shared_ptr<IOChannel> out,
+std::unique_ptr<Output> createPngOutput(std::shared_ptr<IOChannel> out,
         size_t width, size_t height, int quality);
 
 } // namespace image
diff --git a/libbase/GnashVaapiImage.cpp b/libbase/GnashVaapiImage.cpp
index 72b040b..1b66e4b 100644
--- a/libbase/GnashVaapiImage.cpp
+++ b/libbase/GnashVaapiImage.cpp
@@ -40,7 +40,7 @@ static boost::uint64_t get_ticks_usec(void)
 #endif
 }
 
-GnashVaapiImage::GnashVaapiImage(boost::shared_ptr<VaapiSurface> surface,
+GnashVaapiImage::GnashVaapiImage(std::shared_ptr<VaapiSurface> surface,
         image::ImageType type)
     :
     image::GnashImage(NULL, surface->width(), surface->height(), type,
@@ -58,7 +58,7 @@ GnashVaapiImage::~GnashVaapiImage()
           _surface->get());
 }
 
-void GnashVaapiImage::update(boost::shared_ptr<VaapiSurface> surface)
+void GnashVaapiImage::update(std::shared_ptr<VaapiSurface> surface)
 {
     _surface = surface;
     _creation_time = get_ticks_usec();
diff --git a/libbase/GnashVaapiImage.h b/libbase/GnashVaapiImage.h
index 9b2558f..5a99763 100644
--- a/libbase/GnashVaapiImage.h
+++ b/libbase/GnashVaapiImage.h
@@ -35,26 +35,26 @@ class VaapiSurfaceProxy;
 /// GnashImage implementation using a VA surface
 class DSOEXPORT GnashVaapiImage : public image::GnashImage
 {
-    boost::shared_ptr<VaapiSurface> _surface;
+    std::shared_ptr<VaapiSurface> _surface;
     boost::uint64_t _creation_time;
 
     /// Transfer (and convert) VA surface to CPU image data
     bool transfer();
 
 public:
-    GnashVaapiImage(boost::shared_ptr<VaapiSurface> surface,
+    GnashVaapiImage(std::shared_ptr<VaapiSurface> surface,
             image::ImageType type);
     GnashVaapiImage(const GnashVaapiImage& o);
     ~GnashVaapiImage();
 
-    virtual void update(boost::shared_ptr<VaapiSurface> surface);
+    virtual void update(std::shared_ptr<VaapiSurface> surface);
     virtual void update(boost::uint8_t* data);
     virtual void update(const image::GnashImage& from);
 
     /// Get access to the underlying surface
     //
     /// @return     A pointer to the VA surface.
-    boost::shared_ptr<VaapiSurface> surface() const
+    std::shared_ptr<VaapiSurface> surface() const
         { return _surface; }
 
     /// Get access to the underlying data
diff --git a/libbase/GnashVaapiImageProxy.h b/libbase/GnashVaapiImageProxy.h
index fd3c389..ac77e3d 100644
--- a/libbase/GnashVaapiImageProxy.h
+++ b/libbase/GnashVaapiImageProxy.h
@@ -33,10 +33,10 @@ class VaapiSurface;
 /// XXX: call it GnashRenderedVaapiImage instead?
 class DSOEXPORT GnashVaapiImageProxy
 {
-    /* XXX: Should Renderers use boost::shared_ptr<> we could simple
+    /* XXX: Should Renderers use std::shared_ptr<> we could simple
        derive from a GnashImageProxy base that would itself contain a
        shared pointer to the image */
-    boost::shared_ptr<VaapiSurface> _surface;
+    std::shared_ptr<VaapiSurface> _surface;
 
     /// X-position of the rendered image, in pixels
     const int _x;
@@ -63,7 +63,7 @@ public:
     /// Get access to the underlying surface
     //
     /// @return     A pointer to the VA surface.
-    boost::shared_ptr<VaapiSurface> surface() const
+    std::shared_ptr<VaapiSurface> surface() const
         { return _surface; }
 
     /// Get the rendered image's x position
diff --git a/libbase/GnashVaapiTexture.cpp b/libbase/GnashVaapiTexture.cpp
index 69ee528..52d7a51 100644
--- a/libbase/GnashVaapiTexture.cpp
+++ b/libbase/GnashVaapiTexture.cpp
@@ -39,7 +39,7 @@ GnashVaapiTexture::~GnashVaapiTexture()
 {
 }
 
-void GnashVaapiTexture::update(boost::shared_ptr<VaapiSurface> surface)
+void GnashVaapiTexture::update(std::shared_ptr<VaapiSurface> surface)
 {
     _surface->update(surface);
 }
diff --git a/libbase/GnashVaapiTexture.h b/libbase/GnashVaapiTexture.h
index ba2a241..26b6d4a 100644
--- a/libbase/GnashVaapiTexture.h
+++ b/libbase/GnashVaapiTexture.h
@@ -44,7 +44,7 @@ public:
     /// unexpected things will happen.
     ///
     /// @param surface VA surface to copy data from.
-    void update(boost::shared_ptr<VaapiSurface> surface);
+    void update(std::shared_ptr<VaapiSurface> surface);
 };
 
 } // gnash namespace
diff --git a/libbase/RTMP.h b/libbase/RTMP.h
index dc6c536..ef89d76 100644
--- a/libbase/RTMP.h
+++ b/libbase/RTMP.h
@@ -217,7 +217,7 @@ struct RTMPPacket
     //
     /// This always includes at least the header. Storage for the message
     /// payload is added as necessary.
-    boost::shared_ptr<SimpleBuffer> buffer;
+    std::shared_ptr<SimpleBuffer> buffer;
 
     size_t bytesRead;
 };
@@ -413,9 +413,9 @@ struct DSOEXPORT RTMP
     /// TODO: this returns the whole RTMP message, which is ugly. And it
     /// only returns one at time, and can return a null pointer. We need
     /// a better way to retrieve the messages.
-    boost::shared_ptr<SimpleBuffer> getMessage() {
-        if (_messageQueue.empty()) return boost::shared_ptr<SimpleBuffer>();
-        boost::shared_ptr<SimpleBuffer> b = _messageQueue.front();
+    std::shared_ptr<SimpleBuffer> getMessage() {
+        if (_messageQueue.empty()) return std::shared_ptr<SimpleBuffer>();
+        std::shared_ptr<SimpleBuffer> b = _messageQueue.front();
         _messageQueue.pop_front();
         return b;
     }
@@ -425,9 +425,9 @@ struct DSOEXPORT RTMP
     /// TODO: this returns the whole RTMP message, which is ugly. And it
     /// only returns one at time, and can return a null pointer. We need
     /// a better way to retrieve the frames.
-    boost::shared_ptr<SimpleBuffer> getFLVFrame() {
-        if (_flvQueue.empty()) return boost::shared_ptr<SimpleBuffer>();
-        boost::shared_ptr<SimpleBuffer> b = _flvQueue.front();
+    std::shared_ptr<SimpleBuffer> getFLVFrame() {
+        if (_flvQueue.empty()) return std::shared_ptr<SimpleBuffer>();
+        std::shared_ptr<SimpleBuffer> b = _flvQueue.front();
         _flvQueue.pop_front();
         return b;
     }
@@ -513,8 +513,8 @@ private:
     /// A set of channels for sending packets.
     ChannelSet _outChannels;
     
-    std::deque<boost::shared_ptr<SimpleBuffer> > _messageQueue;
-    std::deque<boost::shared_ptr<SimpleBuffer> > _flvQueue;
+    std::deque<std::shared_ptr<SimpleBuffer> > _messageQueue;
+    std::deque<std::shared_ptr<SimpleBuffer> > _flvQueue;
 
     /// Stored server bandwidth (reported by server).
     boost::uint32_t _serverBandwidth;
diff --git a/libcore/ExternalInterface.cpp b/libcore/ExternalInterface.cpp
index 54b749f..34bb0e5 100644
--- a/libcore/ExternalInterface.cpp
+++ b/libcore/ExternalInterface.cpp
@@ -140,12 +140,12 @@ ExternalInterface::_toXML(const as_value &val)
     return ss.str();
 }
 
-boost::shared_ptr<ExternalInterface::invoke_t>
+std::shared_ptr<ExternalInterface::invoke_t>
 ExternalInterface::ExternalEventCheck(int fd)
 {
 //    GNASH_REPORT_FUNCTION;
     
-    boost::shared_ptr<ExternalInterface::invoke_t> error;
+    std::shared_ptr<ExternalInterface::invoke_t> error;
 
     if (fd > 0) {
         int bytes = 0;
@@ -177,10 +177,10 @@ ExternalInterface::ExternalEventCheck(int fd)
 //      </arguments>
 // </invoke>
 //
-boost::shared_ptr<ExternalInterface::invoke_t>
+std::shared_ptr<ExternalInterface::invoke_t>
 ExternalInterface::parseInvoke(const std::string &xml)
 {
-    boost::shared_ptr<ExternalInterface::invoke_t> invoke;
+    std::shared_ptr<ExternalInterface::invoke_t> invoke;
     if (xml.empty()) {
         return invoke;
     }
diff --git a/libcore/ExternalInterface.h b/libcore/ExternalInterface.h
index 7ad0047..7f31874 100644
--- a/libcore/ExternalInterface.h
+++ b/libcore/ExternalInterface.h
@@ -57,9 +57,9 @@ struct DSOEXPORT ExternalInterface
     static std::vector<as_value> parseArguments(const std::string &xml);
 
     // Parse the XML Invoke message.
-    static boost::shared_ptr<invoke_t> parseInvoke(const std::string &str);
+    static std::shared_ptr<invoke_t> parseInvoke(const std::string &str);
     // Check for data from the browser and parse it.
-    DSOEXPORT static boost::shared_ptr<invoke_t> ExternalEventCheck(int fd);
+    DSOEXPORT static std::shared_ptr<invoke_t> ExternalEventCheck(int fd);
 
     // These methods are for constructing Invoke messages.
     // Create an Invoke message for the standalone Gnash
diff --git a/libcore/Font.h b/libcore/Font.h
index 9fdbb3a..0d339df 100644
--- a/libcore/Font.h
+++ b/libcore/Font.h
@@ -237,7 +237,7 @@ public:
 
         GlyphInfo(const GlyphInfo& o);
 
-        boost::shared_ptr<SWF::ShapeRecord> glyph;
+        std::shared_ptr<SWF::ShapeRecord> glyph;
 
         float advance;
     };
@@ -314,7 +314,7 @@ private:
     /// It is a shared_ptr to avoid changing an original
     /// DefineFont2Tag, while allowing this class to take ownership
     /// of CodeTables from a DefineFontInfo tag.
-    boost::shared_ptr<const CodeTable> _embeddedCodeTable; 
+    std::shared_ptr<const CodeTable> _embeddedCodeTable;
 
     /// Code to index table for device glyphs
     CodeTable _deviceCodeTable; 
diff --git a/libcore/RunResources.h b/libcore/RunResources.h
index 1c16cf3..527877e 100644
--- a/libcore/RunResources.h
+++ b/libcore/RunResources.h
@@ -53,7 +53,7 @@ public:
     /// Set the StreamProvider.
     //
     /// This can probably be changed during a run without ill effects.
-    void setStreamProvider(boost::shared_ptr<StreamProvider> sp) {
+    void setStreamProvider(std::shared_ptr<StreamProvider> sp) {
         _streamProvider = sp;
     }
 
@@ -75,7 +75,7 @@ public:
     //
     /// This is cached in various places, so changing it during a run will
     /// lead to unexpected behaviour.
-    void setSoundHandler(boost::shared_ptr<sound::sound_handler> s) {
+    void setSoundHandler(std::shared_ptr<sound::sound_handler> s) {
         _soundHandler = s;
     } 
 
@@ -87,7 +87,7 @@ public:
         return _soundHandler.get();
     }
 
-    void setMediaHandler(boost::shared_ptr<media::MediaHandler> s) {
+    void setMediaHandler(std::shared_ptr<media::MediaHandler> s) {
         _mediaHandler = s;
     }
 
@@ -95,7 +95,7 @@ public:
         return _mediaHandler.get();
     }
 
-    void setRenderer(boost::shared_ptr<Renderer> r) {
+    void setRenderer(std::shared_ptr<Renderer> r) {
         _renderer = r;
     }
 
@@ -108,7 +108,7 @@ public:
     /// This must be present before parsing.
     /// It is a pointer to const so that the same table can be shared between
     /// simultaneous runs if desired.
-    void setTagLoaders(boost::shared_ptr<const SWF::TagLoadersTable> loaders) {
+    void setTagLoaders(std::shared_ptr<const SWF::TagLoadersTable> loaders) {
         _tagLoaders = loaders;
     }
 
@@ -134,15 +134,15 @@ public:
 
 private:
 
-    boost::shared_ptr<StreamProvider> _streamProvider;
+    std::shared_ptr<StreamProvider> _streamProvider;
 
-    boost::shared_ptr<sound::sound_handler> _soundHandler;
+    std::shared_ptr<sound::sound_handler> _soundHandler;
     
-    boost::shared_ptr<media::MediaHandler> _mediaHandler;
+    std::shared_ptr<media::MediaHandler> _mediaHandler;
 
-    boost::shared_ptr<Renderer> _renderer;
+    std::shared_ptr<Renderer> _renderer;
 
-    boost::shared_ptr<const SWF::TagLoadersTable> _tagLoaders;
+    std::shared_ptr<const SWF::TagLoadersTable> _tagLoaders;
 
     /// Whether to ue HW video decoding support, no value means disabled.
     /// The only currently supported values are: none or vaapi.
diff --git a/libcore/Shape.h b/libcore/Shape.h
index 9fa39fc..3bc4b0d 100644
--- a/libcore/Shape.h
+++ b/libcore/Shape.h
@@ -40,7 +40,7 @@ class Shape : public DisplayObject
 
 public:
 
-    Shape(movie_root& mr, as_object* object, boost::shared_ptr<DynamicShape> 
sh,
+    Shape(movie_root& mr, as_object* object, std::shared_ptr<DynamicShape> sh,
             DisplayObject* parent)
         :
         DisplayObject(mr, object, parent),
@@ -70,7 +70,7 @@ private:
        
     const boost::intrusive_ptr<const SWF::DefineShapeTag> _def;
 
-    boost::shared_ptr<DynamicShape> _shape;
+    std::shared_ptr<DynamicShape> _shape;
 
 };
 
diff --git a/libcore/asobj/LocalConnection_as.cpp 
b/libcore/asobj/LocalConnection_as.cpp
index d147f72..794b679 100644
--- a/libcore/asobj/LocalConnection_as.cpp
+++ b/libcore/asobj/LocalConnection_as.cpp
@@ -226,7 +226,7 @@ public:
 
     void connect(const std::string& name);
 
-    void send(boost::shared_ptr<ConnectionData> d)
+    void send(std::shared_ptr<ConnectionData> d)
     {
         assert(d.get());
         VM& vm = getVM(owner());
@@ -250,7 +250,7 @@ private:
 
     SharedMem _shm;
 
-    std::deque<boost::shared_ptr<ConnectionData> > _queue;
+    std::deque<std::shared_ptr<ConnectionData> > _queue;
 
     // The timestamp of our last write to the shared memory.
     boost::uint32_t _lastTime;
@@ -378,7 +378,7 @@ LocalConnection_as::update()
     }
 
     // Get the first buffer.
-    boost::shared_ptr<ConnectionData> cd = _queue.front();
+    std::shared_ptr<ConnectionData> cd = _queue.front();
     _queue.pop_front();
 
     // If the correct listener isn't there, iterate until we find one or
@@ -615,7 +615,7 @@ localconnection_send(const fn_call& fn)
         return as_value(false);
     }
     
-    boost::shared_ptr<ConnectionData> cd(new ConnectionData());
+    std::shared_ptr<ConnectionData> cd(new ConnectionData());
 
     SimpleBuffer& buf = cd->data;
 
diff --git a/libcore/asobj/NetConnection_as.cpp 
b/libcore/asobj/NetConnection_as.cpp
index da627a4..3bce9e9 100644
--- a/libcore/asobj/NetConnection_as.cpp
+++ b/libcore/asobj/NetConnection_as.cpp
@@ -258,10 +258,10 @@ private:
     const URL _url;
 
     /// The queue of sent requests.
-    std::vector<boost::shared_ptr<HTTPRequest> > _requestQueue;
+    std::vector<std::shared_ptr<HTTPRequest> > _requestQueue;
 
     /// The current request.
-    boost::shared_ptr<HTTPRequest> _currentRequest;
+    std::shared_ptr<HTTPRequest> _currentRequest;
     
 };
 
@@ -380,7 +380,7 @@ public:
 
         }
         
-        boost::shared_ptr<SimpleBuffer> b = _rtmp.getMessage();
+        std::shared_ptr<SimpleBuffer> b = _rtmp.getMessage();
 
         if (b && !_nc.isConnected()) {
             _nc.setConnected();
@@ -568,7 +568,7 @@ NetConnection_as::close()
 
     /// Queue the current call queue if it has pending calls
     if (_currentConnection.get() && _currentConnection->hasPendingCalls()) {
-        boost::shared_ptr<Connection> c(_currentConnection.release());
+        std::shared_ptr<Connection> c(_currentConnection.release());
         _oldConnections.push_back(c);
     }
 
@@ -1096,7 +1096,7 @@ HTTPConnection::advance()
     }
 
     // Process all replies and clear finished requests.
-    for (std::vector<boost::shared_ptr<HTTPRequest> >::iterator i = 
+    for (std::vector<std::shared_ptr<HTTPRequest> >::iterator i =
             _requestQueue.begin(); i != _requestQueue.end();) {
         if (!(*i)->process(_nc)) i = _requestQueue.erase(i);
         else ++i;
diff --git a/libcore/asobj/NetConnection_as.h b/libcore/asobj/NetConnection_as.h
index c682015..5d0b9d4 100644
--- a/libcore/asobj/NetConnection_as.h
+++ b/libcore/asobj/NetConnection_as.h
@@ -118,7 +118,7 @@ private:
     /// Extend the URL to be used for playing
     void addToURL(const std::string& url);
 
-    typedef std::list<boost::shared_ptr<Connection> > Connections;
+    typedef std::list<std::shared_ptr<Connection> > Connections;
 
     /// Queue of call groups
     //
diff --git a/libcore/movie_root.cpp b/libcore/movie_root.cpp
index 88da4e3..cf95e37 100644
--- a/libcore/movie_root.cpp
+++ b/libcore/movie_root.cpp
@@ -821,7 +821,7 @@ movie_root::addIntervalTimer(std::unique_ptr<Timer> timer)
 
     assert(_intervalTimers.find(id) == _intervalTimers.end());
 
-    boost::shared_ptr<Timer> addTimer(timer.release());
+    std::shared_ptr<Timer> addTimer(timer.release());
 
     _intervalTimers.insert(std::make_pair(id, addTimer));
 
@@ -1558,7 +1558,7 @@ movie_root::executeAdvanceCallbacks()
     // application. If it is set, we have to check the socket connection
     // for XML messages.
     if (_controlfd > 0) {
-    boost::shared_ptr<ExternalInterface::invoke_t> invoke = 
+    std::shared_ptr<ExternalInterface::invoke_t> invoke =
         ExternalInterface::ExternalEventCheck(_controlfd);
         if (invoke) {
             if (processInvoke(invoke.get()) == false) {
@@ -1711,7 +1711,7 @@ movie_root::executeTimers()
 
     unsigned long now = _vm.getTime();
 
-    typedef std::multimap<unsigned int, boost::shared_ptr<Timer> >
+    typedef std::multimap<unsigned int, std::shared_ptr<Timer> >
         ExpiredTimers;
 
     ExpiredTimers expiredTimers;
@@ -1722,7 +1722,7 @@ movie_root::executeTimers()
         TimerMap::iterator nextIterator = it;
         ++nextIterator;
 
-        boost::shared_ptr<Timer> timer(it->second);
+        std::shared_ptr<Timer> timer(it->second);
 
         if (timer->cleared()) {
             // this timer was cleared, erase it
diff --git a/libcore/movie_root.h b/libcore/movie_root.h
index b403c0e..7ac424d 100644
--- a/libcore/movie_root.h
+++ b/libcore/movie_root.h
@@ -1000,7 +1000,7 @@ private:
 
     LoadCallbacks _loadCallbacks;
     
-    typedef std::map<boost::uint32_t, boost::shared_ptr<Timer> > TimerMap;
+    typedef std::map<boost::uint32_t, std::shared_ptr<Timer> > TimerMap;
 
     TimerMap _intervalTimers;
 
diff --git a/libcore/parser/filter_factory.cpp 
b/libcore/parser/filter_factory.cpp
index c7eb8bb..acb4eb8 100644
--- a/libcore/parser/filter_factory.cpp
+++ b/libcore/parser/filter_factory.cpp
@@ -95,7 +95,7 @@ filter_factory::read(SWFStream& in, bool read_multiple, 
Filters* store)
         }
 
         // Protect against exceptions and such by storing before we read.
-        boost::shared_ptr<BitmapFilter> p(the_filter);
+        std::shared_ptr<BitmapFilter> p(the_filter);
         if (!p->read(in))
         {
             IF_VERBOSE_MALFORMED_SWF(
diff --git a/libcore/parser/filter_factory.h b/libcore/parser/filter_factory.h
index 82e01a8..aa51302 100644
--- a/libcore/parser/filter_factory.h
+++ b/libcore/parser/filter_factory.h
@@ -29,7 +29,7 @@ namespace gnash {
 
 namespace gnash {
 
-typedef std::vector<boost::shared_ptr<BitmapFilter> > Filters;
+typedef std::vector<std::shared_ptr<BitmapFilter> > Filters;
 
 class filter_factory
 {
diff --git a/libcore/swf/DefineBitsTag.cpp b/libcore/swf/DefineBitsTag.cpp
index af38294..018257d 100644
--- a/libcore/swf/DefineBitsTag.cpp
+++ b/libcore/swf/DefineBitsTag.cpp
@@ -176,7 +176,7 @@ jpeg_tables_loader(SWFStream& in, TagType tag, 
movie_definition& m,
         // Anyway the actual reads are limited to currently opened tag as 
         // of gnash::SWFStream::read(), so this is not a problem.
         //
-        boost::shared_ptr<IOChannel> ad(StreamAdapter::getFile(in,
+        std::shared_ptr<IOChannel> ad(StreamAdapter::getFile(in,
                     std::numeric_limits<std::streamsize>::max()).release());
         //  transfer ownership to the image::JpegInput
         input = image::JpegInput::createSWFJpeg2HeaderOnly(ad, jpegHeaderSize);
diff --git a/libcore/swf/DefineFontTag.h b/libcore/swf/DefineFontTag.h
index 660834f..c55074e 100644
--- a/libcore/swf/DefineFontTag.h
+++ b/libcore/swf/DefineFontTag.h
@@ -79,7 +79,7 @@ public:
     /// @return     shared ownership of the tag's Font::CodeTable. This
     ///             may be NULL, which can be checked first with
     ///             hasCodeTable().
-    boost::shared_ptr<const Font::CodeTable> getCodeTable() const {
+    std::shared_ptr<const Font::CodeTable> getCodeTable() const {
         return _codeTable;
     }
 
@@ -150,7 +150,7 @@ private:
        typedef std::map<kerning_pair, boost::int16_t> KerningTable;
        KerningTable _kerningPairs;
 
-    boost::shared_ptr<const Font::CodeTable> _codeTable;
+    std::shared_ptr<const Font::CodeTable> _codeTable;
 };
 
 
diff --git a/libdevice/events/EventDevice.cpp b/libdevice/events/EventDevice.cpp
index 50d579c..cd03438 100644
--- a/libdevice/events/EventDevice.cpp
+++ b/libdevice/events/EventDevice.cpp
@@ -310,7 +310,7 @@ EventDevice::check()
     switch (ev->type) {
       case EV_SYN:
       {
-          boost::shared_ptr<InputDevice::input_data_t> _newdata(new 
InputDevice::input_data_t);
+          std::shared_ptr<InputDevice::input_data_t> _newdata(new 
InputDevice::input_data_t);
 #if 0
           std::copy(_input_data.begin(), _input_data.end(), _newdata.begin());
 #else
@@ -675,7 +675,7 @@ EventDevice::scancode_to_gnash_key(int code, bool shift)
 }
 
 // This looks in the input event devices
-std::vector<boost::shared_ptr<InputDevice> > 
+std::vector<std::shared_ptr<InputDevice> >
 EventDevice::scanForDevices()
 {
     // GNASH_REPORT_FUNCTION;
@@ -683,7 +683,7 @@ EventDevice::scanForDevices()
     struct stat st;
 
     int total = 0;
-    std::vector<boost::shared_ptr<InputDevice> > devices;
+    std::vector<std::shared_ptr<InputDevice> > devices;
     
     // The default path for input event devices.
     char *filespec = strdup("/dev/input/eventX");
@@ -726,8 +726,8 @@ EventDevice::scanForDevices()
                   device_info.vendor, device_info.product,
                   device_info.version);
         close(fd);
-        boost::shared_ptr<InputDevice> dev;
-        dev = boost::shared_ptr<InputDevice>(new EventDevice());
+        std::shared_ptr<InputDevice> dev;
+        dev = std::shared_ptr<InputDevice>(new EventDevice());
         // The Uinput device has no product, vendor, or version data.
         if ((device_info.vendor + device_info.product + device_info.version) > 
0) {
             if (dev->init(filespec, DEFAULT_BUFFER_SIZE)) {
diff --git a/libdevice/events/InputDevice.cpp b/libdevice/events/InputDevice.cpp
index 2edddea..ba8b9db 100644
--- a/libdevice/events/InputDevice.cpp
+++ b/libdevice/events/InputDevice.cpp
@@ -93,7 +93,7 @@ InputDevice::addData(bool pressed, key::code key, int 
modifier, int x, int y)
 {
     // GNASH_REPORT_FUNCTION;
     
-    boost::shared_ptr<input_data_t> _newdata(new input_data_t);
+    std::shared_ptr<input_data_t> _newdata(new input_data_t);
     _newdata->pressed = pressed;
     _newdata->key = key;
     _newdata->modifier = modifier;
@@ -187,15 +187,15 @@ InputDevice::convertAbsCoords(int x, int y, int width, 
int height)
     return coords;
 }
 
-std::vector<boost::shared_ptr<InputDevice> > 
+std::vector<std::shared_ptr<InputDevice> >
 InputDevice::scanForDevices()
 {
     // GNASH_REPORT_FUNCTION;
     
-    std::vector<boost::shared_ptr<InputDevice> > devices;
+    std::vector<std::shared_ptr<InputDevice> > devices;
     
-    std::vector<boost::shared_ptr<InputDevice> > id;
-    std::vector<boost::shared_ptr<InputDevice> >::iterator it;
+    std::vector<std::shared_ptr<InputDevice> > id;
+    std::vector<std::shared_ptr<InputDevice> >::iterator it;
 #ifdef USE_INPUT_EVENTS
     id = EventDevice::scanForDevices();
     for (it=id.begin(); it!=id.end(); ++it) {
diff --git a/libdevice/events/InputDevice.h b/libdevice/events/InputDevice.h
index 837eb70..81619f7 100644
--- a/libdevice/events/InputDevice.h
+++ b/libdevice/events/InputDevice.h
@@ -124,16 +124,16 @@ public:
     virtual bool init(const std::string &filespec, size_t size) = 0;
     virtual bool check() = 0;
 
-    static DSOEXPORT std::vector<boost::shared_ptr<InputDevice> > 
scanForDevices();
+    static DSOEXPORT std::vector<std::shared_ptr<InputDevice> > 
scanForDevices();
     
     InputDevice::devicetype_e getType() { return _type; };
     void setType(InputDevice::devicetype_e x) { _type = x; };
 
     // Read data into the Device input buffer.
     boost::shared_array<boost::uint8_t> readData(size_t size);
-    boost::shared_ptr<input_data_t> popData()
+    std::shared_ptr<input_data_t> popData()
     {
-        boost::shared_ptr<InputDevice::input_data_t> input;
+        std::shared_ptr<InputDevice::input_data_t> input;
         if (_data.size()) {
             // std::cerr << "FIXME: " <<_data.size() << std::endl;
             input = _data.front();
@@ -161,7 +161,7 @@ protected:
     input_data_t        _input_data;
     // These hold the data queue
     boost::scoped_array<boost::uint8_t> _buffer;
-    std::queue<boost::shared_ptr<input_data_t> > _data;
+    std::queue<std::shared_ptr<input_data_t> > _data;
     int                 _screen_width;
     int                 _screen_height;    
 };
@@ -176,7 +176,7 @@ public:
     bool init(const std::string &filespec, size_t size);
     bool check();
 
-    static std::vector<boost::shared_ptr<InputDevice> > scanForDevices();
+    static std::vector<std::shared_ptr<InputDevice> > scanForDevices();
     
     /// Sends a command to the mouse and waits for the response
     bool command(unsigned char cmd, unsigned char *buf, int count);
@@ -198,7 +198,7 @@ public:
 
     void apply_ts_calibration(float* cx, float* cy, int rawx, int rawy);
     
-    static std::vector<boost::shared_ptr<InputDevice> > scanForDevices();
+    static std::vector<std::shared_ptr<InputDevice> > scanForDevices();
 private:
     // Although the value is only set when using a touchscreen, it takes up 
little
     // memory to initialize a pointer to avoid lots of messy ifdefs.
@@ -217,7 +217,7 @@ public:
     gnash::key::code scancode_to_gnash_key(int code, bool shift);
 
     // This looks for all the input event devices.
-    static std::vector<boost::shared_ptr<InputDevice> > scanForDevices();
+    static std::vector<std::shared_ptr<InputDevice> > scanForDevices();
     
 private:
     // Keyboard SHIFT/CTRL/ALT states (left + right)
diff --git a/libdevice/events/MouseDevice.cpp b/libdevice/events/MouseDevice.cpp
index 2ae8c7d..3ef977b 100644
--- a/libdevice/events/MouseDevice.cpp
+++ b/libdevice/events/MouseDevice.cpp
@@ -46,14 +46,14 @@ MouseDevice::~MouseDevice()
     // GNASH_REPORT_FUNCTION;
 }
 
-std::vector<boost::shared_ptr<InputDevice> >
+std::vector<std::shared_ptr<InputDevice> >
 MouseDevice::scanForDevices()
 {
     // GNASH_REPORT_FUNCTION;
 
     struct stat st;
 
-    std::vector<boost::shared_ptr<InputDevice> > devices;
+    std::vector<std::shared_ptr<InputDevice> > devices;
 
     // Look for these files for mouse input
     struct mouse_types {
@@ -99,9 +99,9 @@ MouseDevice::scanForDevices()
             log_debug(_("Found a %s device for mouse input using %s"),
                       debug[mice[i].type], mice[i].filespec);
             
-            boost::shared_ptr<InputDevice> dev;
+            std::shared_ptr<InputDevice> dev;
 #if defined(USE_MOUSE_PS2) || defined(USE_MOUSE_ETT)
-            dev = boost::shared_ptr<InputDevice>(new MouseDevice());
+            dev = std::shared_ptr<InputDevice>(new MouseDevice());
             // The User Mode Mouse is write only, so we don't consider
             // it an input device.
             dev->setType(mice[i].type);
diff --git a/libdevice/events/TouchDevice.cpp b/libdevice/events/TouchDevice.cpp
index 61383d7..2e7d936 100644
--- a/libdevice/events/TouchDevice.cpp
+++ b/libdevice/events/TouchDevice.cpp
@@ -267,14 +267,14 @@ TouchDevice::apply_ts_calibration(float* cx, float* cy, 
int rawx, int rawy)
     *cy = d * rawx + e * rawy + f;
 }
 
-std::vector<boost::shared_ptr<InputDevice> >
+std::vector<std::shared_ptr<InputDevice> >
 TouchDevice::scanForDevices()
 {
     // GNASH_REPORT_FUNCTION;
 
     struct stat st;
 
-    std::vector<boost::shared_ptr<InputDevice> > devices;
+    std::vector<std::shared_ptr<InputDevice> > devices;
 
     // Debug strings to make output more readable
     const char *debug[] = {
@@ -317,8 +317,8 @@ TouchDevice::scanForDevices()
             close(fd);
             log_debug("Found a %s device for touchscreen input using %s",
                       debug[touch[i].type], touch[i].filespec);
-            boost::shared_ptr<InputDevice> dev
-                = boost::shared_ptr<InputDevice>(new TouchDevice());
+            std::shared_ptr<InputDevice> dev
+                = std::shared_ptr<InputDevice>(new TouchDevice());
             if (dev->init(touch[i].filespec, DEFAULT_BUFFER_SIZE)) {
                 devices.push_back(dev);
             }
diff --git a/libdevice/vaapi/VaapiContext.cpp b/libdevice/vaapi/VaapiContext.cpp
index 050afd1..70b422a 100644
--- a/libdevice/vaapi/VaapiContext.cpp
+++ b/libdevice/vaapi/VaapiContext.cpp
@@ -236,9 +236,9 @@ bool VaapiContext::initDecoder(unsigned int width, unsigned 
int height)
 }
 
 /// Get a free surface
-boost::shared_ptr<VaapiSurface> VaapiContext::acquireSurface()
+std::shared_ptr<VaapiSurface> VaapiContext::acquireSurface()
 {
-    boost::shared_ptr<VaapiSurface> surface = _surfaces.front();
+    std::shared_ptr<VaapiSurface> surface = _surfaces.front();
     _surfaces.pop();
     log_debug("VaapiContext::acquireSurface(): surface 0x%08x\n", 
surface->get());
 
@@ -246,7 +246,7 @@ boost::shared_ptr<VaapiSurface> 
VaapiContext::acquireSurface()
 }
 
 /// Release surface
-void VaapiContext::releaseSurface(boost::shared_ptr<VaapiSurface> surface)
+void VaapiContext::releaseSurface(std::shared_ptr<VaapiSurface> surface)
 {
     log_debug("VaapiContext::releaseSurface(): surface 0x%08x\n", 
surface->get());
     _surfaces.push(surface);
diff --git a/libdevice/vaapi/VaapiContext.h b/libdevice/vaapi/VaapiContext.h
index e646693..8d9de72 100644
--- a/libdevice/vaapi/VaapiContext.h
+++ b/libdevice/vaapi/VaapiContext.h
@@ -49,7 +49,7 @@ public:
 
 /// VA context abstraction
 class DSOEXPORT VaapiContext {
-    typedef boost::shared_ptr<VaapiSurface> VaapiSurfaceSP;
+    typedef std::shared_ptr<VaapiSurface> VaapiSurfaceSP;
     
     VADisplay                           _display;
     VAConfigID                          _config;
@@ -78,10 +78,10 @@ public:
     VAContextID get() const { return _context; }
 
     /// Get a free surface
-    boost::shared_ptr<VaapiSurface> acquireSurface();
+    std::shared_ptr<VaapiSurface> acquireSurface();
 
     /// Release surface
-    void releaseSurface(boost::shared_ptr<VaapiSurface> surface);
+    void releaseSurface(std::shared_ptr<VaapiSurface> surface);
 
     /// Set user data
     void setData(std::unique_ptr<VaapiContextData> user_data) { _user_data = 
user_data; }
diff --git a/libdevice/vaapi/VaapiSubpicture.cpp 
b/libdevice/vaapi/VaapiSubpicture.cpp
index 227a05a..4a18938 100644
--- a/libdevice/vaapi/VaapiSubpicture.cpp
+++ b/libdevice/vaapi/VaapiSubpicture.cpp
@@ -28,7 +28,7 @@
 
 namespace gnash {
 
-VaapiSubpicture::VaapiSubpicture(boost::shared_ptr<VaapiImage> image)
+VaapiSubpicture::VaapiSubpicture(std::shared_ptr<VaapiImage> image)
     : _image(image)
     , _subpicture(VA_INVALID_ID)
 {
diff --git a/libdevice/vaapi/VaapiSubpicture.h 
b/libdevice/vaapi/VaapiSubpicture.h
index f730331..958158a 100644
--- a/libdevice/vaapi/VaapiSubpicture.h
+++ b/libdevice/vaapi/VaapiSubpicture.h
@@ -34,7 +34,7 @@ class VaapiImage;
 /// VA subpicture abstraction
 class DSOEXPORT VaapiSubpicture
 {
-    boost::shared_ptr<VaapiImage>       _image;
+    std::shared_ptr<VaapiImage>       _image;
     VASubpictureID                      _subpicture;
 
     /// Create VA subpicture
@@ -44,7 +44,7 @@ class DSOEXPORT VaapiSubpicture
     void destroy();
 
 public:
-    VaapiSubpicture(boost::shared_ptr<VaapiImage> image);
+    VaapiSubpicture(std::shared_ptr<VaapiImage> image);
     ~VaapiSubpicture();
 
     /// Return VA subpicture id
diff --git a/libdevice/vaapi/VaapiSurface.cpp b/libdevice/vaapi/VaapiSurface.cpp
index 7a16495..3e16b25 100644
--- a/libdevice/vaapi/VaapiSurface.cpp
+++ b/libdevice/vaapi/VaapiSurface.cpp
@@ -141,14 +141,14 @@ void VaapiSurface::clear()
 }
 
 // Compare two subpictures
-static inline bool operator== (boost::shared_ptr<VaapiSubpicture> const &a,
-                               boost::shared_ptr<VaapiSubpicture> const &b)
+static inline bool operator== (std::shared_ptr<VaapiSubpicture> const &a,
+                               std::shared_ptr<VaapiSubpicture> const &b)
 {
     return a->get() == b->get();
 }
 
 // Associate subpicture to the surface
-bool VaapiSurface::associateSubpicture(boost::shared_ptr<VaapiSubpicture> 
subpicture,
+bool VaapiSurface::associateSubpicture(std::shared_ptr<VaapiSubpicture> 
subpicture,
                                        VaapiRectangle const & src_rect,
                                        VaapiRectangle const & dst_rect)
 {
@@ -177,9 +177,9 @@ bool 
VaapiSurface::associateSubpicture(boost::shared_ptr<VaapiSubpicture> subpic
 }
 
 // Deassociate subpicture from the surface
-bool VaapiSurface::deassociateSubpicture(boost::shared_ptr<VaapiSubpicture> 
subpicture)
+bool VaapiSurface::deassociateSubpicture(std::shared_ptr<VaapiSubpicture> 
subpicture)
 {
-    std::vector< boost::shared_ptr<VaapiSubpicture> >::iterator it;
+    std::vector< std::shared_ptr<VaapiSubpicture> >::iterator it;
     it = std::find(_subpictures.begin(), _subpictures.end(), subpicture);
     if (it == _subpictures.end()) {
         return false;
diff --git a/libdevice/vaapi/VaapiSurface.h b/libdevice/vaapi/VaapiSurface.h
index bd2125d..551bd55 100644
--- a/libdevice/vaapi/VaapiSurface.h
+++ b/libdevice/vaapi/VaapiSurface.h
@@ -67,7 +67,7 @@ public:
 class DSOEXPORT VaapiSurface
 {
     std::unique_ptr<VaapiSurfaceImplBase> _impl;
-    std::vector< boost::shared_ptr<VaapiSubpicture> > _subpictures;
+    std::vector< std::shared_ptr<VaapiSubpicture> > _subpictures;
 
     friend class VaapiContext;
     VaapiContext *_context;
@@ -94,12 +94,12 @@ public:
     void clear();
 
     /// Associate subpicture to the surface
-    bool associateSubpicture(boost::shared_ptr<VaapiSubpicture> subpicture,
+    bool associateSubpicture(std::shared_ptr<VaapiSubpicture> subpicture,
                              VaapiRectangle const & src_rect,
                              VaapiRectangle const & dst_rect);
 
     /// Deassociate subpicture from the surface
-    bool deassociateSubpicture(boost::shared_ptr<VaapiSubpicture> subpicture);
+    bool deassociateSubpicture(std::shared_ptr<VaapiSubpicture> subpicture);
 };
 
 } // gnash namespace
diff --git a/libdevice/vaapi/VaapiSurfaceGLX.cpp 
b/libdevice/vaapi/VaapiSurfaceGLX.cpp
index 96e6b8d..486142f 100644
--- a/libdevice/vaapi/VaapiSurfaceGLX.cpp
+++ b/libdevice/vaapi/VaapiSurfaceGLX.cpp
@@ -146,7 +146,7 @@ public:
     VaapiSurfaceGLXImpl(GLenum target, GLuint texture);
     ~VaapiSurfaceGLXImpl();
 
-    bool update(boost::shared_ptr<VaapiSurface> surface);
+    bool update(std::shared_ptr<VaapiSurface> surface);
 };
 
 VaapiSurfaceGLXImpl::VaapiSurfaceGLXImpl(GLenum target, GLuint texture)
@@ -201,7 +201,7 @@ VaapiSurfaceGLXImpl::~VaapiSurfaceGLXImpl()
     reset(0);
 }
 
-bool VaapiSurfaceGLXImpl::update(boost::shared_ptr<VaapiSurface> surface)
+bool VaapiSurfaceGLXImpl::update(std::shared_ptr<VaapiSurface> surface)
 {
     GNASH_REPORT_FUNCTION;
 
@@ -233,7 +233,7 @@ VaapiSurfaceGLX::VaapiSurfaceGLX(GLenum target, GLuint 
texture)
 {
 }
 
-bool VaapiSurfaceGLX::update(boost::shared_ptr<VaapiSurface> surface)
+bool VaapiSurfaceGLX::update(std::shared_ptr<VaapiSurface> surface)
 {
     log_debug(_("VaapiSurfaceGLX::update(): from surface 0x%08x\n"), 
surface->get());
 
diff --git a/libdevice/vaapi/VaapiSurfaceGLX.h 
b/libdevice/vaapi/VaapiSurfaceGLX.h
index 81d23b0..8262880 100644
--- a/libdevice/vaapi/VaapiSurfaceGLX.h
+++ b/libdevice/vaapi/VaapiSurfaceGLX.h
@@ -46,7 +46,7 @@ public:
     unsigned int height() const { return _impl->height(); }
 
     /// Update VA/GLX surface from VA surface
-    bool update(boost::shared_ptr<VaapiSurface> surface);
+    bool update(std::shared_ptr<VaapiSurface> surface);
 };
 
 } // gnash namespace
diff --git a/libdevice/vaapi/VaapiSurfaceProxy.cpp 
b/libdevice/vaapi/VaapiSurfaceProxy.cpp
index 8972587..84d3988 100644
--- a/libdevice/vaapi/VaapiSurfaceProxy.cpp
+++ b/libdevice/vaapi/VaapiSurfaceProxy.cpp
@@ -24,8 +24,8 @@
 
 namespace gnash {
 
-VaapiSurfaceProxy::VaapiSurfaceProxy(boost::shared_ptr<VaapiSurface> surface,
-                                     boost::shared_ptr<VaapiContext> context)
+VaapiSurfaceProxy::VaapiSurfaceProxy(std::shared_ptr<VaapiSurface> surface,
+                                     std::shared_ptr<VaapiContext> context)
     : _context(context), _surface(surface)
 {
     log_debug(_("VaapiSurfaceProxy::VaapiSurfaceProxy(): surface 0x%08x\n"), 
_surface->get());
diff --git a/libdevice/vaapi/VaapiSurfaceProxy.h 
b/libdevice/vaapi/VaapiSurfaceProxy.h
index 07fbb1c..4cd53ee 100644
--- a/libdevice/vaapi/VaapiSurfaceProxy.h
+++ b/libdevice/vaapi/VaapiSurfaceProxy.h
@@ -31,19 +31,19 @@ class VaapiImage;
 
 /// VA surface proxy used to release surface to context
 class DSOEXPORT VaapiSurfaceProxy {
-    boost::shared_ptr<VaapiContext> _context;
-    boost::shared_ptr<VaapiSurface> _surface;
+    std::shared_ptr<VaapiContext> _context;
+    std::shared_ptr<VaapiSurface> _surface;
 
 public:
-    VaapiSurfaceProxy(boost::shared_ptr<VaapiSurface> surface,
-                      boost::shared_ptr<VaapiContext> context);
+    VaapiSurfaceProxy(std::shared_ptr<VaapiSurface> surface,
+                      std::shared_ptr<VaapiContext> context);
     ~VaapiSurfaceProxy();
 
     /// Return VA surface
-    boost::shared_ptr<VaapiSurface> get() const { return _surface; }
+    std::shared_ptr<VaapiSurface> get() const { return _surface; }
 
     /// Return VA context
-    boost::shared_ptr<VaapiContext> getContext() const  { return _context; }
+    std::shared_ptr<VaapiContext> getContext() const  { return _context; }
 };
 
 } // gnash namespace
diff --git a/libmedia/ffmpeg/VideoDecoderFfmpegVaapi.h 
b/libmedia/ffmpeg/VideoDecoderFfmpegVaapi.h
index 25e8a95..c8bea64 100644
--- a/libmedia/ffmpeg/VideoDecoderFfmpegVaapi.h
+++ b/libmedia/ffmpeg/VideoDecoderFfmpegVaapi.h
@@ -44,8 +44,8 @@ class VaapiSurfaceFfmpeg : public VaapiSurfaceProxy {
     unsigned int _pic_num;
 
 public:
-    VaapiSurfaceFfmpeg(boost::shared_ptr<VaapiSurface> surface,
-                       boost::shared_ptr<VaapiContext> context)
+    VaapiSurfaceFfmpeg(std::shared_ptr<VaapiSurface> surface,
+                       std::shared_ptr<VaapiContext> context)
         : VaapiSurfaceProxy(surface, context), _pic_num(0)
         { }
 
@@ -65,7 +65,7 @@ static inline VaapiSurfaceFfmpeg *vaapi_get_surface(const 
AVFrame *pic)
 
 /// VA context implementation for FFmpeg
 class VaapiContextFfmpeg : public vaapi_context {
-    boost::shared_ptr<VaapiContext> _context;
+    std::shared_ptr<VaapiContext> _context;
 
 public:
     VaapiContextFfmpeg(enum CODECID codec_id);
diff --git a/librender/Renderer.h b/librender/Renderer.h
index 0f3d1e8..7658001 100644
--- a/librender/Renderer.h
+++ b/librender/Renderer.h
@@ -348,7 +348,7 @@ public:
     /// ==================================================================
 
     ///@{
-    typedef boost::shared_ptr<GnashVaapiImageProxy> RenderImage;
+    typedef std::shared_ptr<GnashVaapiImageProxy> RenderImage;
     typedef std::vector<RenderImage> RenderImages;
 
     // Get first render image
@@ -447,7 +447,7 @@ public:
         return false; // avoid compiler warning        
     }
 
-    void addRenderImage(boost::shared_ptr<GnashVaapiImageProxy> image) {
+    void addRenderImage(std::shared_ptr<GnashVaapiImageProxy> image) {
         _render_images.push_back(image);
     }
     
diff --git a/librender/agg/Renderer_agg.cpp b/librender/agg/Renderer_agg.cpp
index ed4d0bf..8c800cd 100644
--- a/librender/agg/Renderer_agg.cpp
+++ b/librender/agg/Renderer_agg.cpp
@@ -692,7 +692,7 @@ public:
         return new agg_bitmap_info(std::move(im));
     }
 
-    virtual void renderToImage(boost::shared_ptr<IOChannel> io,
+    virtual void renderToImage(std::shared_ptr<IOChannel> io,
             FileType type, int quality) const
     {
         image::ImageRGBA im(xres, yres);
diff --git a/librender/opengl/Renderer_ogl.cpp 
b/librender/opengl/Renderer_ogl.cpp
index 86c5b16..fc6d289 100644
--- a/librender/opengl/Renderer_ogl.cpp
+++ b/librender/opengl/Renderer_ogl.cpp
@@ -782,9 +782,9 @@ public:
       }
   }
 
-  boost::shared_ptr<GnashTexture> getCachedTexture(image::GnashImage *frame)
+  std::shared_ptr<GnashTexture> getCachedTexture(image::GnashImage *frame)
   {
-      boost::shared_ptr<GnashTexture> texture;
+      std::shared_ptr<GnashTexture> texture;
       GnashTextureFormat frameFormat(frame->type());
       unsigned int frameFlags;
 
@@ -803,7 +803,7 @@ public:
       }
 
       // Look for a texture with the same dimensions and type
-      std::list< boost::shared_ptr<GnashTexture> >::iterator it;
+      std::list< std::shared_ptr<GnashTexture> >::iterator it;
       for (it = _cached_textures.begin(); it != _cached_textures.end(); ++it) {
           if ((*it)->width() == frame->width() &&
               (*it)->height() == frame->height() &&
@@ -871,7 +871,7 @@ public:
 
     glEndList();
 
-    boost::shared_ptr<GnashTexture> texture = getCachedTexture(frame);
+    std::shared_ptr<GnashTexture> texture = getCachedTexture(frame);
     if (!texture.get())
         return;
 
@@ -908,7 +908,7 @@ public:
   }
 
 private:  
-  void reallyDrawVideoFrame(boost::shared_ptr<GnashTexture> texture, const 
SWFMatrix* m, const SWFRect* bounds)
+  void reallyDrawVideoFrame(std::shared_ptr<GnashTexture> texture, const 
SWFMatrix* m, const SWFRect* bounds)
   {
     glPushAttrib(GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT);
     glPushMatrix();
@@ -1838,8 +1838,8 @@ private:
   bool _drawing_mask;
   
   std::vector<boost::uint8_t> _render_indices;
-  std::vector< boost::shared_ptr<GnashTexture> > _render_textures;
-  std::list< boost::shared_ptr<GnashTexture> > _cached_textures;
+  std::vector< std::shared_ptr<GnashTexture> > _render_textures;
+  std::list< std::shared_ptr<GnashTexture> > _cached_textures;
   
 #ifdef OSMESA_TESTING
   std::unique_ptr<OSRenderMesa> _offscreen;
diff --git a/librender/testr.cpp b/librender/testr.cpp
index 8e437e5..8f10c14 100644
--- a/librender/testr.cpp
+++ b/librender/testr.cpp
@@ -618,7 +618,7 @@ test_iterators(Renderer *renderer, const std::string &type)
     }
     
 #if 0
-    typedef boost::shared_ptr<GnashVaapiImageProxy> RenderImage;
+    typedef std::shared_ptr<GnashVaapiImageProxy> RenderImage;
     typedef std::vector<RenderImage> RenderImages;
 
     // Get first render image
diff --git a/plugin/npapi/external.cpp b/plugin/npapi/external.cpp
index 6648054..2a8e655 100644
--- a/plugin/npapi/external.cpp
+++ b/plugin/npapi/external.cpp
@@ -200,10 +200,10 @@ ExternalInterface::makeObject (std::map<std::string, 
std::string> &args)
 //              <number>135.78</number>
 //      </arguments>
 // </invoke>
-boost::shared_ptr<ExternalInterface::invoke_t>
+std::shared_ptr<ExternalInterface::invoke_t>
 ExternalInterface::parseInvoke(const std::string &xml)
 {
-    boost::shared_ptr<ExternalInterface::invoke_t> invoke;
+    std::shared_ptr<ExternalInterface::invoke_t> invoke;
     if (xml.empty()) {
         return invoke;
     }
diff --git a/plugin/npapi/external.h b/plugin/npapi/external.h
index 57f7014..43110f0 100644
--- a/plugin/npapi/external.h
+++ b/plugin/npapi/external.h
@@ -62,7 +62,7 @@ struct ExternalInterface
     static std::string makeObject (std::map<std::string, std::string> &args);
     
     static GnashNPVariant parseXML(const std::string &xml);
-    static boost::shared_ptr<invoke_t> parseInvoke(const std::string &xml);
+    static std::shared_ptr<invoke_t> parseInvoke(const std::string &xml);
     
     static std::map<std::string, GnashNPVariant> parseProperties(const 
std::string &xml);
     static std::vector<GnashNPVariant> parseArguments(const std::string &xml);
diff --git a/plugin/npapi/plugin.cpp b/plugin/npapi/plugin.cpp
index 5dcb5b1..f507d5d 100644
--- a/plugin/npapi/plugin.cpp
+++ b/plugin/npapi/plugin.cpp
@@ -821,7 +821,7 @@ nsPluginInstance::processPlayerRequest()
          
         // Extract a message from the packet
         std::string msg = packet.substr(0, pos + term.size());
-        boost::shared_ptr<plugin::ExternalInterface::invoke_t> invoke =
+        std::shared_ptr<plugin::ExternalInterface::invoke_t> invoke =
             plugin::ExternalInterface::parseInvoke(msg);
 
         // drop the parsed message from the packet
@@ -1073,7 +1073,7 @@ nsPluginInstance::getDocumentProp(const std::string& 
propname) const
         return rv;
     }
 
-    boost::shared_ptr<NPObject> window_obj(windowobj, NPN_ReleaseObject);
+    std::shared_ptr<NPObject> window_obj(windowobj, NPN_ReleaseObject);
   
     NPIdentifier doc_id = NPN_GetStringIdentifier("document");
 
@@ -1082,7 +1082,7 @@ nsPluginInstance::getDocumentProp(const std::string& 
propname) const
         return rv;
     }
 
-    boost::shared_ptr<NPVariant> doc_var(&docvar, NPN_ReleaseVariantValue);
+    std::shared_ptr<NPVariant> doc_var(&docvar, NPN_ReleaseVariantValue);
 
     if (!NPVARIANT_IS_OBJECT(docvar)) {
         return rv;
@@ -1097,7 +1097,7 @@ nsPluginInstance::getDocumentProp(const std::string& 
propname) const
         return rv;
     }
 
-    boost::shared_ptr<NPVariant> prop_var(&propvar, NPN_ReleaseVariantValue);
+    std::shared_ptr<NPVariant> prop_var(&propvar, NPN_ReleaseVariantValue);
 
     if (!NPVARIANT_IS_STRING(propvar)) {
         return rv;
diff --git a/plugin/npapi/test.cpp b/plugin/npapi/test.cpp
index 3498157..1eb2367 100644
--- a/plugin/npapi/test.cpp
+++ b/plugin/npapi/test.cpp
@@ -281,7 +281,7 @@ main(int , char **)
 
     // Parse an invoke message
     xml = "<invoke name=\"barbyfoo\" 
returntype=\"xml\"><arguments><string>barfoo</string><number>135.78</number></arguments></invoke>";
-    boost::shared_ptr<plugin::ExternalInterface::invoke_t> invoke ( 
plugin::ExternalInterface::parseInvoke(xml) );
+    std::shared_ptr<plugin::ExternalInterface::invoke_t> invoke ( 
plugin::ExternalInterface::parseInvoke(xml) );
     str = NPStringToString(NPVARIANT_TO_STRING(invoke->args[0].get()));
     if ((invoke->name == "barbyfoo") && (invoke->type == "xml")
         && (NPVARIANT_IS_STRING(invoke->args[0].get()))
diff --git a/testsuite/MovieTester.cpp b/testsuite/MovieTester.cpp
index 61636c5..81ff2dd 100644
--- a/testsuite/MovieTester.cpp
+++ b/testsuite/MovieTester.cpp
@@ -107,12 +107,12 @@ MovieTester::MovieTester(const std::string& url)
     _runResources->setMediaHandler(_mediaHandler);
 #endif
     
-    boost::shared_ptr<SWF::TagLoadersTable> loaders(new 
SWF::TagLoadersTable());
+    std::shared_ptr<SWF::TagLoadersTable> loaders(new SWF::TagLoadersTable());
     addDefaultLoaders(*loaders);
     
     _runResources->setTagLoaders(loaders);
     
-    boost::shared_ptr<StreamProvider> sp(new StreamProvider(url, url));
+    std::shared_ptr<StreamProvider> sp(new StreamProvider(url, url));
 
     _runResources->setStreamProvider(sp);
 
@@ -172,7 +172,7 @@ MovieTester::MovieTester(const std::string& url)
 }
     
 void
-MovieTester::render(boost::shared_ptr<Renderer> h,
+MovieTester::render(std::shared_ptr<Renderer> h,
                    InvalidatedRanges& invalidated_regions) 
 {
     
@@ -538,7 +538,7 @@ MovieTester::soundsStopped()
 void
 MovieTester::initTestingRenderers()
 {
-    boost::shared_ptr<Renderer> handler;
+    std::shared_ptr<Renderer> handler;
     
     // TODO: add support for testing multiple renderers
     // This is tricky as requires changes in the core lib
@@ -581,7 +581,7 @@ MovieTester::initTestingRenderers()
 }
 
 void
-MovieTester::addTestingRenderer(boost::shared_ptr<Renderer> h,
+MovieTester::addTestingRenderer(std::shared_ptr<Renderer> h,
         const std::string& name)
 {
     if ( ! h->initTestBuffer(_width, _height) )        {
diff --git a/testsuite/MovieTester.h b/testsuite/MovieTester.h
index d36a7a4..130b4c5 100644
--- a/testsuite/MovieTester.h
+++ b/testsuite/MovieTester.h
@@ -77,7 +77,7 @@ class TestingRenderer
 
 public:
 
-       TestingRenderer(boost::shared_ptr<Renderer> renderer,
+       TestingRenderer(std::shared_ptr<Renderer> renderer,
             const std::string& name)
                :
                _name(name),
@@ -87,12 +87,12 @@ public:
        const std::string& getName() const { return _name; }
 
        /// Return the underlying render handler
-    boost::shared_ptr<Renderer> getRenderer() const { return _renderer; }
+    std::shared_ptr<Renderer> getRenderer() const { return _renderer; }
 
 private:
 
        std::string _name;
-    boost::shared_ptr<Renderer> _renderer;
+    std::shared_ptr<Renderer> _renderer;
 };
 
 /// An utility class for testing movie playback
@@ -348,21 +348,21 @@ private:
        /// @param invalidated
        ///     The invalidated ranges as computed by the core lib.
        ///
-       void render(boost::shared_ptr<Renderer> renderer,
+       void render(std::shared_ptr<Renderer> renderer,
             InvalidatedRanges& invalidated);
 
        /// Add a testing renderer to the list, initializing it with current
     //viewport size
-       void addTestingRenderer(boost::shared_ptr<Renderer> h,
+       void addTestingRenderer(std::shared_ptr<Renderer> h,
             const std::string& name);
 
        gnash::movie_root* _movie_root;
 
        boost::intrusive_ptr<gnash::movie_definition> _movie_def;
 
-    boost::shared_ptr<sound::sound_handler> _sound_handler;
+    std::shared_ptr<sound::sound_handler> _sound_handler;
 
-    boost::shared_ptr<media::MediaHandler> _mediaHandler;
+    std::shared_ptr<media::MediaHandler> _mediaHandler;
 
     std::unique_ptr<RunResources> _runResources;
        /// Current pointer position - X ordinate
diff --git a/testsuite/libcore.all/AsValueTest.cpp 
b/testsuite/libcore.all/AsValueTest.cpp
index 233cac5..0586d40 100644
--- a/testsuite/libcore.all/AsValueTest.cpp
+++ b/testsuite/libcore.all/AsValueTest.cpp
@@ -105,7 +105,7 @@ trymain(int argc, char *argv[])
 
     const URL url("");
     runResources.setStreamProvider(
-            boost::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
+            std::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
 
     // Create a bogus movie with swf version 7 support
     movie_definition* md = new DummyMovieDefinition(runResources, 7);
diff --git a/testsuite/libcore.all/ClassSizes.cpp 
b/testsuite/libcore.all/ClassSizes.cpp
index 91cab74..2713f04 100644
--- a/testsuite/libcore.all/ClassSizes.cpp
+++ b/testsuite/libcore.all/ClassSizes.cpp
@@ -74,7 +74,7 @@ using namespace gnash::SWF;
 #define TYPES \
 (int) (float) (long) (double) \
 (Property*) (unique_ptr<Property>) (scoped_ptr<Property>) \
-(boost::shared_ptr<Property>) (intrusive_ptr<as_object>) (GcResource) \
+(std::shared_ptr<Property>) (intrusive_ptr<as_object>) (GcResource) \
 (rgba) (SWFMatrix) (SWFRect) (LineStyle) (FillStyle) (SWFCxForm) \
 (as_value) \
 (DynamicShape)(ShapeRecord)(TextRecord) \
diff --git a/testsuite/libcore.all/DisplayListTest.cpp 
b/testsuite/libcore.all/DisplayListTest.cpp
index ed07372..dcc6328 100644
--- a/testsuite/libcore.all/DisplayListTest.cpp
+++ b/testsuite/libcore.all/DisplayListTest.cpp
@@ -55,7 +55,7 @@ trymain(int /*argc*/, char** /*argv*/)
     RunResources ri;
     const URL url("");
     ri.setStreamProvider(
-            boost::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
+            std::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
     
     // Initialize a VM
     boost::intrusive_ptr<movie_definition> md5(new DummyMovieDefinition(ri, 
5));
diff --git a/testsuite/libcore.all/PropertyListTest.cpp 
b/testsuite/libcore.all/PropertyListTest.cpp
index ad85b10..641dcf6 100644
--- a/testsuite/libcore.all/PropertyListTest.cpp
+++ b/testsuite/libcore.all/PropertyListTest.cpp
@@ -69,7 +69,7 @@ trymain(int /*argc*/, char** /*argv*/)
     RunResources runResources;
     const URL url("");
     runResources.setStreamProvider(
-            boost::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
+            std::shared_ptr<StreamProvider>(new StreamProvider(url, url)));
        
     boost::intrusive_ptr<movie_definition> md5(
             new DummyMovieDefinition(runResources, 5));
diff --git a/testsuite/libdevice.all/test_events.cpp 
b/testsuite/libdevice.all/test_events.cpp
index 61f61bc..bc6b0c4 100644
--- a/testsuite/libdevice.all/test_events.cpp
+++ b/testsuite/libdevice.all/test_events.cpp
@@ -67,7 +67,7 @@ main(int argc, char *argv[])
     sigaction (SIGALRM, &act, NULL);
 
     bool loop = false;
-    std::vector<boost::shared_ptr<InputDevice> > inputs
+    std::vector<std::shared_ptr<InputDevice> > inputs
         = InputDevice::scanForDevices();
     cerr << "Found " << inputs.size() << " input devices" << endl;
     if (inputs.empty()) {
@@ -77,11 +77,11 @@ main(int argc, char *argv[])
         loop = true;
     }    
     
-    std::vector<boost::shared_ptr<InputDevice> >::iterator it;
+    std::vector<std::shared_ptr<InputDevice> >::iterator it;
     
     // check input devices
     for (it = inputs.begin(); it != inputs.end(); ++it) {
-        boost::shared_ptr<InputDevice> id = *it;
+        std::shared_ptr<InputDevice> id = *it;
         cerr << "Found " << id->id() << " device" << endl;
         if (id->init()) {
             runtest.pass("InputDevice::init()");
@@ -96,13 +96,13 @@ main(int argc, char *argv[])
     
     // This loops endlessly at the frame rate
     while (loop) {  
-        std::vector<boost::shared_ptr<InputDevice> >::iterator it;
+        std::vector<std::shared_ptr<InputDevice> >::iterator it;
         // // check input devices
         for (it = inputs.begin(); it != inputs.end(); ++it) {
-            boost::shared_ptr<InputDevice> id = *it;
+            std::shared_ptr<InputDevice> id = *it;
             if (id->check()) {
                 // FIXME: process the input data
-                boost::shared_ptr<InputDevice::input_data_t> ie = 
id->popData();
+                std::shared_ptr<InputDevice::input_data_t> ie = id->popData();
 #if 0
                 if (ie) {
                     cerr << "Got data: " << ie->pressed;
diff --git a/utilities/flvdumper.cpp b/utilities/flvdumper.cpp
index 2ae6c64..40ef013 100644
--- a/utilities/flvdumper.cpp
+++ b/utilities/flvdumper.cpp
@@ -186,20 +186,20 @@ main(int argc, char *argv[])
     Flv flv; 
     struct stat st;
 
-//    boost::shared_ptr<Flv::flv_header_t> head;
+//    std::shared_ptr<Flv::flv_header_t> head;
     Flv::previous_size_t   previous = 0;
-    boost::shared_ptr<Flv::flv_tag_t> tag;
+    std::shared_ptr<Flv::flv_tag_t> tag;
     
     // Make sure it's an FLV file
     if (stat(filespec.c_str(), &st) == 0) {
        try {
             // Open the binary file
            ifstream ifs(filespec.c_str(), ios::binary);
-           boost::shared_ptr<cygnal::Buffer> buf(new Buffer);
+           std::shared_ptr<cygnal::Buffer> buf(new Buffer);
             // Read just the initial 9 byte header
            ifs.read(reinterpret_cast<char *>(buf->reference()), 
sizeof(Flv::flv_header_t));
            log_debug("header is: %s",  hexify(buf->reference(), 9, false));
-           boost::shared_ptr<Flv::flv_header_t> head = flv.decodeHeader(buf);
+           std::shared_ptr<Flv::flv_header_t> head = flv.decodeHeader(buf);
            if (head == 0) {
                log_error("Couldn't decode the header! %s",  
hexify(buf->reference(), 9, false));
                exit(EXIT_FAILURE);
@@ -259,7 +259,7 @@ main(int argc, char *argv[])
                   {
                       if (all) {
                           cerr << "FLV Tag type is: Audio" << endl;
-                          boost::shared_ptr<Flv::flv_audio_t> data = 
flv.decodeAudioData(*(buf->reference() + sizeof(Flv::flv_tag_t)));
+                          std::shared_ptr<Flv::flv_audio_t> data = 
flv.decodeAudioData(*(buf->reference() + sizeof(Flv::flv_tag_t)));
                           cout << "\tSound Type is: "   << 
type_strs[data->type] << endl;
                           cout << "\tSound Size is: "   << 
size_strs[data->size] << endl;
                           cout << "\tSound Rate is: "   << 
rate_strs[data->rate] << endl;
@@ -271,7 +271,7 @@ main(int argc, char *argv[])
                   {
                       if (all) {
                           cout << "FLV Tag type is: Video" << endl;
-                          boost::shared_ptr<Flv::flv_video_t> data = 
flv.decodeVideoData(*(buf->reference() + sizeof(Flv::flv_tag_t)));
+                          std::shared_ptr<Flv::flv_video_t> data = 
flv.decodeVideoData(*(buf->reference() + sizeof(Flv::flv_tag_t)));
                           cout << "\tCodec ID is: "   << 
codec_strs[data->codecID] << endl;
                           cout << "\tFrame Type is: " << 
frame_strs[data->type] << endl;
                       }
@@ -281,7 +281,7 @@ main(int argc, char *argv[])
                       if (meta || all) {
                           cout << "FLV Tag type is: MetaData" << endl;
                       }
-                      boost::shared_ptr<cygnal::Element> metadata = 
flv.decodeMetaData(buf->reference(), bodysize);
+                      std::shared_ptr<cygnal::Element> metadata = 
flv.decodeMetaData(buf->reference(), bodysize);
                       if (meta && metadata) {
                           metadata->dump();
                       }
diff --git a/utilities/processor.cpp b/utilities/processor.cpp
index c42f97b..e9f922c 100644
--- a/utilities/processor.cpp
+++ b/utilities/processor.cpp
@@ -332,20 +332,20 @@ main(int argc, char *argv[])
     }
 
 #ifdef USE_MEDIA
-    boost::shared_ptr<gnash::media::MediaHandler> mediaHandler;
+    std::shared_ptr<gnash::media::MediaHandler> mediaHandler;
     std::string mh = rcfile.getMediaHandler();
     mediaHandler.reset(media::MediaFactory::instance().get(mh));
 #endif
 #if defined(USE_SOUND) && defined(USE_MEDIA)
-    boost::shared_ptr<sound::sound_handler> soundHandler;
+    std::shared_ptr<sound::sound_handler> soundHandler;
     soundHandler.reset(new sound::NullSoundHandler(mediaHandler.get()));
 #endif
 
-    boost::shared_ptr<SWF::TagLoadersTable> loaders(new 
SWF::TagLoadersTable());
+    std::shared_ptr<SWF::TagLoadersTable> loaders(new SWF::TagLoadersTable());
     addDefaultLoaders(*loaders);
 
 #ifdef RENDERER_AGG
-    boost::shared_ptr<Renderer_agg_base> r(create_Renderer_agg("RGBA32"));
+    std::shared_ptr<Renderer_agg_base> r(create_Renderer_agg("RGBA32"));
 
     // Yes, this leaks. On some systems (e.g. Debian Lenny) the data is
     // evidently accessed after main() returns. Rather than bothering to
@@ -368,7 +368,7 @@ main(int argc, char *argv[])
         runResources.setMediaHandler(mediaHandler);
 #endif
         runResources.setTagLoaders(loaders);
-        boost::shared_ptr<StreamProvider> sp(new StreamProvider(*i, *i));
+        std::shared_ptr<StreamProvider> sp(new StreamProvider(*i, *i));
         runResources.setStreamProvider(sp);
 
 #ifdef RENDERER_AGG
diff --git a/utilities/rtmpget.cpp b/utilities/rtmpget.cpp
index 985ea2f..7f7a7e4 100644
--- a/utilities/rtmpget.cpp
+++ b/utilities/rtmpget.cpp
@@ -514,7 +514,7 @@ main(int argc, char** argv)
         }
 
         /// Retrieve messages.
-        boost::shared_ptr<SimpleBuffer> b = r.getMessage();
+        std::shared_ptr<SimpleBuffer> b = r.getMessage();
         while (b.get()) {
             handleInvoke(r, nc, b->data() + rtmp::RTMPHeader::headerSize,
                     b->data() + b->size());
@@ -522,7 +522,7 @@ main(int argc, char** argv)
         }
 
         /// Retrieve video packets.
-        boost::shared_ptr<SimpleBuffer> f = r.getFLVFrame();
+        std::shared_ptr<SimpleBuffer> f = r.getFLVFrame();
         while (f.get()) {
             if (flv) {
                 const char* start = reinterpret_cast<const char*>(

-----------------------------------------------------------------------

Summary of changes:
 cygnal/cgi-bin/echo/echo.cpp                     |   48 ++--
 cygnal/cgi-bin/echo/echo.h                       |   28 +-
 cygnal/cgi-bin/echo/gateway.cpp                  |   36 ++--
 cygnal/cgi-bin/echo/gateway.h                    |    4 +-
 cygnal/cgi-bin/fitcDemo/fitcDemo.cpp             |   44 ++--
 cygnal/cgi-bin/fitcDemo/fitcDemo.h               |   18 +-
 cygnal/cgi-bin/oflaDemo/oflaDemo.cpp             |   98 ++++----
 cygnal/cgi-bin/oflaDemo/oflaDemo.h               |   36 ++--
 cygnal/cvm.cpp                                   |    2 +-
 cygnal/cygnal.cpp                                |   42 ++--
 cygnal/cygnal.h                                  |   18 +-
 cygnal/handler.cpp                               |   20 +-
 cygnal/handler.h                                 |   46 ++--
 cygnal/http_server.cpp                           |   66 +++---
 cygnal/http_server.h                             |   24 +-
 cygnal/libamf/amf.cpp                            |  160 ++++++------
 cygnal/libamf/amf.h                              |   52 ++--
 cygnal/libamf/amf_msg.cpp                        |   58 ++--
 cygnal/libamf/amf_msg.h                          |   32 +-
 cygnal/libamf/buffer.cpp                         |    4 +-
 cygnal/libamf/buffer.h                           |    4 +-
 cygnal/libamf/element.cpp                        |   44 ++--
 cygnal/libamf/element.h                          |   38 ++--
 cygnal/libamf/flv.cpp                            |   38 ++--
 cygnal/libamf/flv.h                              |   26 +-
 cygnal/libamf/lcshm.cpp                          |   30 +-
 cygnal/libamf/lcshm.h                            |   12 +-
 cygnal/libamf/sol.cpp                            |   24 +-
 cygnal/libamf/sol.h                              |   12 +-
 cygnal/libnet/cache.cpp                          |   12 +-
 cygnal/libnet/cache.h                            |    6 +-
 cygnal/libnet/cque.cpp                           |   42 ++--
 cygnal/libnet/cque.h                             |   20 +-
 cygnal/libnet/diskstream.cpp                     |    6 +-
 cygnal/libnet/diskstream.h                       |    2 +-
 cygnal/libnet/http.cpp                           |   52 ++--
 cygnal/libnet/http.h                             |   18 +-
 cygnal/libnet/network.cpp                        |   20 +-
 cygnal/libnet/network.h                          |    6 +-
 cygnal/libnet/rtmp.cpp                           |  120 ++++----
 cygnal/libnet/rtmp.h                             |   50 ++--
 cygnal/libnet/rtmp_client.cpp                    |  118 ++++----
 cygnal/libnet/rtmp_client.h                      |   28 +-
 cygnal/libnet/rtmp_msg.cpp                       |   30 +-
 cygnal/libnet/rtmp_msg.h                         |   14 +-
 cygnal/libnet/sshclient.h                        |    8 +-
 cygnal/rtmp_server.cpp                           |  200 +++++++-------
 cygnal/rtmp_server.h                             |   42 ++--
 cygnal/testsuite/libamf.all/test_amf.cpp         |   40 ++--
 cygnal/testsuite/libamf.all/test_amfmsg.cpp      |   26 +-
 cygnal/testsuite/libamf.all/test_el.cpp          |   10 +-
 cygnal/testsuite/libamf.all/test_flv.cpp         |   36 ++--
 cygnal/testsuite/libamf.all/test_sol.cpp         |    4 +-
 cygnal/testsuite/libnet.all/generate_amfbins.cpp |   24 +-
 cygnal/testsuite/libnet.all/test_cache.cpp       |   26 +-
 cygnal/testsuite/libnet.all/test_cque.cpp        |   24 +-
 cygnal/testsuite/libnet.all/test_diskstream.cpp  |    2 +-
 cygnal/testsuite/libnet.all/test_handler.cpp     |   20 +-
 cygnal/testsuite/libnet.all/test_http.cpp        |  322 +++++++++++-----------
 cygnal/testsuite/libnet.all/test_rtmp.cpp        |  126 +++++-----
 gui/Player.cpp                                   |    4 +-
 gui/Player.h                                     |    4 +-
 gui/aos4/aos4.cpp                                |    2 +-
 gui/aqua/aqua.cpp                                |    2 +-
 gui/dump/dump.h                                  |    2 +-
 gui/fb/fb.cpp                                    |    8 +-
 gui/fb/fbsup.h                                   |    6 +-
 gui/fltk/fltk_glue_cairo.cpp                     |    2 +-
 gui/gtk/gtk_canvas.cpp                           |    4 +-
 gui/gtk/gtk_canvas.h                             |    2 +-
 gui/gtk/gtk_glue_agg_vaapi.cpp                   |    6 +-
 gui/gtk/gtk_glue_agg_vaapi.h                     |    6 +-
 gui/gtk/gtk_glue_ovg.h                           |    2 +-
 gui/gui.h                                        |    2 +-
 gui/pythonmod/gnash-view.cpp                     |   10 +-
 libbase/GnashImage.cpp                           |    6 +-
 libbase/GnashImage.h                             |   14 +-
 libbase/GnashImageGif.cpp                        |    6 +-
 libbase/GnashImageGif.h                          |    2 +-
 libbase/GnashImageJpeg.cpp                       |   12 +-
 libbase/GnashImageJpeg.h                         |   10 +-
 libbase/GnashImagePng.cpp                        |   10 +-
 libbase/GnashImagePng.h                          |    4 +-
 libbase/GnashVaapiImage.cpp                      |    4 +-
 libbase/GnashVaapiImage.h                        |    8 +-
 libbase/GnashVaapiImageProxy.h                   |    6 +-
 libbase/GnashVaapiTexture.cpp                    |    2 +-
 libbase/GnashVaapiTexture.h                      |    2 +-
 libbase/RTMP.h                                   |   18 +-
 libcore/ExternalInterface.cpp                    |    8 +-
 libcore/ExternalInterface.h                      |    4 +-
 libcore/Font.h                                   |    4 +-
 libcore/RunResources.h                           |   20 +-
 libcore/Shape.h                                  |    4 +-
 libcore/asobj/LocalConnection_as.cpp             |    8 +-
 libcore/asobj/NetConnection_as.cpp               |   10 +-
 libcore/asobj/NetConnection_as.h                 |    2 +-
 libcore/movie_root.cpp                           |    8 +-
 libcore/movie_root.h                             |    2 +-
 libcore/parser/filter_factory.cpp                |    2 +-
 libcore/parser/filter_factory.h                  |    2 +-
 libcore/swf/DefineBitsTag.cpp                    |    2 +-
 libcore/swf/DefineFontTag.h                      |    4 +-
 libdevice/events/EventDevice.cpp                 |   10 +-
 libdevice/events/InputDevice.cpp                 |   10 +-
 libdevice/events/InputDevice.h                   |   14 +-
 libdevice/events/MouseDevice.cpp                 |    8 +-
 libdevice/events/TouchDevice.cpp                 |    8 +-
 libdevice/vaapi/VaapiContext.cpp                 |    6 +-
 libdevice/vaapi/VaapiContext.h                   |    6 +-
 libdevice/vaapi/VaapiSubpicture.cpp              |    2 +-
 libdevice/vaapi/VaapiSubpicture.h                |    4 +-
 libdevice/vaapi/VaapiSurface.cpp                 |   10 +-
 libdevice/vaapi/VaapiSurface.h                   |    6 +-
 libdevice/vaapi/VaapiSurfaceGLX.cpp              |    6 +-
 libdevice/vaapi/VaapiSurfaceGLX.h                |    2 +-
 libdevice/vaapi/VaapiSurfaceProxy.cpp            |    4 +-
 libdevice/vaapi/VaapiSurfaceProxy.h              |   12 +-
 libmedia/ffmpeg/VideoDecoderFfmpegVaapi.h        |    6 +-
 librender/Renderer.h                             |    4 +-
 librender/agg/Renderer_agg.cpp                   |    2 +-
 librender/opengl/Renderer_ogl.cpp                |   14 +-
 librender/testr.cpp                              |    2 +-
 plugin/npapi/external.cpp                        |    4 +-
 plugin/npapi/external.h                          |    2 +-
 plugin/npapi/plugin.cpp                          |    8 +-
 plugin/npapi/test.cpp                            |    2 +-
 testsuite/MovieTester.cpp                        |   10 +-
 testsuite/MovieTester.h                          |   14 +-
 testsuite/libcore.all/AsValueTest.cpp            |    2 +-
 testsuite/libcore.all/ClassSizes.cpp             |    2 +-
 testsuite/libcore.all/DisplayListTest.cpp        |    2 +-
 testsuite/libcore.all/PropertyListTest.cpp       |    2 +-
 testsuite/libdevice.all/test_events.cpp          |   12 +-
 utilities/flvdumper.cpp                          |   14 +-
 utilities/processor.cpp                          |   10 +-
 utilities/rtmpget.cpp                            |    4 +-
 137 files changed, 1494 insertions(+), 1494 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]