CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/10/19 09:30:24
Modified files: . : ChangeLog server/parser : video_stream_def.cpp video_stream_def.h Log message: * server/parser/video_stream_def.{cpp,h}: keep _decoder by boost::scoped_ptr. Fixes bug #21284. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4643&r2=1.4644 http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/video_stream_def.cpp?cvsroot=gnash&r1=1.19&r2=1.20 http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/video_stream_def.h?cvsroot=gnash&r1=1.13&r2=1.14 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4643 retrieving revision 1.4644 diff -u -b -r1.4643 -r1.4644 --- ChangeLog 19 Oct 2007 09:20:55 -0000 1.4643 +++ ChangeLog 19 Oct 2007 09:30:23 -0000 1.4644 @@ -1,5 +1,7 @@ 2007-10-19 Sandro Santilli <[EMAIL PROTECTED]> + * server/parser/video_stream_def.{cpp,h}: keep _decoder by + boost::scoped_ptr. Fixes bug #21284. * server/swf/tag_loaders.cpp (video_loader): don't abort on malformed SWFs. Index: server/parser/video_stream_def.cpp =================================================================== RCS file: /sources/gnash/gnash/server/parser/video_stream_def.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -b -r1.19 -r1.20 --- server/parser/video_stream_def.cpp 18 Oct 2007 15:56:55 -0000 1.19 +++ server/parser/video_stream_def.cpp 19 Oct 2007 09:30:24 -0000 1.20 @@ -16,7 +16,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -// $Id: video_stream_def.cpp,v 1.19 2007/10/18 15:56:55 tgc Exp $ +// $Id: video_stream_def.cpp,v 1.20 2007/10/19 09:30:24 strk Exp $ #include "video_stream_def.h" #include "video_stream_instance.h" @@ -42,8 +42,7 @@ video_stream_definition::~video_stream_definition() { - m_video_frames.clear(); - delete _decoder; + m_video_frames.clear(); // TODO: isn't this useless ? } @@ -72,14 +71,14 @@ m_codec_id = static_cast<videoCodecType>(in->read_u8()); #ifdef USE_FFMPEG - _decoder = new VideoDecoderFfmpeg(); + _decoder.reset( new VideoDecoderFfmpeg() ); #elif defined(SOUND_GST) - _decoder = new VideoDecoderGst(); + _decoder.reset( new VideoDecoderGst() ); #else - _decoder = new VideoDecoder(); + _decoder.reset( new VideoDecoder() ); #endif bool ret = _decoder->setup(_width, _height, m_deblocking_flags, m_smoothing_flags, m_codec_id, gnash::render::videoFrameFormat()); - if (!ret) delete _decoder; + if (!ret) _decoder.reset(); } else if (tag == SWF::VIDEOFRAME && _decoder) Index: server/parser/video_stream_def.h =================================================================== RCS file: /sources/gnash/gnash/server/parser/video_stream_def.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -b -r1.13 -r1.14 --- server/parser/video_stream_def.h 18 Oct 2007 15:56:55 -0000 1.13 +++ server/parser/video_stream_def.h 19 Oct 2007 09:30:24 -0000 1.14 @@ -16,7 +16,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -// $Id: video_stream_def.h,v 1.13 2007/10/18 15:56:55 tgc Exp $ +// $Id: video_stream_def.h,v 1.14 2007/10/19 09:30:24 strk Exp $ #ifndef GNASH_VIDEO_STREAM_DEF_H #define GNASH_VIDEO_STREAM_DEF_H @@ -33,8 +33,10 @@ #include "execute_tag.h" #include "VideoDecoder.h" #include "image.h" + #include <map> #include <boost/shared_array.hpp> +#include <boost/scoped_ptr.hpp> namespace gnash { @@ -143,7 +145,7 @@ uint32_t _height; /// The decoder used to decode the video frames - VideoDecoder* _decoder; + boost::scoped_ptr<VideoDecoder> _decoder; }; } // end namespace gnash _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit