[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libbase/LoadThread.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog libbase/LoadThread.cpp |
Date: |
Mon, 18 Feb 2008 22:35:31 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/02/18 22:35:31
Modified files:
. : ChangeLog
libbase : LoadThread.cpp
Log message:
update _streamSize on eof, as the http-advertised stream size can't be
relied upon.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5681&r2=1.5682
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/LoadThread.cpp?cvsroot=gnash&r1=1.19&r2=1.20
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5681
retrieving revision 1.5682
diff -u -b -r1.5681 -r1.5682
--- ChangeLog 18 Feb 2008 20:25:08 -0000 1.5681
+++ ChangeLog 18 Feb 2008 22:35:30 -0000 1.5682
@@ -1,3 +1,8 @@
+2008-02-18 Sandro Santilli <address@hidden>
+
+ * libbase/LoadThread.cpp: update _streamSize on eof, as the
+ http-advertised stream size can't be relied upon.
+
2008-02-18 Russ Nelson <address@hidden>
* libmedia/gst/VideoDecoderGst.cpp
Index: libbase/LoadThread.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/LoadThread.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- libbase/LoadThread.cpp 21 Jan 2008 20:55:43 -0000 1.19
+++ libbase/LoadThread.cpp 18 Feb 2008 22:35:31 -0000 1.20
@@ -16,9 +16,10 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-// $Id: LoadThread.cpp,v 1.19 2008/01/21 20:55:43 rsavoye Exp $
+// $Id: LoadThread.cpp,v 1.20 2008/02/18 22:35:31 strk Exp $
#include "LoadThread.h"
+#include "log.h"
#if defined(_WIN32) || defined(WIN32)
# include <windows.h> // for sleep()
@@ -295,7 +296,11 @@
_loadPosition = ret;
_streamSize = _stream->get_size();
- if ( ret < setupSize ) _completed = true;
+ if ( ret < setupSize )
+ {
+ _completed = true;
+ if ( _streamSize < _loadPosition ) _streamSize = _loadPosition;
+ }
}
void LoadThread::downloadThread(LoadThread* lt)
@@ -317,8 +322,12 @@
void LoadThread::fillCache()
{
+ // TODO: is this needed ? Should it be an assertion ?
if (_loadPosition >= _streamSize) {
_completed = true;
+ _streamSize = _loadPosition;
+ // I don't see how should this happen...
+ gnash::log_error("LoadThread::fillCache: _loadPosition:%ld,
_streamSize:%ld", _loadPosition, _streamSize);
return;
}
@@ -357,15 +366,19 @@
}
_loadPosition = _loadPosition + ret;
+ if ( _streamSize < _loadPosition ) _streamSize = _loadPosition;
_actualPosition = _loadPosition;
}
void LoadThread::download()
{
+ // TODO: is this needed ? Should it be an assertion ?
if (_loadPosition >= _streamSize) {
_loadPosition = _streamSize;
_completed = true;
+ _streamSize = _loadPosition;
+ gnash::log_error("LoadThread::download: _loadPosition:%ld,
_streamSize:%ld", _loadPosition, _streamSize);
return;
}
@@ -386,7 +399,8 @@
}
_loadPosition = pos;
- assert(_loadPosition <= _streamSize);
+ // _streamSize can't be relied upon
+ if ( _streamSize < _loadPosition ) _streamSize = _loadPosition;
_actualPosition = pos;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog libbase/LoadThread.cpp,
Sandro Santilli <=