[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cpp [gnash_0
From: |
Bastiaan Jacques |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cpp [gnash_0_8_3_branch] |
Date: |
Sun, 11 May 2008 18:39:03 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch: gnash_0_8_3_branch
Changes by: Bastiaan Jacques <bjacques> 08/05/11 18:39:03
Modified files:
. : ChangeLog
server/asobj : NetStreamFfmpeg.cpp
Log message:
Mutex-protect m_imageframe, because it's used across threads.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=gnash_0_8_3_branch&r1=1.6573.2.3&r2=1.6573.2.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&only_with_tag=gnash_0_8_3_branch&r1=1.116&r2=1.116.2.1
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6573.2.3
retrieving revision 1.6573.2.4
diff -u -b -r1.6573.2.3 -r1.6573.2.4
--- ChangeLog 10 May 2008 11:05:42 -0000 1.6573.2.3
+++ ChangeLog 11 May 2008 18:39:02 -0000 1.6573.2.4
@@ -1,3 +1,8 @@
+2008-05-10 Bastiaan Jacques <address@hidden>
+
+ * server/asobj/NetStreamFfmpeg.cpp: Mutex-protect m_imageframe,
+ which is used across threads.
+
2008-05-10 Sandro Santilli <address@hidden>
* libbase/utility.h: add smallestMultipleContaining
Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.116
retrieving revision 1.116.2.1
diff -u -b -r1.116 -r1.116.2.1
--- server/asobj/NetStreamFfmpeg.cpp 9 May 2008 10:08:08 -0000 1.116
+++ server/asobj/NetStreamFfmpeg.cpp 11 May 2008 18:39:03 -0000
1.116.2.1
@@ -163,8 +163,11 @@
m_FormatCtx = NULL;
}
+ {
+ boost::mutex::scoped_lock lock(image_mutex);
delete m_imageframe;
m_imageframe = NULL;
+ }
delete m_unqueued_data;
m_unqueued_data = NULL;
@@ -566,6 +569,9 @@
// Allocate a frame to store the decoded frame in
m_Frame = avcodec_alloc_frame();
+ {
+ boost::mutex::scoped_lock lock(image_mutex);
+
// Determine required buffer size and allocate buffer
if (m_videoFrameFormat == render::YUV)
{
@@ -576,6 +582,8 @@
m_imageframe = new image::rgb(m_VCodecCtx->width,
m_VCodecCtx->height);
}
+ }
+
media::sound_handler* s = get_sound_handler();
if (m_audio_index >= 0 && s != NULL)
{
@@ -938,6 +946,8 @@
avcodec_decode_video(m_VCodecCtx, m_Frame, &got, packet->data,
packet->size);
if (!got) return false;
+ boost::mutex::scoped_lock lock(image_mutex);
+
if (m_imageframe == NULL)
{
if (m_videoFrameFormat == render::YUV)
- [Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cpp [gnash_0_8_3_branch],
Bastiaan Jacques <=