[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: |
Thu, 03 May 2007 15:41:06 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/05/03 15:41:06
Modified files:
. : ChangeLog
server : video_stream_instance.cpp
video_stream_instance.h
server/parser : video_stream_def.cpp video_stream_def.h
Log message:
* server/video_stream_instance.{cpp,h},
server/parser/video_stream_def.{cpp,h}:
Encode ownership of embedded videodecoder by using
std::auto_ptr,
and document it.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3082&r2=1.3083
http://cvs.savannah.gnu.org/viewcvs/gnash/server/video_stream_instance.cpp?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/server/video_stream_instance.h?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/video_stream_def.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/video_stream_def.h?cvsroot=gnash&r1=1.4&r2=1.5
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3082
retrieving revision 1.3083
diff -u -b -r1.3082 -r1.3083
--- ChangeLog 3 May 2007 14:50:51 -0000 1.3082
+++ ChangeLog 3 May 2007 15:41:05 -0000 1.3083
@@ -1,5 +1,9 @@
2007-05-03 Sandro Santilli <address@hidden>
+ * server/video_stream_instance.{cpp,h},
+ server/parser/video_stream_def.{cpp,h}:
+ Encode ownership of embedded videodecoder by using std::auto_ptr,
+ and document it.
* server/asobj/NetConnection.cpp (getBytesTotal): return total bytes,
not "loaded" bytes... - fixes YouTube buffering bar.
Index: server/video_stream_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/video_stream_instance.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- server/video_stream_instance.cpp 18 Apr 2007 11:00:29 -0000 1.20
+++ server/video_stream_instance.cpp 3 May 2007 15:41:06 -0000 1.21
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: video_stream_instance.cpp,v 1.20 2007/04/18 11:00:29 jgilmore Exp $
+// $Id: video_stream_instance.cpp,v 1.21 2007/05/03 15:41:06 strk Exp $
#include "sprite_instance.h"
#include "video_stream_instance.h"
@@ -60,24 +60,21 @@
return as_value();
}
- video_stream_instance::video_stream_instance(
- video_stream_definition* def, character* parent, int id)
+video_stream_instance::video_stream_instance(video_stream_definition* def,
+ character* parent, int id)
:
character(parent, id),
m_def(def),
m_video_source(NULL),
- _ns(NULL)
-// m_source(NULL)
+ _ns(NULL),
+ m_decoder(m_def->get_decoder()) // should abort if m_def is null
{
- assert(m_def);
// FIXME: use new layout
init_member("attachVideo", new builtin_function(attach_video));
- m_decoder = m_def->get_decoder();
}
video_stream_instance::~video_stream_instance()
{
- delete m_decoder;
}
void
@@ -102,7 +99,7 @@
}
// If this is a video from a VideoFrame tag, retrieve a video frame
from there.
- } else if (m_decoder) {
+ } else if (m_decoder.get()) {
uint8_t* data = 0;
int size = 0;
int current_frame =
get_parent()->to_movie()->get_current_frame();
Index: server/video_stream_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/video_stream_instance.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/video_stream_instance.h 12 Apr 2007 09:14:36 -0000 1.10
+++ server/video_stream_instance.h 3 May 2007 15:41:06 -0000 1.11
@@ -15,7 +15,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: video_stream_instance.h,v 1.10 2007/04/12 09:14:36 strk Exp $
+// $Id: video_stream_instance.h,v 1.11 2007/05/03 15:41:06 strk Exp $
#ifndef GNASH_VIDEO_STREAM_INSTANCE_H
#define GNASH_VIDEO_STREAM_INSTANCE_H
@@ -67,7 +67,8 @@
// Who owns this ? Should it be an intrusive ptr ?
boost::intrusive_ptr<NetStream> _ns;
- embedVideoDecoder* m_decoder;
+ /// Decoder for embedded video
+ std::auto_ptr<embedVideoDecoder> m_decoder;
};
} // end namespace gnash
Index: server/parser/video_stream_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/video_stream_def.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/parser/video_stream_def.cpp 9 Feb 2007 16:40:42 -0000 1.5
+++ server/parser/video_stream_def.cpp 3 May 2007 15:41:06 -0000 1.6
@@ -15,7 +15,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: video_stream_def.cpp,v 1.5 2007/02/09 16:40:42 tgc Exp $
+// $Id: video_stream_def.cpp,v 1.6 2007/05/03 15:41:06 strk Exp $
#include "video_stream_def.h"
#include "video_stream_instance.h"
@@ -88,19 +88,21 @@
return ch;
}
-embedVideoDecoder*
-video_stream_definition::get_decoder(){
+std::auto_ptr<embedVideoDecoder>
+video_stream_definition::get_decoder()
+{
+
+ std::auto_ptr<embedVideoDecoder> decoder;
- if (m_num_frames == 0) return NULL;
+ if (m_num_frames == 0) return decoder;
- embedVideoDecoder* decoder;
#ifdef USE_FFMPEG
- decoder = new embedVideoDecoderFfmpeg();
+ decoder.reset( new embedVideoDecoderFfmpeg() );
#elif defined(SOUND_GST)
- decoder = new embedVideoDecoderGst();
+ decoder.reset( new embedVideoDecoderGst() );
#else
- decoder = new embedVideoDecoder();
+ decoder.reset( new embedVideoDecoder() );
#endif
decoder->createDecoder(
Index: server/parser/video_stream_def.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/video_stream_def.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- server/parser/video_stream_def.h 9 Feb 2007 16:40:42 -0000 1.4
+++ server/parser/video_stream_def.h 3 May 2007 15:41:06 -0000 1.5
@@ -15,7 +15,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: video_stream_def.h,v 1.4 2007/02/09 16:40:42 tgc Exp $
+// $Id: video_stream_def.h,v 1.5 2007/05/03 15:41:06 strk Exp $
#ifndef GNASH_VIDEO_STREAM_DEF_H
#define GNASH_VIDEO_STREAM_DEF_H
@@ -45,14 +45,30 @@
character* create_character_instance(character* parent, int id);
void read(stream* in, SWF::tag_type tag, movie_definition* m);
+
+ // TODO: return a rect 0,0,m_width,m_height
const rect& get_bound() const {
return m_unused_rect;
}
- embedVideoDecoder* get_decoder();
+ /// Return a newly created embedded-video decoder
+ //
+ /// The type of decoder returned currently depends
+ /// on compile-time defines (FFMPG/GST/none)
+ ///
+ /// The returned decoder will be initialized with
+ /// data kept as member of this class
+ /// (width/height/codec_id/videoFrameFormat)
+ /// Note that videoFrameFormat is fetched from the
+ /// current renderer.
+ ///
+ /// This function *never* returns a NULL pointer.
+ ///
+ std::auto_ptr<embedVideoDecoder> get_decoder();
void get_frame_data(int frameNum, uint8_t** data, int* size);
+ // TODO: make private
uint16_t m_width;
uint16_t m_height;
- [Gnash-commit] gnash ChangeLog server/video_stream_instance.cp...,
Sandro Santilli <=