[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-common-cvs
Subject:    [Common-cvs] runtime/pub/hlxclib stdlib.h,1.13,1.14
From:       dcollins () helixcommunity ! org
Date:       2010-10-21 21:54:56
Message-ID: 201010212155.o9LLtDEf002497 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/common/runtime/pub/hlxclib
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv18982

Modified Files:
	stdlib.h 
Log Message:
Synopsis
========
Large-File Support updates for mp4ff, server mmapmgr and server http

Branches: HEAD
Reviewers: Chytanya


Description
===========

This contains various updates related to Large-File Support in 64-bit
server builds.  The primary modules/objects updated are mp4ff, 
server memory-mapped I/O, and server HTTP protocol support.

In most cases, 32-bit offsets were changed to HX_OFF_T.  This allows
64-bit server builds to serve large (>4GB) MP4/3GP files via RTSP
streaming and HTTP progressive download.

The main exception was the server's HTTP byte-range code which was
updated to use UINT64's for all server builds, 32-bit and 64-bit.
While a 32-bit build should now be able to parse 64-bit Range headers
without generating bogus offsets, it would still be limited by the 32-bit
file offset limitation of the typical 32-bit builds.

The 64-bit MP4 support in the hxclient_2_1_0_cayenne and
hxclient_4_2_0_brizo branches were reviewed as part of this.  Aside from
being incomplete for the server's needs, these were not very practical to
merge to the HEAD since these broke binary compatability for 32-bit builds
by changing numerous UINT32's to UINT64's.  This is why the approach
used was to leverage the HX_OFF_T type.  It will ease the transition and
provide more flexibility for various builds.  These branches have also
diverged from the HEAD somewhat and a direct merge was not going to work
very well.

Supporting 64-bit large files with 32-bit builds of the server (or
other products) should be able to leverage most of this, though it is
not specifically part of this project so it will not work with these
changes alone.



Files Affected
==============

common/fileio/fdbufdataf.cpp
common/fileio/mmapmgr.cpp
common/fileio/mmapmgr.h
common/fileio/platform/unix/mmapdatf.cpp
common/fileio/platform/unix/mmapdatf.h
common/include/hxprdnld.h
common/runtime/pub/hlxclib/stdlib.h
datatype/mp4/fileformat/atomizer.cpp
datatype/mp4/fileformat/fswtchr.cpp
datatype/mp4/fileformat/pub/atomizer.h
datatype/mp4/fileformat/pub/fswtchr.h
datatype/mp4/fileformat/pub/hxfswch.h
datatype/mp4/fileformat/pub/qtatmmgs.h
datatype/mp4/fileformat/pub/qtatoms.h
datatype/mp4/fileformat/pub/qtatoms_inline.h
datatype/mp4/fileformat/pub/qtbatom.h
datatype/mp4/fileformat/pub/qtffplin.h
datatype/mp4/fileformat/pub/qtmcache.h
datatype/mp4/fileformat/pub/qttrack.h
datatype/mp4/fileformat/qtatoms.cpp
datatype/mp4/fileformat/qtbatom.cpp
datatype/mp4/fileformat/qtffplin.cpp
datatype/mp4/fileformat/qttrack.cpp
datatype_rn/mp4/fileformat/hinttrack/qthinttrack.cpp
datatype_rn/mp4/fileformat/hinttrack/qtsample.h
filesystem/local/full/smplfsys.cpp
protocol/http/httpmsg.cpp
protocol/http/httppars.cpp
protocol/http/pub/httpmsg.h
server/engine/core/dispatchq.cpp
server/engine/dataflow/http.cpp
server/engine/dataflow/pub/http.h
server/protocol/http/httpbaseproto.cpp
server/protocol/http/http_demux.cpp
server/protocol/http/httpprot.cpp
server/protocol/http/pub/httpprot.h
server/protocol/http/servhttppost.cpp
server-restricted/protocol/http/httpallow.cpp
server-restricted/protocol/http/httprange.cpp
server-restricted/protocol/http/pub/httprange.h


Testing Performed
=================

Unit Tests:
- N/A

Integration Tests:
- Tested with Memory-mapped I/O enabled and disabled, using RTSP/UDP and
  HTTP progressive download.  Tested with Mac Quicktime, Windows VLC,
  and RealPlayer SP players with varying degrees of player functionality.
  Also tested byte-ranges retrieval with curl.


Leak Tests:
- N/A

Performance Tests:
- N/A

Platforms Tested: linux-rhel5-x86_64
Builds Verified: linux-rhel5-x86_64, sunos-5.10-sparc64, win-x86_64-vc10


QA Hints
========
- N/A


Index: stdlib.h
===================================================================
RCS file: /cvsroot/common/runtime/pub/hlxclib/stdlib.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- stdlib.h	18 Jan 2008 19:18:40 -0000	1.13
+++ stdlib.h	21 Oct 2010 21:54:54 -0000	1.14
@@ -145,6 +145,9 @@
 {
     return _atoi64(str);
 }
+
+#define strtoull _strtoui64
+
 #endif /* _WINDOWS */
 
 #if defined (_MACINTOSH) 


_______________________________________________
Common-cvs mailing list
Common-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/common-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic