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: Fri, 06 Jun 2008 21:06:55 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/06/06 21:06:55

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

Log message:
                * server/asobj/NetStream.{cpp,h}: keep m_imageframe
                  by auto_ptr, fixes memory leaks with NetStreamFfmpeg by
                  making memory management automatic.
                * server/asobj/NetStreamFfmpeg.cpp: update use of m_imageframe.
                * server/asobj/NetStreamGst.cpp: update use of m_imageframe
                  (drop manual memory management).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6843&r2=1.6844
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.97&r2=1.98
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.h?cvsroot=gnash&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.148&r2=1.149
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamGst.cpp?cvsroot=gnash&r1=1.89&r2=1.90

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6843
retrieving revision 1.6844
diff -u -b -r1.6843 -r1.6844
--- ChangeLog   6 Jun 2008 20:44:49 -0000       1.6843
+++ ChangeLog   6 Jun 2008 21:06:54 -0000       1.6844
@@ -1,5 +1,14 @@
 2008-06-06 Sandro Santilli <address@hidden>
 
+       * server/asobj/NetStream.{cpp,h}: keep m_imageframe
+         by auto_ptr, fixes memory leaks with NetStreamFfmpeg by
+         making memory management automatic.
+       * server/asobj/NetStreamFfmpeg.cpp: update use of m_imageframe.
+       * server/asobj/NetStreamGst.cpp: update use of m_imageframe
+         (drop manual memory management).
+
+2008-06-06 Sandro Santilli <address@hidden>
+
        * server/asobj/NetStreamFfmpeg.cpp (advance): don't feed the
          buffer if it's already full.
 

Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -b -r1.97 -r1.98
--- server/asobj/NetStream.cpp  6 Jun 2008 16:45:09 -0000       1.97
+++ server/asobj/NetStream.cpp  6 Jun 2008 21:06:55 -0000       1.98
@@ -73,7 +73,7 @@
        m_bufferTime(100), // The default size needed to begin playback of 
media is 100 miliseconds
        m_videoFrameFormat(gnash::render::videoFrameFormat()),
        m_newFrameReady(false),
-       m_imageframe(NULL),
+       m_imageframe(),
        m_parser(NULL),
        m_isFLV(false),
        inputPos(0),
@@ -548,7 +548,7 @@
 {
        boost::mutex::scoped_lock lock(image_mutex);
 
-       if (!m_imageframe) return std::auto_ptr<image::image_base>(0);
+       if (!m_imageframe.get()) return std::auto_ptr<image::image_base>(0);
 
        // TODO: inspect if we could return m_imageframe directly...
        return m_imageframe->clone();   

Index: server/asobj/NetStream.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- server/asobj/NetStream.h    3 Jun 2008 12:39:54 -0000       1.65
+++ server/asobj/NetStream.h    6 Jun 2008 21:06:55 -0000       1.66
@@ -272,7 +272,7 @@
        boost::mutex image_mutex;
 
        // The image/videoframe which is given to the renderer
-       image::image_base* m_imageframe;
+       std::auto_ptr<image::image_base> m_imageframe;
 
        // The video URL
        std::string url;

Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -b -r1.148 -r1.149
--- server/asobj/NetStreamFfmpeg.cpp    6 Jun 2008 20:44:50 -0000       1.148
+++ server/asobj/NetStreamFfmpeg.cpp    6 Jun 2008 21:06:55 -0000       1.149
@@ -91,8 +91,6 @@
 NetStreamFfmpeg::~NetStreamFfmpeg()
 {
        close(); // close will also detach from sound handler
-
-       delete m_imageframe;
 }
 
 
@@ -132,8 +130,7 @@
                _soundHandler->detach_aux_streamer(this);
        }
 
-       delete m_imageframe;
-       m_imageframe = NULL;
+       m_imageframe.reset();
 
        delete m_unqueued_data;
        m_unqueued_data = NULL;
@@ -806,7 +803,8 @@
        }
        else
        {
-               m_imageframe = video.release(); // ownership transferred
+               m_imageframe = video; // ownership transferred
+               assert(!video.get());
                // A frame is ready for pickup
                m_newFrameReady = true;
        }
@@ -888,7 +886,7 @@
                        // The very first video frame we want to provide
                        // as soon as possible (if not paused),
                        // reguardless bufferLength...
-                       if ( ! m_imageframe && _playHead.getState() != 
PlayHead::PLAY_PAUSED )
+                       if ( ! m_imageframe.get() && _playHead.getState() != 
PlayHead::PLAY_PAUSED )
                        {
                                refreshVideoFrame(true);
                        }

Index: server/asobj/NetStreamGst.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamGst.cpp,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -b -r1.89 -r1.90
--- server/asobj/NetStreamGst.cpp       17 May 2008 17:31:37 -0000      1.89
+++ server/asobj/NetStreamGst.cpp       6 Jun 2008 21:06:55 -0000       1.90
@@ -191,8 +191,7 @@
 
   boost::mutex::scoped_lock lock(image_mutex);
 
-  delete m_imageframe;
-  m_imageframe = NULL;
+  m_imageframe.reset();
 }
 
 void 
@@ -732,10 +731,9 @@
   
   boost::mutex::scoped_lock lock(ns->image_mutex);
   
-  if (!ns->m_imageframe || unsigned(width) != ns->m_imageframe->width() ||
+  if (!ns->m_imageframe.get() || unsigned(width) != ns->m_imageframe->width() 
||
       unsigned(height) != ns->m_imageframe->height()) {
-    delete ns->m_imageframe;
-    ns->m_imageframe = new image::rgb(width, height);
+    ns->m_imageframe.reset( new image::rgb(width, height) );
   }    
   
   ns->m_imageframe->update(GST_BUFFER_DATA(buffer));




reply via email to

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