gnash-commit
[Top][All Lists]
Advanced

[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 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]