gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/asobj/NetStream.cpp serv...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/NetStream.cpp serv...
Date: Tue, 01 May 2007 20:33:27 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/05/01 20:33:27

Modified files:
        .              : ChangeLog 
        server/asobj   : NetStream.cpp NetStream.h NetStreamFfmpeg.cpp 
                         NetStreamFfmpeg.h NetStreamGst.cpp 
                         NetStreamGst.h 

Log message:
                * server/asobj/: NetStream.{cpp,h}, NetStreamFfmpeg.{cpp,h},
                  NetStreamGst.{cpp,h}: move all onStatus handling to base class
                  and made thread safe.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3053&r2=1.3054
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.h?cvsroot=gnash&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.h?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamGst.cpp?cvsroot=gnash&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamGst.h?cvsroot=gnash&r1=1.12&r2=1.13

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3053
retrieving revision 1.3054
diff -u -b -r1.3053 -r1.3054
--- ChangeLog   1 May 2007 18:02:51 -0000       1.3053
+++ ChangeLog   1 May 2007 20:33:27 -0000       1.3054
@@ -1,5 +1,11 @@
 2007-05-01 Sandro Santilli <address@hidden>
 
+       * server/asobj/: NetStream.{cpp,h}, NetStreamFfmpeg.{cpp,h},
+         NetStreamGst.{cpp,h}: move all onStatus handling to base class
+         and made thread safe.
+
+2007-05-01 Sandro Santilli <address@hidden>
+
        * server/movie_root.h: add getWidth() and getHeight()
        * server/asobj/Stage.{cpp,h}: implement Stage.width and
          Stage.height.

Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- server/asobj/NetStream.cpp  18 Apr 2007 11:00:30 -0000      1.37
+++ server/asobj/NetStream.cpp  1 May 2007 20:33:27 -0000       1.38
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetStream.cpp,v 1.37 2007/04/18 11:00:30 jgilmore Exp $ */
+/* $Id: NetStream.cpp,v 1.38 2007/05/01 20:33:27 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -35,6 +35,7 @@
 #include "builtin_function.h"
 #include "GnashException.h"
 #include "NetConnection.h"
+#include "action.h" // for call_method
 
 #include "movie_root.h"
 
@@ -52,7 +53,8 @@
 NetStream::NetStream()
        :
        as_object(getNetStreamInterface()),
-       _netCon(NULL)
+       _netCon(NULL),
+       m_env(NULL)
 {
 }
 
@@ -249,4 +251,58 @@
 
 }
 
+void
+NetStream::processStatusNotifications()
+{
+       boost::mutex::scoped_lock lock(statusMutex);
+
+       // TODO: check for System.onStatus too !
+       size_t size = m_status_messages.size();
+       as_value status;
+       if (size && get_member("onStatus", &status) && status.is_function())
+       {
+               log_debug("Processing %d status notifications", size);
+
+               for (size_t i = 0; i < size; ++i)
+               {
+                       log_debug(" Invoking onStatus(%s)", 
m_status_messages[i].c_str());
+
+                       // TODO: optimize by reusing the same as_object ?
+                       boost::intrusive_ptr<as_object> o = new as_object();
+                       o->init_member("code", as_value(m_status_messages[i]), 
1);
+
+                       if (m_status_messages[i].find("StreamNotFound") == 
string::npos && m_status_messages[i].find("InvalidTime") == string::npos)
+                       {
+                               o->init_member("level", as_value("status"), 
as_prop_flags::dontDelete|as_prop_flags::dontEnum);
+                       }
+                       else
+                       {
+                               o->init_member("level", as_value("error"), 
as_prop_flags::dontDelete|as_prop_flags::dontEnum);
+                       }
+
+                       m_env->push_val(as_value(o.get()));
+                       call_method(status, m_env, this, 1, 
m_env->get_top_index() );
+               }
+       }
+
+       m_status_messages.clear();
+}
+
+void
+NetStream::setStatus(const std::string& status)
+{
+       // TODO: make thread safe !! protect by a mutex, and use the mutex from 
status invoker
+       boost::mutex::scoped_lock lock(statusMutex);
+
+       if (m_status_messages.size() && m_status_messages.back() == status)
+       {
+               // status unchanged
+               return;
+       }
+
+       m_status_messages.push_back(status);
+}
+
+
+
 } // end of gnash namespace

Index: server/asobj/NetStream.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- server/asobj/NetStream.h    7 Apr 2007 11:55:50 -0000       1.26
+++ server/asobj/NetStream.h    1 May 2007 20:33:27 -0000       1.27
@@ -18,7 +18,7 @@
 //
 //
 
-/*  $Id: NetStream.h,v 1.26 2007/04/07 11:55:50 tgc Exp $ */
+/*  $Id: NetStream.h,v 1.27 2007/05/01 20:33:27 strk Exp $ */
 
 #ifndef __NETSTREAM_H__
 #define __NETSTREAM_H__
