[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/NetStreamFfmpeg.cpp |
Date: |
Fri, 06 Jun 2008 20:44:50 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/06/06 20:44:50
Modified files:
. : ChangeLog
server/asobj : NetStreamFfmpeg.cpp
Log message:
(advance): don't feed the buffer if it's already full.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6842&r2=1.6843
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.147&r2=1.148
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6842
retrieving revision 1.6843
diff -u -b -r1.6842 -r1.6843
--- ChangeLog 6 Jun 2008 20:00:19 -0000 1.6842
+++ ChangeLog 6 Jun 2008 20:44:49 -0000 1.6843
@@ -1,5 +1,10 @@
2008-06-06 Sandro Santilli <address@hidden>
+ * server/asobj/NetStreamFfmpeg.cpp (advance): don't feed the
+ buffer if it's already full.
+
+2008-06-06 Sandro Santilli <address@hidden>
+
* server/asobj/NetStreamFfmpeg.cpp (advance): if not paused
and haven't yet decoded any video frame, do so, reguardless
of buffer length (tested as being the expected behaviour).
Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -b -r1.147 -r1.148
--- server/asobj/NetStreamFfmpeg.cpp 6 Jun 2008 20:00:21 -0000 1.147
+++ server/asobj/NetStreamFfmpeg.cpp 6 Jun 2008 20:44:50 -0000 1.148
@@ -833,17 +833,20 @@
// Nothing to do if we don't have a parser
if ( ! m_parser.get() ) return;
-#ifndef LOAD_MEDIA_IN_A_SEPARATE_THREAD
- // Parse some input no matter what
- parseNextChunk();
-#endif // LOAD_MEDIA_IN_A_SEPARATE_THREAD
-
// bufferLength() would lock the mutex (which we already hold),
// so this is to avoid that.
boost::uint32_t parserTime = m_parser->getBufferLength();
boost::uint32_t playHeadTime = time();
boost::uint32_t bufferLen = parserTime > playHeadTime ?
parserTime-playHeadTime : 0;
+#ifndef LOAD_MEDIA_IN_A_SEPARATE_THREAD
+ // Fill the buffer some more if not full ...
+ if ( bufferLen < m_bufferTime && ! m_parser->parsingCompleted() )
+ {
+ parseNextChunk();
+ }
+#endif // LOAD_MEDIA_IN_A_SEPARATE_THREAD
+
// Check decoding status
if ( decodingStatus() == DEC_DECODING && bufferLen == 0 )