gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cp...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cp...
Date: Tue, 29 May 2007 21:38:36 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/05/29 21:38:36

Modified files:
        .              : ChangeLog 
        server/asobj   : NetStreamFfmpeg.cpp NetStreamFfmpeg.h 

Log message:
                * server/asobj/NetStreamFfmpeg.{cpp,h}: Don't lock the mutex
                  in pause(), play() and close(), all intended to be called
                  by the locking advance(). More dox about locking in the 
header.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3396&r2=1.3397
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.h?cvsroot=gnash&r1=1.35&r2=1.36

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3396
retrieving revision 1.3397
diff -u -b -r1.3396 -r1.3397
--- ChangeLog   29 May 2007 17:51:18 -0000      1.3396
+++ ChangeLog   29 May 2007 21:38:34 -0000      1.3397
@@ -1,5 +1,8 @@
 2007-05-29 Sandro Santilli <address@hidden>
 
+       * server/asobj/NetStreamFfmpeg.{cpp,h}: Don't lock the mutex
+         in pause(), play() and close(), all intended to be called
+         by the locking advance(). More dox about locking in the header.
        * testsuite/actionscript.all/rtmp.as: remove any
          trace of "rtmp" from the code to show that bug #19886
          is unrelated to RTMP.

Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- server/asobj/NetStreamFfmpeg.cpp    29 May 2007 16:43:43 -0000      1.65
+++ server/asobj/NetStreamFfmpeg.cpp    29 May 2007 21:38:35 -0000      1.66
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetStreamFfmpeg.cpp,v 1.65 2007/05/29 16:43:43 strk Exp $ */
+/* $Id: NetStreamFfmpeg.cpp,v 1.66 2007/05/29 21:38:35 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -81,8 +81,6 @@
 
 void NetStreamFfmpeg::pause(int mode)
 {
-       boost::mutex::scoped_lock lock(decoding_mutex);
-
        if (mode == -1)
        {
                if (m_pause) unpauseDecoding();
@@ -104,10 +102,6 @@
 void NetStreamFfmpeg::close()
 {
 
-       log_debug("Thread %d locking on ::close", pthread_self());
-       boost::mutex::scoped_lock lock(decoding_mutex);
-       log_debug(" obtained (close)");
-
        if (m_go)
        {
                // terminate thread
@@ -212,9 +206,6 @@
 void
 NetStreamFfmpeg::play(const std::string& c_url)
 {
-       log_debug("Thread %d locking on ::play", pthread_self());
-       boost::mutex::scoped_lock  lock(decoding_mutex);
-       log_debug(" obtained (play)");
 
        // Is it already playing ?
        if (m_go)

Index: server/asobj/NetStreamFfmpeg.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/asobj/NetStreamFfmpeg.h      29 May 2007 11:01:41 -0000      1.35
+++ server/asobj/NetStreamFfmpeg.h      29 May 2007 21:38:35 -0000      1.36
@@ -15,7 +15,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: NetStreamFfmpeg.h,v 1.35 2007/05/29 11:01:41 strk Exp $ */
+/* $Id: NetStreamFfmpeg.h,v 1.36 2007/05/29 21:38:35 strk Exp $ */
 
 #ifndef __NETSTREAMFFMPEG_H__
 #define __NETSTREAMFFMPEG_H__
@@ -181,12 +181,22 @@
        ~NetStreamFfmpeg();
 
        // Locks decoding_mutex
+       //
+       /// does NOT lock decoding_mutex, intended to be called
+       /// by ::advance which locks and by destructor (locking in destructor 
might be needed)
+       ///
        void close();
 
        /// Locks decoding_mutex
+       //
+       /// does NOT lock decoding_mutex, intended to be only called
+       /// by ::advance, itself locking.
+       ///
        void pause(int mode);
 
-       /// Locks decoding_mutex
+       /// does NOT lock decoding_mutex, intended to be only called
+       /// by ::advance, itself locking.
+       ///
        void play(const std::string& source);
 
        /// Locks decoding_mutex
@@ -224,13 +234,19 @@
 
        // Pauses the decoding - don't directly modify m_pause!!
        //
-       // does NOT lock decoding_mutex, use ::pause() for that
+       // does NOT lock decoding_mutex. Users:
+       //      - ::decodeFLVFrame() not locking  byt called by av_streamer 
which locks
+       //      - ::pause() not locking but called by ::advance
+       //      - ::play() not locking but called by ::advance which locks
        //
        void pauseDecoding();
 
        // Unpauses/resumes the decoding - don't directly modify m_pause!!
        //
-       // does NOT lock decoding_mutex, used by ::av_streamer() which locks
+       // does NOT lock decoding_mutex. Users:
+       //      - ::av_streamer() which locks
+       //      - ::play() not locking but called by ::advance which locks
+       //      - ::startPlayback() not locking but called by ::av_streamer
        //
        void unpauseDecoding();
 




reply via email to

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