@@ -49,6 +49,43 @@
 
        boost::intrusive_ptr<NetConnection> _netCon;
 
+       // List of status messages to be processed
+       std::vector<std::string> m_status_messages;
+
+       /// Mutex protecting m_status_messages
+       boost::mutex statusMutex;
+
+       /// Set stream status.
+       //
+       /// Valid statuses are:
+       ///
+       /// Status level:
+       ///  - NetStream.Buffer.Empty
+       ///  - NetStream.Buffer.Full
+       ///  - NetStream.Buffer.Flush
+       ///  - NetStream.Play.Start
+       ///  - NetStream.Play.Stop 
+       ///  - NetStream.Seek.Notify 
+       ///
+       /// Error level:
+       ///  - NetStream.Play.StreamNotFound
+       ///  - NetStream.Seek.InvalidTime
+       ///
+       /// TODO: use an enum !
+       ///
+       void setStatus(const std::string& /*code*/);
+
+       /// \brief
+       /// Call any onStatus event handler passing it
+       /// any queued status change, see m_status_messages
+       //
+       /// TODO: move up to NetStream ?
+       ///
+       void processStatusNotifications();
+
+       // The actionscript enviroment for the AS callbacks
+       as_environment* m_env;
+
 public:
 
        NetStream();
@@ -65,8 +102,6 @@
 
        virtual void setBufferTime(double /*time*/){}
 
-       virtual void set_status(const char* /*code*/){}
-
        virtual void setNetCon(boost::intrusive_ptr<NetConnection> nc)
        {
                _netCon = nc;
@@ -89,7 +124,11 @@
 
        virtual bool newFrameReady() { return false; }
 
-       virtual void setEnvironment(as_environment* /*env*/) { };
+       void setEnvironment(as_environment* env)
+       {
+               assert(env);
+               m_env = env;
+       }
 };
 
 

Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- server/asobj/NetStreamFfmpeg.cpp    18 Apr 2007 14:39:19 -0000      1.39
+++ server/asobj/NetStreamFfmpeg.cpp    1 May 2007 20:33:27 -0000       1.40
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetStreamFfmpeg.cpp,v 1.39 2007/04/18 14:39:19 martinwguy Exp $ */
+/* $Id: NetStreamFfmpeg.cpp,v 1.40 2007/05/01 20:33:27 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -33,7 +33,7 @@
 #include "movie_root.h"
 #include "NetConnection.h"
 #include "sound_handler.h"
-#include "action.h"
+//#include "action.h"
 #include <boost/scoped_array.hpp>
 
 #if defined(_WIN32) || defined(WIN32)
@@ -73,9 +73,7 @@
        m_isFLV(false),
        m_newFrameReady(false),
        m_bufferTime(100),
-       m_statusChanged(false),
-       m_start_onbuffer(false),
-       m_env(NULL)
+       m_start_onbuffer(false)
 {
 
        ByteIOCxt.buffer = NULL;
@@ -87,19 +85,6 @@
        delete m_parser;
 }
 
-void NetStreamFfmpeg::setEnvironment(as_environment* env)
-{
-       m_env = env;
-}
-
-
-// called from avstreamer thread, and a few other places... (thread safe?)
-void NetStreamFfmpeg::set_status(const char* status)
-{
-       m_status_messages.push_back(status);
-       m_statusChanged = true;
-}
-
 void NetStreamFfmpeg::pause(int mode)
 {
        if (mode == -1)
@@ -382,7 +367,7 @@
        assert(ns);
        if ( !nc->openConnection(ns->url.c_str(), ns) ) {
                log_error(_("Gnash could not open movie: %s"), ns->url.c_str());
-               ns->set_status("NetStream.Buffer.StreamNotFound");
+               ns->setStatus("NetStream.Buffer.StreamNotFound");
                return;
        }
 
@@ -391,7 +376,7 @@
        // Check if the file is a FLV, in which case we use our own parser
        char head[4] = {0, 0, 0, 0};
        if (nc->read(head, 3) < 3) {
-               ns->set_status("NetStream.Buffer.StreamNotFound");
+               ns->setStatus("NetStream.Buffer.StreamNotFound");
                return;
        }
        nc->seek(0);
@@ -399,7 +384,7 @@
                ns->m_isFLV = true;
                ns->m_parser = new FLVParser();
                if (!nc->connectParser(ns->m_parser)) {
-                       ns->set_status("NetStream.Buffer.StreamNotFound");
+                       ns->setStatus("NetStream.Buffer.StreamNotFound");
                        log_error(_("Gnash could not open FLV movie: %s"), 
ns->url.c_str());
                        delete ns->m_parser;
                        return;
@@ -464,7 +449,7 @@
        // Open the stream. the 4th argument is the filename, which we ignore.
        if(av_open_input_stream(&ns->m_FormatCtx, &ns->ByteIOCxt, "", inputFmt, 
NULL) < 0){
                log_error(_("Couldn't open file '%s' for decoding"), 
ns->url.c_str());
-               ns->set_status("NetStream.Play.StreamNotFound");
+               ns->setStatus("NetStream.Play.StreamNotFound");
                return;
        }
 
@@ -619,7 +604,7 @@
        // This should only happen if close() is called before setup is complete
        if (!ns->m_go) return;
 
-       ns->set_status("NetStream.Play.Start");
+       ns->setStatus("NetStream.Play.Start");
 
        raw_videodata_t* video = NULL;
 
@@ -686,7 +671,7 @@
                }
        }
        ns->m_go = false;
-       ns->set_status("NetStream.Play.Stop");
+       ns->setStatus("NetStream.Play.Stop");
 
 }
 
@@ -759,7 +744,7 @@
                                // We pause and load and buffer a second before 
continuing.
                                m_pause = true;
                                m_bufferTime = 
static_cast<uint32_t>(m_video_clock) * 1000 + 1000;
-                               set_status("NetStream.Buffer.Empty");
+                               setStatus("NetStream.Buffer.Empty");
                                m_start_onbuffer = true;
                        }
                        return false;
@@ -1050,37 +1035,14 @@
 {
        // Check if we should start the playback when a certain amount is 
buffered
        if (m_go && m_pause && m_start_onbuffer && m_parser && 
m_parser->isTimeLoaded(m_bufferTime)) {
-               set_status("NetStream.Buffer.Full");
+               setStatus("NetStream.Buffer.Full");
                m_pause = false;
                m_start_onbuffer = false;
        }
 
        // Check if there are any new status messages, and if we should
        // pass them to a event handler
-       as_value status;
-       if (m_statusChanged && get_member(std::string("onStatus"), &status) && 
status.is_function()) {
-
-               int size = m_status_messages.size();
-               for (int i = 0; i < size; ++i) {
-                       boost::intrusive_ptr<as_object> o = new as_object();
-                       o->init_member(std::string("code"), 
as_value(m_status_messages[i]), 1);
-
-                       if (m_status_messages[i].find("StreamNotFound") == 
string::npos && m_status_messages[i].find("InvalidTime") == string::npos) {
-                               o->init_member(std::string("level"), 
as_value("status"), as_prop_flags::dontDelete|as_prop_flags::dontEnum);
-                       } else {
-                               o->init_member(std::string("level"), 
as_value("error"), as_prop_flags::dontDelete|as_prop_flags::dontEnum);
-                       }
-                       m_env->push_val(as_value(o.get()));
-
-                       call_method(status, m_env, this, 1, 
m_env->get_top_index() );
-
-               }
-               m_status_messages.clear();
-               m_statusChanged = false;
-       } else if (m_statusChanged) {
-               m_status_messages.clear();
-               m_statusChanged = false;
-       }
+       processStatusNotifications();
 }
 
 int64_t

Index: server/asobj/NetStreamFfmpeg.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/asobj/NetStreamFfmpeg.h      11 Apr 2007 17:54:21 -0000      1.22
+++ server/asobj/NetStreamFfmpeg.h      1 May 2007 20:33:27 -0000       1.23
@@ -14,7 +14,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: NetStreamFfmpeg.h,v 1.22 2007/04/11 17:54:21 bjacques Exp $ */
+/* $Id: NetStreamFfmpeg.h,v 1.23 2007/05/01 20:33:27 strk Exp $ */
 
 #ifndef __NETSTREAMFFMPEG_H__
 #define __NETSTREAMFFMPEG_H__
@@ -181,14 +181,12 @@
        int play(const char* source);
        void seek(double pos);
        void setBufferTime(double time);
