[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/video_stream_instance.cp...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/video_stream_instance.cp... |
Date: |
Wed, 30 May 2007 15:12:29 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/05/30 15:12:28
Modified files:
. : ChangeLog
server : video_stream_instance.cpp
server/asobj : NetStream.cpp NetStream.h NetStreamFfmpeg.h
Log message:
* server/video_stream_instance.cpp (display): update call to
get_video.
* server/asobj/NetStream.{cpp,h}: change get_video to return by
auto_ptr to encode ownership transfer.
* server/asobj/NetStreamFfmpeg.h: update refreshVieoFrame() dox.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3412&r2=1.3413
http://cvs.savannah.gnu.org/viewcvs/gnash/server/video_stream_instance.cpp?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.h?cvsroot=gnash&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.h?cvsroot=gnash&r1=1.42&r2=1.43
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3412
retrieving revision 1.3413
diff -u -b -r1.3412 -r1.3413
--- ChangeLog 30 May 2007 13:39:25 -0000 1.3412
+++ ChangeLog 30 May 2007 15:12:28 -0000 1.3413
@@ -1,5 +1,13 @@
2007-05-30 Sandro Santilli <address@hidden>
+ * server/video_stream_instance.cpp (display): update call to
+ get_video.
+ * server/asobj/NetStream.{cpp,h}: change get_video to return by
+ auto_ptr to encode ownership transfer.
+ * server/asobj/NetStreamFfmpeg.h: update refreshVieoFrame() dox.
+
+2007-05-30 Sandro Santilli <address@hidden>
+
* server/asobj/NetStream.cpp: fix NetStream.bufferTime getter to
return value in seconds, not milliseconds.
Index: server/video_stream_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/video_stream_instance.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- server/video_stream_instance.cpp 28 May 2007 16:05:57 -0000 1.25
+++ server/video_stream_instance.cpp 30 May 2007 15:12:28 -0000 1.26
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: video_stream_instance.cpp,v 1.25 2007/05/28 16:05:57 strk Exp $
+// $Id: video_stream_instance.cpp,v 1.26 2007/05/30 15:12:28 strk Exp $
#include "sprite_instance.h"
#include "video_stream_instance.h"
@@ -88,11 +88,10 @@
{
boost::intrusive_ptr<NetStream> nso = _ns;
- image::image_base* i = nso->get_video();
- if (i)
+ std::auto_ptr<image::image_base> i ( nso->get_video() );
+ if (i.get())
{
- gnash::render::drawVideoFrame(i, &m, &bounds);
- delete i;
+ gnash::render::drawVideoFrame(i.get(), &m, &bounds);
}
// If this is a video from a VideoFrame tag, retrieve a video frame
from there.
Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- server/asobj/NetStream.cpp 30 May 2007 13:39:25 -0000 1.58
+++ server/asobj/NetStream.cpp 30 May 2007 15:12:28 -0000 1.59
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: NetStream.cpp,v 1.58 2007/05/30 13:39:25 strk Exp $ */
+/* $Id: NetStream.cpp,v 1.59 2007/05/30 15:12:28 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -535,19 +535,21 @@
}
}
-image::image_base* NetStream::get_video()
+std::auto_ptr<image::image_base>
+NetStream::get_video()
{
boost::mutex::scoped_lock lock(image_mutex);
- if (!m_imageframe) return NULL;
+ // TODO: inspect if we could return m_imageframe directly...
+
+ std::auto_ptr<image::image_base> ret_image;
+
+ if (!m_imageframe) return ret_image;
- image::image_base* ret_image;
if (m_videoFrameFormat == render::YUV) {
- ret_image = new image::yuv(m_imageframe->m_width,
m_imageframe->m_height);
+ ret_image.reset(new image::yuv(m_imageframe->m_width,
m_imageframe->m_height));
} else if (m_videoFrameFormat == render::RGB) {
- ret_image = new image::rgb(m_imageframe->m_width,
m_imageframe->m_height);
- } else {
- return NULL;
+ ret_image.reset(new image::rgb(m_imageframe->m_width,
m_imageframe->m_height));
}
ret_image->update(m_imageframe->m_data);
Index: server/asobj/NetStream.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.h,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- server/asobj/NetStream.h 30 May 2007 09:19:01 -0000 1.42
+++ server/asobj/NetStream.h 30 May 2007 15:12:28 -0000 1.43
@@ -19,7 +19,7 @@
//
//
-/* $Id: NetStream.h,v 1.42 2007/05/30 09:19:01 strk Exp $ */
+/* $Id: NetStream.h,v 1.43 2007/05/30 15:12:28 strk Exp $ */
#ifndef __NETSTREAM_H__
#define __NETSTREAM_H__
@@ -260,8 +260,9 @@
/// Returns the video frame closest to current cursor. See time().
//
- /// @return a image containing the video frame, NULL if none were ready
- image::image_base* get_video();
+ /// @return a image containing the video frame, a NULL auto_ptr if none
were ready
+ ///
+ std::auto_ptr<image::image_base> get_video();
private:
Index: server/asobj/NetStreamFfmpeg.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.h,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- server/asobj/NetStreamFfmpeg.h 30 May 2007 14:55:23 -0000 1.42
+++ server/asobj/NetStreamFfmpeg.h 30 May 2007 15:12:28 -0000 1.43
@@ -15,7 +15,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.42 2007/05/30 14:55:23 tgc Exp $ */
+/* $Id: NetStreamFfmpeg.h,v 1.43 2007/05/30 15:12:28 strk Exp $ */
#ifndef __NETSTREAMFFMPEG_H__
#define __NETSTREAMFFMPEG_H__
@@ -310,10 +310,14 @@
//
void unpauseDecoding();
- // Check is we need to update the video frame
- //
- // does NOT lock decoding_mutex, uses by ::advance() which locks
+ /// Update the image/videoframe to be returned by next get_video() call.
//
+ /// Does NOT lock decoding_mutex, uses by ::advance() which locks.
+ /// Note that get_video will be called by
video_stream_instance::display, which
+ /// is usually called right after video_stream_instance::advance, so
the result
+ /// is that refreshVideoFrame() is called right before get_video().
This is important
+ /// to ensure timing is correct..
+ ///
void refreshVideoFrame();
// Used to decode and push the next available (non-FLV) frame to the
audio or video queue