[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash server/asobj/NetStreamFfmpeg.cpp ChangeLog
From: |
Bastiaan Jacques |
Subject: |
[Gnash-commit] gnash server/asobj/NetStreamFfmpeg.cpp ChangeLog |
Date: |
Sun, 11 May 2008 18:20:24 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Bastiaan Jacques <bjacques> 08/05/11 18:20:22
Modified files:
server/asobj : NetStreamFfmpeg.cpp
. : ChangeLog
Log message:
Mutex-protect m_imageframe, which is used across threads.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.116&r2=1.117
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6580&r2=1.6581
Patches:
Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -b -r1.116 -r1.117
--- server/asobj/NetStreamFfmpeg.cpp 9 May 2008 10:08:08 -0000 1.116
+++ server/asobj/NetStreamFfmpeg.cpp 11 May 2008 18:20:20 -0000 1.117
@@ -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)
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6580
retrieving revision 1.6581
diff -u -b -r1.6580 -r1.6581
--- ChangeLog 10 May 2008 16:51:07 -0000 1.6580
+++ ChangeLog 11 May 2008 18:20:21 -0000 1.6581
@@ -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/FLVParser.cpp (parseNextTag): don't log_error
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash server/asobj/NetStreamFfmpeg.cpp ChangeLog,
Bastiaan Jacques <=