-       void set_status(const char* code);
        void setNetCon(as_object* nc);
        int64_t time();
        long bytesLoaded();
        long bytesTotal();
        void advance();
        bool newFrameReady();
-       void setEnvironment(as_environment* env);
 
        // Used for ffmpeg data read and seek callbacks
        static int readPacket(void* opaque, uint8_t* buf, int buf_size);
@@ -285,20 +283,12 @@
        // The size of the buffer in milliseconds
        uint32_t m_bufferTime;
 
-       // Has the status message been updated?
-       volatile bool m_statusChanged;
-
        // The handler which is invoked on status change
        boost::intrusive_ptr<as_function> m_statusHandler;
 
        // should we start when buffer is full?
        bool m_start_onbuffer;
 
-       // The actionscript enviroment for the AS callbacks
-       as_environment* m_env;
-
-       // List of status messages to be processed
-       std::vector<std::string> m_status_messages;
 };
 
 } // gnash namespace

Index: server/asobj/NetStreamGst.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamGst.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- server/asobj/NetStreamGst.cpp       18 Apr 2007 11:00:30 -0000      1.24
+++ server/asobj/NetStreamGst.cpp       1 May 2007 20:33:27 -0000       1.25
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetStreamGst.cpp,v 1.24 2007/04/18 11:00:30 jgilmore Exp $ */
+/* $Id: NetStreamGst.cpp,v 1.25 2007/05/01 20:33:27 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -33,7 +33,7 @@
 #include "render.h"    
 #include "movie_root.h"
 #include "NetConnection.h"
-#include "action.h"
+//#include "action.h"
 
 #include "gstgnashsrc.h"
 
@@ -91,7 +91,6 @@
        videoheight(0),
        m_newFrameReady(false),
        m_parser(NULL),
-       m_env(NULL),
        m_pausePlayback(false),
        m_start_onbuffer(false)
 {
@@ -102,20 +101,6 @@
        close();
 }
 
-void NetStreamGst::set_status(const char* status)
-{
-       std::string std_status = status;
-       if (!(m_status_messages.size() > 0 && 
m_status_messages.back().compare(std_status) == 0)) {
-               m_status_messages.push_back(std_status);
-               m_statusChanged = true;
-       }
-}
-
-void NetStreamGst::setEnvironment(as_environment* env)
-{
-       m_env = env;
-}
-
 void NetStreamGst::pause(int mode)
 {
        if (mode == -1)
@@ -298,7 +283,7 @@
 
        FLVFrame* frame = ns->m_parser->nextAudioFrame();
        if (!frame) {
-               ns->set_status("NetStream.Buffer.Empty");
+               ns->setStatus("NetStream.Buffer.Empty");
                ns->m_pausePlayback = true;
                return;
        }
@@ -320,7 +305,7 @@
 
        FLVFrame* frame = ns->m_parser->nextVideoFrame();
        if (!frame) {
-               ns->set_status("NetStream.Buffer.Empty");
+               ns->setStatus("NetStream.Buffer.Empty");
                ns->m_pausePlayback = true;
                return;
        }
@@ -342,7 +327,7 @@
        // Pass stuff from/to the NetConnection object.
        assert(ns);
        if ( !nc->openConnection(ns->url.c_str(), ns) ) {
-               ns->set_status("NetStream.Play.StreamNotFound");
+               ns->setStatus("NetStream.Play.StreamNotFound");
                log_warning(_("Gnash could not open movie: %s"), 
ns->url.c_str());
                return;
        }
@@ -351,7 +336,7 @@
 
        uint8_t head[3];
        if (nc->read(head, 3) < 3) {
-               ns->set_status("NetStream.Buffer.StreamNotFound");
+               ns->setStatus("NetStream.Buffer.StreamNotFound");
                return;
        }
        nc->seek(0);
@@ -359,7 +344,7 @@
                ns->m_isFLV = true;
                ns->m_parser = new FLVParser();
                if (!nc->connectParser(ns->m_parser)) {
-                       ns->set_status("NetStream.Play.StreamNotFound");
+                       ns->setStatus("NetStream.Play.StreamNotFound");
                        log_error(_("Gnash could not open movie: %s"), 
ns->url.c_str());
                        return;
                        
@@ -606,7 +591,7 @@
                ns->m_start_onbuffer = true;
        }
 
-       ns->set_status("NetStream.Play.Start");
+       ns->setStatus("NetStream.Play.Start");
        return;
 }
 
@@ -642,7 +627,7 @@
                        GST_SEEK_TYPE_SET, GST_SECOND * 
static_cast<long>(newpos),
                        GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)) {
                        log_error("Gstreamer seek failed");
-                       set_status("NetStream.Seek.InvalidTime");
+                       setStatus("NetStream.Seek.InvalidTime");
                        return;
                }*/
        } else {
@@ -650,11 +635,11 @@
                        GST_SEEK_TYPE_SET, GST_SECOND * static_cast<long>(pos),
                        GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)) {
                        log_error("Gstreamer seek failed");
-                       set_status("NetStream.Seek.InvalidTime");
+                       setStatus("NetStream.Seek.InvalidTime");
                        return;
                }
        }
-       set_status("NetStream.Seek.Notify");
+       setStatus("NetStream.Seek.Notify");
 }
 
 void
@@ -669,7 +654,7 @@
 {
        // Check if we should start the playback when a certain amount is 
buffered
        if (m_isFLV && m_pause && m_go && m_start_onbuffer && m_parser && 
m_parser->isTimeLoaded(m_bufferTime)) {
-               set_status("NetStream.Buffer.Full");
+               setStatus("NetStream.Buffer.Full");
                m_pause = false;
                gst_element_set_state (GST_ELEMENT (pipeline), 
GST_STATE_PLAYING);
        }
@@ -680,7 +665,7 @@
                m_pausePlayback = false;
 
                if (_netCon->loadCompleted()) {
-                       set_status("NetStream.Play.Stop");
+                       setStatus("NetStream.Play.Stop");
                        gst_element_set_state (GST_ELEMENT (pipeline), 
GST_STATE_NULL);
                        m_go = false;
                } else {
@@ -706,31 +691,7 @@
 
        // Check if there are any new status messages, and if we should
        // pass them to a event handler
-       as_value status;
-       if (m_statusChanged && get_member(std::string("onStatus"), &status) && 
status.is_function()) {
-
-               int size = m_status_messages.size();
-               for (int i = 0; i < size; ++i) {
-                       boost::intrusive_ptr<as_object> o = new as_object();
-                       o->init_member(std::string("code"), 
as_value(m_status_messages[i]), 1);
-
-                       if (m_status_messages[i].find("StreamNotFound") == 
string::npos && m_status_messages[i].find("InvalidTime") == string::npos) {
-                               o->init_member(std::string("level"), 
as_value("status"), as_prop_flags::dontDelete|as_prop_flags::dontEnum);
-                       } else {
-                               o->init_member(std::string("level"), 
as_value("error"), as_prop_flags::dontDelete|as_prop_flags::dontEnum);
-                       }
-                       m_env->push_val(as_value(o.get()));
-
-                       call_method(status, m_env, this, 1, 
m_env->get_top_index() );
-
-
-               }
-               m_status_messages.clear();
-               m_statusChanged = false;
-       } else if (m_statusChanged) {
-               m_status_messages.clear();
-               m_statusChanged = false;
-       }
+       processStatusNotifications();
 }
 
 int64_t

Index: server/asobj/NetStreamGst.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamGst.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/asobj/NetStreamGst.h 7 Apr 2007 11:55:50 -0000       1.12
+++ server/asobj/NetStreamGst.h 1 May 2007 20:33:27 -0000       1.13
@@ -46,14 +46,12 @@
        int play(const char* source);
        void seek(double pos);
        void setBufferTime(double time);
-       void set_status(const char* code);
        void setNetCon(as_object* nc);
        int64_t time();
        long bytesLoaded();
        long bytesTotal();
        void advance();
        bool newFrameReady();
-       void setEnvironment(as_environment* env);
 
        // Used for gstreamer data read and seek callbacks
        static int readPacket(void* opaque, char* buf, int buf_size);
@@ -128,9 +126,6 @@
        // The status message
        std::string m_status;
 
-       // Has the status message been updated?
-       volatile bool m_statusChanged;
-
        // The handler which is invoked on status change
        boost::intrusive_ptr<as_function> m_statusHandler;
 
@@ -140,17 +135,12 @@
        // The parser for FLV
        FLVParser* m_parser;
 
-       // The actionscript enviroment for the AS callbacks
-       as_environment* m_env;
-
        // On next advance() should we pause?
        volatile bool m_pausePlayback;
 
-       // List of status messages to be processed
-       std::vector<std::string> m_status_messages;
-
        // should we start when buffer is full?
        bool m_start_onbuffer;
+
 };
 
 } // gnash namespace




reply via email to

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