[Top][All Lists]
[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));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/NetStream.cpp serv...,
Sandro Santilli <=