[xiph-commits] r7420 - in trunk/oggdsf:

illiminable at motherfish-iii.xiph.org illiminable
Thu Aug 5 19:04:06 PDT 2004


build/libOOOggWithToolsAndTests docs
sln/libOOOggWithToolsAndTests sln/oggdsf_all
src/lib/codecs/flac/filters/dsfFLACDecoder
src/lib/codecs/flac/filters/dsfFLACEncoder
src/lib/codecs/theora/filters/dsfTheoraDecoder
src/lib/codecs/theora/filters/dsfTheoraEncoder
src/lib/codecs/theora/libs/libOOTheora
src/lib/codecs/vorbis/filters/dsfVorbisDecoder
src/lib/codecs/vorbis/filters/dsfVorbisEncoder
src/lib/core/directshow/dsfOggDemux
src/lib/core/directshow/dsfOggMux src/lib/core/ogg/libOOOgg
src/lib/core/ogg/libOOOggSeek src/lib/core/ogg/libVorbisComment
src/lib/core/ogg/libVorbisCommentDotNET
src/lib/helper/libilliCore src/tests src/tests/testMuxDemux
src/tools src/tools/OOOggCommentDump src/tools/OOOggDump
src/tools/OOOggPacketise src/tools/OOOggStat src/tools/OOOggValidate
Message-ID: <E1Bsu5W-0001eS-86 at motherfish-III>

Author: illiminable
Date: Thu Aug  5 19:04:06 2004
New Revision: 7420

Added:
trunk/oggdsf/docs/pagination.txt
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.h
trunk/oggdsf/src/tests/testMuxDemux/
trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.cpp
trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.h
trunk/oggdsf/src/tests/testMuxDemux/ReadMe.txt
trunk/oggdsf/src/tests/testMuxDemux/stdafx.cpp
trunk/oggdsf/src/tests/testMuxDemux/stdafx.h
trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.cpp
trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.vcproj
trunk/oggdsf/src/tools/OOOggPacketise/
trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.cpp
trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.h
trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.cpp
trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.vcproj
trunk/oggdsf/src/tools/OOOggPacketise/ReadMe.txt
trunk/oggdsf/src/tools/OOOggPacketise/stdafx.cpp
trunk/oggdsf/src/tools/OOOggPacketise/stdafx.h
Modified:
trunk/oggdsf/build/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.vdproj
trunk/oggdsf/sln/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.sln
trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeInputPin.cpp
trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/dsfFLACDecoder.vcproj
trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj
trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp
trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/dsfTheoraDecoder.vcproj
trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.vcproj
trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraEncoder.cpp
trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/libOOTheora.vcproj
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/dsfVorbisDecoder.vcproj
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FFDShowVideoStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FLACStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/SpeexStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.h
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/VorbisStream.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/dsfOggDemux.vcproj
trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggMux/dsfOggMux.vcproj
trunk/oggdsf/src/lib/core/ogg/libOOOgg/CircularBuffer.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/IOggCallback.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/IStampedOggPacketSink.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggMuxStream.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageInterleaver.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.h
trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.vcproj
trunk/oggdsf/src/lib/core/ogg/libOOOgg/stdafx.h
trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.cpp
trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.h
trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/libOOOggSeek.vcproj
trunk/oggdsf/src/lib/core/ogg/libVorbisComment/FileComments.h
trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.cpp
trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.h
trunk/oggdsf/src/lib/core/ogg/libVorbisComment/libVorbisComment.vcproj
trunk/oggdsf/src/lib/core/ogg/libVorbisCommentDotNET/libVorbisCommentDotNET.vcproj
trunk/oggdsf/src/lib/helper/libilliCore/StringHelper.h
trunk/oggdsf/src/lib/helper/libilliCore/iBE_Math.h
trunk/oggdsf/src/lib/helper/libilliCore/iLE_Math.h
trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.h
trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.vcproj
trunk/oggdsf/src/lib/helper/libilliCore/stdafx.h
trunk/oggdsf/src/tools/OOOggCommentDump/OOOggCommentDump.vcproj
trunk/oggdsf/src/tools/OOOggDump/OOOggDump.cpp
trunk/oggdsf/src/tools/OOOggDump/OOOggDump.vcproj
trunk/oggdsf/src/tools/OOOggStat/OOOggStat.vcproj
trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.cpp
trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.vcproj
trunk/oggdsf/src/tools/OOOggValidate/OggValidationState.cpp
Log:
* New packetising code.

Modified: trunk/oggdsf/build/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.vdproj
===================================================================
--- trunk/oggdsf/build/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.vdproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/build/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.vdproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -15,6 +15,24 @@
{
"Entry"
{
+        "MsmKey" = "8:_15D86BBDBB4144F5959F2C5175939D6C"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_26C0712619CB412782A4FF601E1D24E9"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_33A59244EB2841E5B6DD26D2B0A96CA0"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
"MsmKey" = "8:_9061237CE81A4BAC9A988D1713DCE01A"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -34,18 +52,36 @@
"Entry"
{
"MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
-        "OwnerKey" = "8:_9061237CE81A4BAC9A988D1713DCE01A"
+        "OwnerKey" = "8:_15D86BBDBB4144F5959F2C5175939D6C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
+        "OwnerKey" = "8:_33A59244EB2841E5B6DD26D2B0A96CA0"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
+        "OwnerKey" = "8:_FC3DA72FCAAA4F0E8B31462D44B32FD6"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
"OwnerKey" = "8:_DFF78663650B4CF0A485185D63D04FB5"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
+        "OwnerKey" = "8:_C0BA320CDA794057812E2CF28F5EA94C"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
"OwnerKey" = "8:_9EB1B54CEB1D40979ADA34E55D07BB22"
"MsmSig" = "8:_UNDEFINED"
}
@@ -57,6 +93,18 @@
}
"Entry"
{
+        "MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
+        "OwnerKey" = "8:_9061237CE81A4BAC9A988D1713DCE01A"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BBD7397A8E5F1E7433D3C7836DB3EE7F"
+        "OwnerKey" = "8:_26C0712619CB412782A4FF601E1D24E9"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
"MsmKey" = "8:_C0BA320CDA794057812E2CF28F5EA94C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -64,18 +112,36 @@
"Entry"
{
"MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
-        "OwnerKey" = "8:_9061237CE81A4BAC9A988D1713DCE01A"
+        "OwnerKey" = "8:_15D86BBDBB4144F5959F2C5175939D6C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
+        "OwnerKey" = "8:_33A59244EB2841E5B6DD26D2B0A96CA0"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
+        "OwnerKey" = "8:_FC3DA72FCAAA4F0E8B31462D44B32FD6"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
"OwnerKey" = "8:_DFF78663650B4CF0A485185D63D04FB5"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
+        "OwnerKey" = "8:_C0BA320CDA794057812E2CF28F5EA94C"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
"OwnerKey" = "8:_9EB1B54CEB1D40979ADA34E55D07BB22"
"MsmSig" = "8:_UNDEFINED"
}
@@ -87,10 +153,34 @@
}
"Entry"
{
+        "MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
+        "OwnerKey" = "8:_9061237CE81A4BAC9A988D1713DCE01A"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_DCF47080823151CD8BF79A8AE0EA1C5D"
+        "OwnerKey" = "8:_26C0712619CB412782A4FF601E1D24E9"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
"MsmKey" = "8:_DFF78663650B4CF0A485185D63D04FB5"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
+        "Entry"
+        {
+        "MsmKey" = "8:_E2B7419C787246EDA72E0A9CF0D1D7E4"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_FC3DA72FCAAA4F0E8B31462D44B32FD6"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
}
"Configurations"
{
@@ -245,7 +335,7 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:libOOOggWithToolsAndTests"
"ProductCode" = "8:{E213AA75-8F79-4E6E-A8AE-A131AA8B4058}"
-        "PackageCode" = "8:{B7230D86-C4A7-4B42-A043-CE625A26690C}"
+        "PackageCode" = "8:{6FD96057-38DB-40FC-A668-90A6B965CB64}"
"UpgradeCode" = "8:{EC58A5EB-BA29-4AA6-B91D-26DFDB021492}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
@@ -745,9 +835,93 @@
}
"ProjectOutput"
{
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_15D86BBDBB4144F5959F2C5175939D6C"
+            {
+            "SourcePath" = "8:..\\..\\src\\lib\\helper\\libilliCore\\Debug\\libilliCore.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_26C0712619CB412782A4FF601E1D24E9"
+            {
+            "SourcePath" = "8:..\\..\\src\\tools\\OOOggPacketise\\Debug\\OOOggPacketise.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{463B5ED7-C6A3-4343-BA67-B324580BEC70}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_33A59244EB2841E5B6DD26D2B0A96CA0"
+            {
+            "SourcePath" = "8:..\\..\\src\\tools\\OOOggCommentDump\\Debug\\OOOggCommentDump.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
"{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_9061237CE81A4BAC9A988D1713DCE01A"
{
-            "SourcePath" = "8:..\\..\\src\\tools\\oooggvalidate\\debug\\OOOggValidate.exe"
+            "SourcePath" = "8:..\\..\\src\\tools\\OOOggValidate\\Debug\\OOOggValidate.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
@@ -831,7 +1005,7 @@
}
"{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_C0BA320CDA794057812E2CF28F5EA94C"
{
-            "SourcePath" = "8:..\\..\\src\\tests\\testcirclebuffer\\debug\\testCircleBuffer.exe"
+            "SourcePath" = "8:..\\..\\src\\tests\\testCircleBuffer\\Debug\\testCircleBuffer.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
@@ -885,6 +1059,62 @@
{
}
}
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_E2B7419C787246EDA72E0A9CF0D1D7E4"
+            {
+            "SourcePath" = "8:..\\..\\src\\tests\\testmuxdemux\\debug\\testMuxDemux.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{2D6BB64D-E64A-4E99-A4E8-A235C8085432}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_FC3DA72FCAAA4F0E8B31462D44B32FD6"
+            {
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libVorbisComment\\Debug\\libVorbisComment.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_ADE7E20E4D77439FB3A1B61B3F803F3B"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{DC4D86E2-72C1-4995-8FB1-0F08655E620A}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
}
"VJSharpPlugin"
{

Added: trunk/oggdsf/docs/pagination.txt
===================================================================
--- trunk/oggdsf/docs/pagination.txt	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/docs/pagination.txt	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,33 @@
+Pagination modes.
+
+* Fixed page size
+* Bounded variable page size
+
+
+Fixed Page Size
+===============
+
+if  leftoverPacket != NULL then
+    -- There is some packet left
+    while (amountLeftover) > 0 do
+          packet_out(inPacket, startFrom = packetUpto, length = MIN(spaceLeft, amountLeftOver))
+    wend
+
+
+input inPacket
+  if  inPacket.size <= spaceLeft then
+      --add inPacket to page
+      packet_out( inPacket, startFrom = 0, length = inPacket.size)
+  else
+      -- Packet must span over page
+      packet_out( inPacket, startFrom = packetUpto, length = spaceLeft)
+
+  endif
+copy spaceLeft bytes of packet into halfPacket
+      -- Other stuff
+
+
+  endif
+
+
+write min(packet.size, bufferLeft)
\ No newline at end of file

Modified: trunk/oggdsf/sln/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.sln
===================================================================
--- trunk/oggdsf/sln/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.sln	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/sln/libOOOggWithToolsAndTests/libOOOggWithToolsAndTests.sln	2004-07-30 17:33:50 UTC (rev 7420)
@@ -1,11 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libOOOgg", "..\..\src\lib\core\ogg\libOOOgg\libOOOgg.vcproj", "{223ACC19-608E-4E1B-A054-067F0CACB272}"
ProjectSection(ProjectDependencies) = postProject
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggDump", "..\..\src\tools\OOOggDump\OOOggDump.vcproj", "{73D3CA81-3BDC-42F1-8456-76224F6B337C}"
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggStat", "..\..\src\tools\OOOggStat\OOOggStat.vcproj", "{48CFEC13-E2BC-412F-8ECA-29090C7193B6}"
@@ -31,6 +33,28 @@
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggPacketise", "..\..\src\tools\OOOggPacketise\OOOggPacketise.vcproj", "{463B5ED7-C6A3-4343-BA67-B324580BEC70}"
+	ProjectSection(ProjectDependencies) = postProject
+		{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMuxDemux", "..\..\src\tests\testMuxDemux\testMuxDemux.vcproj", "{2D6BB64D-E64A-4E99-A4E8-A235C8085432}"
+	ProjectSection(ProjectDependencies) = postProject
+		{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libVorbisComment", "..\..\src\lib\core\ogg\libVorbisComment\libVorbisComment.vcproj", "{DC4D86E2-72C1-4995-8FB1-0F08655E620A}"
+	ProjectSection(ProjectDependencies) = postProject
+		{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggCommentDump", "..\..\src\tools\OOOggCommentDump\OOOggCommentDump.vcproj", "{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -63,6 +87,22 @@
{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.Build.0 = Debug|Win32
{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.ActiveCfg = Release|Win32
{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.Build.0 = Release|Win32
+		{463B5ED7-C6A3-4343-BA67-B324580BEC70}.Debug.ActiveCfg = Debug|Win32
+		{463B5ED7-C6A3-4343-BA67-B324580BEC70}.Debug.Build.0 = Debug|Win32
+		{463B5ED7-C6A3-4343-BA67-B324580BEC70}.Release.ActiveCfg = Release|Win32
+		{463B5ED7-C6A3-4343-BA67-B324580BEC70}.Release.Build.0 = Release|Win32
+		{2D6BB64D-E64A-4E99-A4E8-A235C8085432}.Debug.ActiveCfg = Debug|Win32
+		{2D6BB64D-E64A-4E99-A4E8-A235C8085432}.Debug.Build.0 = Debug|Win32
+		{2D6BB64D-E64A-4E99-A4E8-A235C8085432}.Release.ActiveCfg = Release|Win32
+		{2D6BB64D-E64A-4E99-A4E8-A235C8085432}.Release.Build.0 = Release|Win32
+		{DC4D86E2-72C1-4995-8FB1-0F08655E620A}.Debug.ActiveCfg = Debug|Win32
+		{DC4D86E2-72C1-4995-8FB1-0F08655E620A}.Debug.Build.0 = Debug|Win32
+		{DC4D86E2-72C1-4995-8FB1-0F08655E620A}.Release.ActiveCfg = Release|Win32
+		{DC4D86E2-72C1-4995-8FB1-0F08655E620A}.Release.Build.0 = Release|Win32
+		{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}.Debug.ActiveCfg = Debug|Win32
+		{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}.Debug.Build.0 = Debug|Win32
+		{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}.Release.ActiveCfg = Release|Win32
+		{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-07-30 17:33:50 UTC (rev 7420)
@@ -5,11 +5,13 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libOOOgg", "..\..\src\lib\core\ogg\libOOOgg\libOOOgg.vcproj", "{223ACC19-608E-4E1B-A054-067F0CACB272}"
ProjectSection(ProjectDependencies) = postProject
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libOOOggSeek", "..\..\src\lib\core\ogg\libOOOggSeek\libOOOggSeek.vcproj", "{9A14F6AC-BC6E-401A-A300-07369BD6C5FE}"
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfAbstractAudioDecoder", "..\..\src\lib\core\directshow\dsfAbstractAudioDecoder\dsfAbstractAudioDecoder.vcproj", "{BE48BAC3-F0DE-47AA-8192-C2A52798E0E5}"
@@ -47,6 +49,7 @@
{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{9A14F6AC-BC6E-401A-A300-07369BD6C5FE} = {9A14F6AC-BC6E-401A-A300-07369BD6C5FE}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfOggMux", "..\..\src\lib\core\directshow\dsfOggMux\dsfOggMux.vcproj", "{2EBA839A-CE6E-406E-9A43-CC6FB25A78CB}"
@@ -54,6 +57,7 @@
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libFLAC_dynamic", "..\..\src\lib\codecs\flac\libs\libflac\src\libFLAC\libFLAC_dynamic.vcproj", "{A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA}"
@@ -72,6 +76,7 @@
{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{BE48BAC3-F0DE-47AA-8192-C2A52798E0E5} = {BE48BAC3-F0DE-47AA-8192-C2A52798E0E5}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbis", "..\..\src\lib\codecs\vorbis\libs\libvorbis\win32\vorbis_dynamic.vcproj", "{95720FE9-89D5-4DCD-9A75-EE73BDF58AB2}"
@@ -86,6 +91,7 @@
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4} = {AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4}
{BE48BAC3-F0DE-47AA-8192-C2A52798E0E5} = {BE48BAC3-F0DE-47AA-8192-C2A52798E0E5}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfishsound", "..\..\src\lib\codecs\helper\libfishsound\win32\libfishsound.vcproj", "{AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4}"
@@ -106,6 +112,7 @@
{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4} = {AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfSpeexDecoder", "..\..\src\lib\codecs\speex\filters\dsfSpeexDecoder\dsfSpeexDecoder.vcproj", "{3FB9B20E-790A-402F-A02C-B0FBDC5938E3}"
@@ -135,6 +142,7 @@
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
{2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA} = {2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfTheoraDecoder", "..\..\src\lib\codecs\theora\filters\dsfTheoraDecoder\dsfTheoraDecoder.vcproj", "{11CBDFD6-0D73-40C0-95DF-997C5FD873F2}"
@@ -144,6 +152,7 @@
{A3BFBA6A-9B45-44C3-8FB0-A16FA2D9E487} = {A3BFBA6A-9B45-44C3-8FB0-A16FA2D9E487}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{6B20BD7A-644B-4087-9CAC-71B2D68D0231} = {6B20BD7A-644B-4087-9CAC-71B2D68D0231}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggDump", "..\..\src\tools\OOOggDump\OOOggDump.vcproj", "{73D3CA81-3BDC-42F1-8456-76224F6B337C}"
@@ -943,6 +952,7 @@
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{AE32588D-2807-4796-9E68-C9104817BC1A} = {AE32588D-2807-4796-9E68-C9104817BC1A}
{9A14F6AC-BC6E-401A-A300-07369BD6C5FE} = {9A14F6AC-BC6E-401A-A300-07369BD6C5FE}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTags", "..\..\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj", "{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
@@ -967,6 +977,7 @@
{6B20BD7A-644B-4087-9CAC-71B2D68D0231} = {6B20BD7A-644B-4087-9CAC-71B2D68D0231}
{AD2DC5BB-AC7B-482D-9472-19BB98A833CE} = {AD2DC5BB-AC7B-482D-9472-19BB98A833CE}
{2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA} = {2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libWinCMMLParse", "..\..\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj", "{23BAAF7B-AEC3-4812-AA91-7E5061E83A39}"
@@ -984,12 +995,14 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libVorbisComment", "..\..\src\lib\core\ogg\libVorbisComment\libVorbisComment.vcproj", "{DC4D86E2-72C1-4995-8FB1-0F08655E620A}"
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OOOggCommentDump", "..\..\src\tools\OOOggCommentDump\OOOggCommentDump.vcproj", "{43DE5FC7-7E6F-43FE-AD8A-FBBA7AF5D139}"
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
{DC4D86E2-72C1-4995-8FB1-0F08655E620A} = {DC4D86E2-72C1-4995-8FB1-0F08655E620A}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CLOgg", "..\..\src\tools\CLOgg\CLOgg.vcproj", "{9FAC2038-9D4F-4309-B79F-CF7C32BEE60F}"
@@ -1040,12 +1053,14 @@
{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
{A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA} = {A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libVorbisCommentDotNET", "..\..\src\lib\core\ogg\libVorbisCommentDotNET\libVorbisCommentDotNET.vcproj", "{CD8398F5-6FF7-4BDA-9E48-ADF6C64A4747}"
ProjectSection(ProjectDependencies) = postProject
{FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
{DC4D86E2-72C1-4995-8FB1-0F08655E620A} = {DC4D86E2-72C1-4995-8FB1-0F08655E620A}
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOCE", "..\..\src\tools\iOCE\iOCE.csproj", "{8BFD6626-7D04-4DB8-836C-767DBD256F33}"
@@ -1086,6 +1101,10 @@
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilliCore", "..\..\src\lib\helper\libilliCore\libilliCore.vcproj", "{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -1336,7 +1355,6 @@
{73D3CA81-3BDC-42F1-8456-76224F6B337C}.Release Unicode.ActiveCfg = Release|Win32
{73D3CA81-3BDC-42F1-8456-76224F6B337C}.Release Unicode.Build.0 = Release|Win32
{3214DF66-3E46-4E44-BF9D-BC7502B88C29}.Debug.ActiveCfg = Debug
-		{3214DF66-3E46-4E44-BF9D-BC7502B88C29}.Debug.Build.0 = Debug
{3214DF66-3E46-4E44-BF9D-BC7502B88C29}.Debug Unicode.ActiveCfg = Debug
{3214DF66-3E46-4E44-BF9D-BC7502B88C29}.Debug Unicode.Build.0 = Debug
{3214DF66-3E46-4E44-BF9D-BC7502B88C29}.MakeFile.ActiveCfg = Release
@@ -1566,7 +1584,6 @@
{191217F4-1F30-426D-A2AB-A9E613D9A401}.Release Unicode.ActiveCfg = Release|Win32
{191217F4-1F30-426D-A2AB-A9E613D9A401}.Release Unicode.Build.0 = Release|Win32
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Debug.ActiveCfg = Debug
-		{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Debug.Build.0 = Debug
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Debug Unicode.ActiveCfg = Debug
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Debug Unicode.Build.0 = Debug
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.MakeFile.ActiveCfg = Release
@@ -1576,7 +1593,6 @@
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Release Unicode.ActiveCfg = Release
{10F62E34-7F7E-415B-A0F4-9E1AE9704282}.Release Unicode.Build.0 = Release
{100109AA-F219-4934-9B21-0FCD25244860}.Debug.ActiveCfg = Debug
-		{100109AA-F219-4934-9B21-0FCD25244860}.Debug.Build.0 = Debug
{100109AA-F219-4934-9B21-0FCD25244860}.Debug Unicode.ActiveCfg = Debug
{100109AA-F219-4934-9B21-0FCD25244860}.Debug Unicode.Build.0 = Debug
{100109AA-F219-4934-9B21-0FCD25244860}.MakeFile.ActiveCfg = Release
@@ -1586,7 +1602,6 @@
{100109AA-F219-4934-9B21-0FCD25244860}.Release Unicode.ActiveCfg = Release
{100109AA-F219-4934-9B21-0FCD25244860}.Release Unicode.Build.0 = Release
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Debug.ActiveCfg = Debug
-		{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Debug.Build.0 = Debug
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Debug Unicode.ActiveCfg = Debug
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Debug Unicode.Build.0 = Debug
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.MakeFile.ActiveCfg = Release
@@ -1596,26 +1611,33 @@
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Release Unicode.ActiveCfg = Release
{41CF6297-C38A-44E3-A564-25DB7E2904FC}.Release Unicode.Build.0 = Release
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Debug.ActiveCfg = Debug
-		{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Debug.Build.0 = Debug
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Debug Unicode.ActiveCfg = Debug
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.MakeFile.ActiveCfg = Release
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Release.ActiveCfg = Release
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Release.Build.0 = Release
{A8FB902E-7246-46D2-9916-6DAFDB67E22B}.Release Unicode.ActiveCfg = Release
{E2A342FB-F183-4076-88D4-06F109CA5415}.Debug.ActiveCfg = Debug
-		{E2A342FB-F183-4076-88D4-06F109CA5415}.Debug.Build.0 = Debug
{E2A342FB-F183-4076-88D4-06F109CA5415}.Debug Unicode.ActiveCfg = Debug
{E2A342FB-F183-4076-88D4-06F109CA5415}.MakeFile.ActiveCfg = Release
{E2A342FB-F183-4076-88D4-06F109CA5415}.Release.ActiveCfg = Release
{E2A342FB-F183-4076-88D4-06F109CA5415}.Release.Build.0 = Release
{E2A342FB-F183-4076-88D4-06F109CA5415}.Release Unicode.ActiveCfg = Release
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Debug.ActiveCfg = Debug
-		{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Debug.Build.0 = Debug
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Debug Unicode.ActiveCfg = Debug
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.MakeFile.ActiveCfg = Release
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Release.ActiveCfg = Release
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Release.Build.0 = Release
{0176E805-7F0B-4144-9A31-2CE1DD228AC5}.Release Unicode.ActiveCfg = Release
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.ActiveCfg = Debug|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.Build.0 = Debug|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.ActiveCfg = Debug|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.Build.0 = Debug|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.MakeFile.ActiveCfg = Release|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.MakeFile.Build.0 = Release|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.ActiveCfg = Release|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.Build.0 = Release|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.ActiveCfg = Release|Win32
+		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionItems) = postSolution
EndGlobalSection

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeInputPin.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeInputPin.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -277,7 +277,8 @@
}

ASSERT(mPendingPackets.size() == 0);
-		mPendingPackets.push(new OggPacket(locBuff, inNumBytes, true));
+														//Packet not truncated or continued.. it's a full packet.
+		mPendingPackets.push(new OggPacket(locBuff, inNumBytes, false, false));
ASSERT(mPendingPackets.size() == 1);
if (mGotMetaData) {
int locRet = 0;

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/dsfFLACDecoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/dsfFLACDecoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/dsfFLACDecoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFFLACDECODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -81,7 +81,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACDECODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -79,7 +79,7 @@
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
RuntimeLibrary="2"
UsePrecompiledHeader="3"

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -304,7 +304,8 @@
long TheoraDecodeInputPin::decodeData(BYTE* inBuf, long inNumBytes, LONGLONG inStart, LONGLONG inEnd)
{
DbgLog((LOG_TRACE,1,TEXT("decodeData")));
-	StampedOggPacket* locPacket = new StampedOggPacket(inBuf, inNumBytes, true, inStart, inEnd, StampedOggPacket::OGG_END_ONLY);
+																	//Not truncated or continued... it's a full packet
+	StampedOggPacket* locPacket = new StampedOggPacket(inBuf, inNumBytes, false, false, inStart, inEnd, StampedOggPacket::OGG_END_ONLY);
yuv_buffer* locYUV = mTheoraDecoder->decodeTheora(locPacket);
if (locYUV != NULL) {
if (TheoraDecoded(locYUV) != 0) {

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/dsfTheoraDecoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/dsfTheoraDecoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/dsfTheoraDecoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFTHEORADECODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFTHEORADECODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFTHEORAENCODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFTHEORAENCODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraEncoder.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraEncoder.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraEncoder.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -89,7 +89,8 @@
//Need to clone the packet data
unsigned char* locBuff = new unsigned char[inOldPacket->bytes];
memcpy((void*)locBuff, (const void*)inOldPacket->packet, inOldPacket->bytes);
-	StampedOggPacket* locOggPacket = new StampedOggPacket(locBuff, inOldPacket->bytes, true, NOT_USED, inOldPacket->granulepos, StampedOggPacket::OGG_END_ONLY);
+																					//Not truncated or continued... it's a full packet.
+	StampedOggPacket* locOggPacket = new StampedOggPacket(locBuff, inOldPacket->bytes, false, false, NOT_USED, inOldPacket->granulepos, StampedOggPacket::OGG_END_ONLY);
return locOggPacket;

}

Modified: trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/libOOTheora.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/libOOTheora.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/libOOTheora.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\libtheora\include;..\..\..\..\core\ogg\libogg\include"
+				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\libtheora\include;..\..\..\..\core\ogg\libogg\include;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBOOTHEORA_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -78,7 +78,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\libtheora\include;..\..\..\..\core\ogg\libogg\include"
+				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\libtheora\include;..\..\..\..\core\ogg\libogg\include;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBOOTHEORA_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/dsfVorbisDecoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/dsfVorbisDecoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/dsfVorbisDecoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFVORBISDECODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVORBISDECODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FFDShowVideoStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FFDShowVideoStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FFDShowVideoStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -141,10 +141,10 @@
//------------------------------------------


-	__int64 locTimePerBlock = OggMath::CharArrToInt64(mHeaderPack->packetData() + 17);
+	__int64 locTimePerBlock = iLE_Math::CharArrToInt64(mHeaderPack->packetData() + 17);


-	__int64 locSamplesPerBlock = OggMath::CharArrToInt64(mHeaderPack->packetData() + 25);
+	__int64 locSamplesPerBlock = iLE_Math::CharArrToInt64(mHeaderPack->packetData() + 25);


mFFDShowVideoFormatBlock->AvgTimePerFrame = locTimePerBlock / locSamplesPerBlock;
@@ -159,8 +159,8 @@
mFFDShowVideoFormatBlock->bmiHeader.biClrUsed = 0;        //Use max colour depth
mFFDShowVideoFormatBlock->bmiHeader.biCompression = mFourCCCode;

-	unsigned long locHeight = OggMath::charArrToULong(mHeaderPack->packetData() + 49);
-	unsigned long locWidth =  OggMath::charArrToULong(mHeaderPack->packetData() + 45);
+	unsigned long locHeight = iLE_Math::charArrToULong(mHeaderPack->packetData() + 49);
+	unsigned long locWidth =  iLE_Math::charArrToULong(mHeaderPack->packetData() + 45);

mFFDShowVideoFormatBlock->dwBitRate = 0;

@@ -204,7 +204,8 @@
:	mLastTimeStamp;

//debugLog << "Packet :    Start   =   "<<locStart<<"     -   End   =   "<<locEnd<<endl;
-	StampedOggPacket* locPack = new StampedOggPacket(locBuff, inPacket->packetSize() - 1, true, locStart, locEnd, StampedOggPacket::DIRECTSHOW);
+																					//We should only be delivering full packets here.
+	StampedOggPacket* locPack = new StampedOggPacket(locBuff, inPacket->packetSize() - 1, false, false, locStart, locEnd, StampedOggPacket::DIRECTSHOW);
return OggStream::dispatchPacket(locPack);
}
BYTE* FFDShowVideoStream::getFormatBlock() {

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FLACStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FLACStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/FLACStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -31,7 +31,7 @@

#include "StdAfx.h"
#include "FLACstream.h"
-#include "FLACMath.h"
+//#include "FLACMath.h"

FLACStream::FLACStream(OggPage* inBOSPage, OggDemuxSourceFilter* inOwningFilter, bool inAllowSeek)
:	OggStream(inBOSPage, inOwningFilter, inAllowSeek)
@@ -70,7 +70,7 @@
//Fix the format block data... use header version and other version.
//mFLACFormatBlock->FLACVersion = FLACMath::charArrToULong(mCodecHeaders->getPacket(1)->packetData() + 28);
mFLACFormatBlock->numChannels = (((mCodecHeaders->getPacket(1)->packetData()[16]) & FLAC_CHANNEL_MASK) >> 1) + 1;
-	mFLACFormatBlock->sampleRate = (FLACMath::charArrToULong(mCodecHeaders->getPacket(1)->packetData() + 14)) >> 12;
+	mFLACFormatBlock->sampleRate = (iBE_Math::charArrToULong(mCodecHeaders->getPacket(1)->packetData() + 14)) >> 12;

mFLACFormatBlock->numBitsPerSample =	(((mCodecHeaders->getPacket(1)->packetData()[16] & FLAC_BPS_START_MASK) << 4)	|
((mCodecHeaders->getPacket(1)->packetData()[17] & FLAC_BPS_END_MASK) >> 4)) + 1;
@@ -101,11 +101,11 @@
//FIX::: Return values
const unsigned char MORE_HEADERS_MASK = 128;   //10000000
//We don't delete the packet... the codecheader list will delete when it's done.
-	StampedOggPacket* locPacket = processPacket(inPacket);
-	if (locPacket != NULL) {
+	//StampedOggPacket* locPacket = processPacket(inPacket);
+	if (inPacket != NULL) {
//We got a comlpete packet
-		mCodecHeaders->addPacket(locPacket);
-		if ((locPacket->packetData()[0] & MORE_HEADERS_MASK) != 0) {
+		mCodecHeaders->addPacket(inPacket);
+		if ((inPacket->packetData()[0] & MORE_HEADERS_MASK) != 0) {
mNumHeadersNeeded--;
}
}

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -39,7 +39,7 @@
,	mSourcePin(NULL)
,	mNumHeadersNeeded(0)
,	mStreamReady(false)
-	,	mPartialPacket(NULL)
+	//,	mPartialPacket(NULL)
,	mFirstRun(true)
,	mSendExcess(true)
,	mLastEndGranulePos(0)
@@ -54,6 +54,8 @@
//Yep, Sure did !
//InitCodec(inBOSPage->getPacket(0));

+	//Get the packetisers callback to our acceptstampedoggpacket function.
+	mPacketiser.setPacketSink(this);

}

@@ -62,7 +64,7 @@
//osDebug.close();
delete mSourcePin;
delete mCodecHeaders;
-	delete mPartialPacket;
+	//delete mPartialPacket;
delete mStreamLock;
//Don't try to delete owning filter !!
}
@@ -75,68 +77,95 @@
unsigned long OggStream::serialNo() {
return mSerialNo;
}
-StampedOggPacket* OggStream::processPacket(StampedOggPacket* inPacket) {
-	//You always get your own copy of a packet back from this function... you must delete it !!!
-	CAutoLock locLock(mStreamLock);
-	if (inPacket->isComplete()) {
-		if (mPartialPacket == NULL) {
-			//CASE 1 : New packet is complete and there is no partial packet.
-			//===============================================================
-
-			//Just return a *copy* of the incoming packet
-			return (StampedOggPacket*)inPacket->clone();
-		} else {
-			//CASE 2 : New packet is complete and there *is* a partial packet.
-			//================================================================
-			//Merge the packets together old one first and return them

-			//Merge new packet onto old one
-			mPartialPacket->merge(inPacket);
-			//Make a copy of the merged packet
-			StampedOggPacket* locPacket = (StampedOggPacket*)mPartialPacket->clone();
-			//Delete the old one
-			delete mPartialPacket;
-			mPartialPacket = NULL;
-			//Return the copy of the merged packet
-			return locPacket;
+bool OggStream::acceptStampedOggPacket(StampedOggPacket* inPacket) {
+    if (!mStreamReady) {
+		//Streams not ready, still headers.
+		//Stream is ready when all header packets are seen.
+		// Any data packets the are on the same page as the headers are excess packets. ???? Maybe not any more.
+		processHeaderPacket(inPacket);
+
+		if(mNumHeadersNeeded <= 0) {
+			//Make sure we create the pin if we got everything already
+			AddPin();
+			//Add pin will set streamready to true if it was all good.
}
} else {
-		if (mPartialPacket == NULL) {
-			//CASE 3 : New packet is *incomplete* and there is no partial packet
-			//==================================================================
-			//Hold onto a copy of this packet and wait for the rest.
+		//Data packets...
+		if (mFirstRun) {
+			mFirstRun = false;

-			//Take a copy of the packet and hold onto for later.
-			mPartialPacket = (StampedOggPacket*)inPacket->clone();
-			return NULL;
-		} else {
-			//CASE 4 : New packet is *incomlpete* and there *is* a partial packet
-			//===================================================================
-			//Merge the packets old first and wait for the rest
-
-			//Merge the packets together old one first
-			mPartialPacket->merge(inPacket);
-
-			return NULL;
-
-			//Heres the bug retard !!
-			//OggPacket* locPacket = mPartialPacket->clone();
-			//delete mPartialPacket;
-			//mPartialPacket = NULL;
-			//return locPacket;
-		}
+			//Deliver the header data
+			deliverCodecHeaders();
+		}
+
+		processDataPacket(inPacket);
}
+
+	return true;
}
+//bool OggStream::processPacket(StampedOggPacket* inPacket) {
+	//You always get your own copy of a packet back from this function... you must delete it !!!
+	//CAutoLock locLock(mStreamLock);
+	//if (inPacket->isComplete()) {
+	//	if (mPartialPacket == NULL) {
+	//		//CASE 1 : New packet is complete and there is no partial packet.
+	//		//===============================================================
+	//
+	//		//Just return a *copy* of the incoming packet
+	//		return (StampedOggPacket*)inPacket->clone();
+	//	} else {
+	//		//CASE 2 : New packet is complete and there *is* a partial packet.
+	//		//================================================================
+	//		//Merge the packets together old one first and return them

+	//		//Merge new packet onto old one
+	//		mPartialPacket->merge(inPacket);
+	//		//Make a copy of the merged packet
+	//		StampedOggPacket* locPacket = (StampedOggPacket*)mPartialPacket->clone();
+	//		//Delete the old one
+	//		delete mPartialPacket;
+	//		mPartialPacket = NULL;
+	//		//Return the copy of the merged packet
+	//		return locPacket;
+	//	}
+	//} else {
+	//	if (mPartialPacket == NULL) {
+	//		//CASE 3 : New packet is *incomplete* and there is no partial packet
+	//		//==================================================================
+	//		//Hold onto a copy of this packet and wait for the rest.
+
+	//		//Take a copy of the packet and hold onto for later.
+	//		mPartialPacket = (StampedOggPacket*)inPacket->clone();
+	//		return NULL;
+	//	} else {
+	//		//CASE 4 : New packet is *incomlpete* and there *is* a partial packet
+	//		//===================================================================
+	//		//Merge the packets old first and wait for the rest
+
+	//		//Merge the packets together old one first
+	//		mPartialPacket->merge(inPacket);
+	//
+	//		return NULL;
+
+	//		//Heres the bug retard !!
+	//		//OggPacket* locPacket = mPartialPacket->clone();
+	//		//delete mPartialPacket;
+	//		//mPartialPacket = NULL;
+	//		//return locPacket;
+	//	}
+	//}
+//}
+
//ANX::: Need to override here to ensure the anxdata header isn't passed through.
bool OggStream::processHeaderPacket(StampedOggPacket* inPacket) {
//FIX::: Return values

//We don't delete the packet... the codecheader list will delete when it's done.
-	StampedOggPacket* locPacket = processPacket(inPacket);
-	if (locPacket != NULL) {
+	//StampedOggPacket* locPacket = processPacket(inPacket);
+	if (inPacket != NULL) {
//We got a comlpete packet
-		mCodecHeaders->addPacket(locPacket);
+		mCodecHeaders->addPacket(inPacket);
mNumHeadersNeeded--;
}
return true;
@@ -144,34 +173,34 @@

bool OggStream::processDataPacket(StampedOggPacket* inPacket) {
//We must delete the packet we get back when we have finished
-	StampedOggPacket* locPacket = processPacket(inPacket);
-	if (locPacket != NULL) {
-		dispatchPacket(locPacket);
-		delete locPacket;
-		locPacket = NULL;
+	//StampedOggPacket* locPacket = processPacket(inPacket);
+	if (inPacket != NULL) {
+		dispatchPacket(inPacket);
+		//delete locPacket;
+		inPacket = NULL;
}

return true;
}

-bool OggStream::processExcessPacket(StampedOggPacket* inPacket) {
-	//FIX::: Return values
-
-	////We don't delete the packet we get back.. the excess list will delete when it's been sent.
-	//OggPacket* locPacket = processPacket(inPacket);
-	//if (locPacket != NULL) {
-	//	//We got a complete packet
-	//	mExcessPackets.push_back(locPacket);
-	//}
-	//New modification to fix the problem where if the last excess packet is an incomplete packet it gets lost as
-	// we don't get back a complete packet... hence we don't store it. This means when we restart we only send the
-	// full packets we saved, and then the new data. But the start of the new data is not a complete packet.
-	// This is bad !!
-
-	//New solution is to store them as partials and reassemble them whe we send.
-	mExcessPackets.push_back((StampedOggPacket*)inPacket->clone());
-	return true;
-}
+//bool OggStream::processExcessPacket(StampedOggPacket* inPacket) {
+//	//FIX::: Return values
+//
+//	////We don't delete the packet we get back.. the excess list will delete when it's been sent.
+//	//OggPacket* locPacket = processPacket(inPacket);
+//	//if (locPacket != NULL) {
+//	//	//We got a complete packet
+//	//	mExcessPackets.push_back(locPacket);
+//	//}
+//	//New modification to fix the problem where if the last excess packet is an incomplete packet it gets lost as
+//	// we don't get back a complete packet... hence we don't store it. This means when we restart we only send the
+//	// full packets we saved, and then the new data. But the start of the new data is not a complete packet.
+//	// This is bad !!
+//
+//	//New solution is to store them as partials and reassemble them whe we send.
+//	mExcessPackets.push_back(inPacket);
+//	return true;
+//}
OggDemuxSourcePin* OggStream::getPin() {
return mSourcePin;
}
@@ -194,8 +223,10 @@

void OggStream::flush() {
CAutoLock locLock(mStreamLock);
-	delete mPartialPacket;
-	mPartialPacket = NULL;
+	//delete mPartialPacket;
+	//TODO::: Tell the packetiser to flush.
+	//mPartialPacket = NULL;
+	mPacketiser.reset();
}
//ANX::: Need to override here to create anx pins
bool OggStream::AddPin() {
@@ -228,69 +259,71 @@
bool OggStream::acceptOggPage(OggPage* inOggPage) {
//FIX::: Add proper error checking.

-	StampedOggPacket* locPacket = NULL;
-	//osDebug<<"New page sets start gran to "<<mLastEndGranulePos<<endl;
+	//StampedOggPacket* locPacket = NULL;
+	////osDebug<<"New page sets start gran to "<<mLastEndGranulePos<<endl;
mLastStartGranulePos = mLastEndGranulePos;
mLastEndGranulePos = inOggPage->header()->GranulePos();

-	if (!mStreamReady) {
+	//Put the page through the packetiser.
+	return mPacketiser.acceptOggPage(inOggPage);
+	//if (!mStreamReady) {

-		for (unsigned long i = 0; i < inOggPage->numPackets(); i++) {
-			locPacket = inOggPage->getStampedPacket(i);
-			//Add a start stamp.
-
-			if (mNumHeadersNeeded > 0) {
-				//We are still getting headers
-				processHeaderPacket(locPacket);
-			} else {
-				processExcessPacket(locPacket);
-			}
-			locPacket = NULL;
-		}
+	//	for (unsigned long i = 0; i < inOggPage->numPackets(); i++) {
+	//		locPacket = inOggPage->getStampedPacket(i);
+	//		//Add a start stamp.
+	//
+	//		if (mNumHeadersNeeded > 0) {
+	//			//We are still getting headers
+	//			processHeaderPacket(locPacket);
+	//		} else {
+	//			processExcessPacket(locPacket);
+	//		}
+	//		locPacket = NULL;
+	//	}

-		if(mNumHeadersNeeded <= 0) {
-			//Make sure we create the pin if we got everything already
-			AddPin();
-		}
+	//	if(mNumHeadersNeeded <= 0) {
+	//		//Make sure we create the pin if we got everything already
+	//		AddPin();
+	//	}

-		//Maybe need a check here to make sure the pin is added
-	} else {
-		//First time round send the headers
-		if (mFirstRun) {
-			mFirstRun = false;
+	//	//Maybe need a check here to make sure the pin is added
+	//} else {
+	//	//First time round send the headers
+	//	if (mFirstRun) {
+	//		mFirstRun = false;

-			//Deliver the header data
-			deliverCodecHeaders();
-		}
+	//		//Deliver the header data
+	//		deliverCodecHeaders();
+	//	}

-		//On the first run and after stop/restart resend excess packets.
-		if (mSendExcess) {
-			mSendExcess = false;
-			unsigned long locNumExcess = (unsigned long)mExcessPackets.size();
+	//	//On the first run and after stop/restart resend excess packets.
+	//	if (mSendExcess) {
+	//		mSendExcess = false;
+	//		unsigned long locNumExcess = (unsigned long)mExcessPackets.size();

-			//for (unsigned long i = 0; i < locNumExcess; i++) {
-			//	dispatchPacket(mExcessPackets[i]);
-
-			//}
+	//		//for (unsigned long i = 0; i < locNumExcess; i++) {
+	//		//	dispatchPacket(mExcessPackets[i]);
+	//
+	//		//}

-			//New solution... se Send Exces packets for more info.
+	//		//New solution... se Send Exces packets for more info.

-			for (unsigned long i = 0; i < locNumExcess; i++) {
-				processDataPacket(mExcessPackets[i]);
-			}
-		}
+	//		for (unsigned long i = 0; i < locNumExcess; i++) {
+	//			processDataPacket(mExcessPackets[i]);
+	//		}
+	//	}

-		//Process the data packets.
-		for (unsigned long i = 0; i < inOggPage->numPackets(); i++) {
-            locPacket = inOggPage->getStampedPacket(i);
-			//Timestamp hack
-			locPacket->setStartTime(mLastStartGranulePos);
-			//
-			processDataPacket(locPacket);
-			locPacket = NULL;
-		}
-	}
-	return true;
+	//	//Process the data packets.
+	//	for (unsigned long i = 0; i < inOggPage->numPackets(); i++) {
+ //           locPacket = inOggPage->getStampedPacket(i);
+	//		//Timestamp hack
+	//		locPacket->setStartTime(mLastStartGranulePos);
+	//		//
+	//		processDataPacket(locPacket);
+	//		locPacket = NULL;
+	//	}
+	//}
+	//return true;
}

void OggStream::setSendExcess(bool inSendExcess) {

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -33,6 +33,8 @@
#include "oggdllstuff.h"
#include "StreamHeaders.h"
#include "IOggCallback.h"
+#include "IStampedOggPacketSink.h"
+#include "OggPacketiser.h"

#include "OggPage.h"
#include <fstream>
@@ -45,6 +47,8 @@

class OGG_DEMUX_API OggStream
:	public IOggCallback
+	,	protected IStampedOggPacketSink
+
{
public:
OggStream(OggPage* inBOSPage, OggDemuxSourceFilter* inOwningFilter, bool inAllowSeek);
@@ -82,13 +86,15 @@
bool streamReady();
void flush();
protected:
-
-	virtual StampedOggPacket* processPacket(StampedOggPacket* inPacket);
+	virtual bool acceptStampedOggPacket(StampedOggPacket* inPacket);
+
+	//virtual bool processPacket(StampedOggPacket* inPacket);
virtual bool processHeaderPacket(StampedOggPacket* inPacket);
virtual bool processDataPacket(StampedOggPacket* inPacket);
-	virtual bool processExcessPacket(StampedOggPacket* inPacket);
+	//virtual bool processExcessPacket(StampedOggPacket* inPacket);

-	StampedOggPacket* mPartialPacket;
+	OggPacketiser mPacketiser;
+	//StampedOggPacket* mPartialPacket;
StreamHeaders* mCodecHeaders;
vector<StampedOggPacket*> mExcessPackets;
unsigned long mSerialNo;

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/SpeexStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/SpeexStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/SpeexStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -61,9 +61,9 @@
bool SpeexStream::createFormatBlock() {
mSpeexFormatBlock = new sSpeexFormatBlock;
//Fix the format block data... use header version and other version.
-	mSpeexFormatBlock->speexVersion = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 28);
-	mSpeexFormatBlock->numChannels = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 48);
-	mSpeexFormatBlock->samplesPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 36);
+	mSpeexFormatBlock->speexVersion = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 28);
+	mSpeexFormatBlock->numChannels = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 48);
+	mSpeexFormatBlock->samplesPerSec = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 36);
return true;
}
BYTE* SpeexStream::getFormatBlock() {

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -66,19 +66,19 @@
//mTheoraFormatBlock->numChannels = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 48);
//mTheoraFormatBlock->samplesPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 36);

-	mTheoraFormatBlock->theoraVersion = (FLACMath::charArrToULong(locIdentHeader + 7)) >>8;
-	mTheoraFormatBlock->width = (FLACMath::charArrToUShort(locIdentHeader + 10)) * 16;
-	mTheoraFormatBlock->height = (FLACMath::charArrToUShort(locIdentHeader + 12)) * 16;
-	mTheoraFormatBlock->frameWidth = (FLACMath::charArrToULong(locIdentHeader + 14)) >>8;
-	mTheoraFormatBlock->frameHeight = (FLACMath::charArrToULong(locIdentHeader + 17)) >>8;
+	mTheoraFormatBlock->theoraVersion = (iBE_Math::charArrToULong(locIdentHeader + 7)) >>8;
+	mTheoraFormatBlock->width = (iBE_Math::charArrToUShort(locIdentHeader + 10)) * 16;
+	mTheoraFormatBlock->height = (iBE_Math::charArrToUShort(locIdentHeader + 12)) * 16;
+	mTheoraFormatBlock->frameWidth = (iBE_Math::charArrToULong(locIdentHeader + 14)) >>8;
+	mTheoraFormatBlock->frameHeight = (iBE_Math::charArrToULong(locIdentHeader + 17)) >>8;
mTheoraFormatBlock->xOffset = locIdentHeader[20];
mTheoraFormatBlock->yOffset = locIdentHeader[21];
-	mTheoraFormatBlock->frameRateNumerator = FLACMath::charArrToULong(locIdentHeader + 22);
-	mTheoraFormatBlock->frameRateDenominator = FLACMath::charArrToULong(locIdentHeader + 26);
-	mTheoraFormatBlock->aspectNumerator = (FLACMath::charArrToULong(locIdentHeader + 30)) >>8;
-	mTheoraFormatBlock->aspectDenominator = (FLACMath::charArrToULong(locIdentHeader + 33)) >>8;
+	mTheoraFormatBlock->frameRateNumerator = iBE_Math::charArrToULong(locIdentHeader + 22);
+	mTheoraFormatBlock->frameRateDenominator = iBE_Math::charArrToULong(locIdentHeader + 26);
+	mTheoraFormatBlock->aspectNumerator = (iBE_Math::charArrToULong(locIdentHeader + 30)) >>8;
+	mTheoraFormatBlock->aspectDenominator = (iBE_Math::charArrToULong(locIdentHeader + 33)) >>8;
mTheoraFormatBlock->colourSpace = locIdentHeader[36];
-	mTheoraFormatBlock->targetBitrate = (FLACMath::charArrToULong(locIdentHeader + 37)) >>8;
+	mTheoraFormatBlock->targetBitrate = (iBE_Math::charArrToULong(locIdentHeader + 37)) >>8;
mTheoraFormatBlock->targetQuality = (locIdentHeader[40]) >> 2;

mTheoraFormatBlock->maxKeyframeInterval= (((locIdentHeader[40]) % 4) << 3) + (locIdentHeader[41] >> 5);

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/TheoraStream.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -31,7 +31,7 @@
#pragma once

#include "oggdllstuff.h"
-#include "FLACMath.h"
+//#include "FLACMath.h"
#include "OggPage.h"
#include "OggPacket.h"


Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/VorbisStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/VorbisStream.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/VorbisStream.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -60,12 +60,12 @@
bool VorbisStream::createFormatBlock() {
//Check where this gets deleted
mVorbisFormatBlock = new sVorbisFormatBlock;
-	mVorbisFormatBlock->vorbisVersion = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 7);
+	mVorbisFormatBlock->vorbisVersion = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 7);
mVorbisFormatBlock->numChannels = mCodecHeaders->getPacket(0)->packetData()[11];
-	mVorbisFormatBlock->samplesPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 12);
-	mVorbisFormatBlock->maxBitsPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 16);
-	mVorbisFormatBlock->avgBitsPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 20);
-	mVorbisFormatBlock->minBitsPerSec = OggMath::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 24);
+	mVorbisFormatBlock->samplesPerSec = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 12);
+	mVorbisFormatBlock->maxBitsPerSec = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 16);
+	mVorbisFormatBlock->avgBitsPerSec = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 20);
+	mVorbisFormatBlock->minBitsPerSec = iLE_Math::charArrToULong(mCodecHeaders->getPacket(0)->packetData() + 24);

return true;
}

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/dsfOggDemux.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/dsfOggDemux.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/dsfOggDemux.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX_EXPORTS"
GeneratePreprocessedFile="0"
MinimalRebuild="TRUE"

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -151,7 +151,8 @@
long locBuffSize = inSample->GetActualDataLength();
unsigned char* locBuff = new unsigned char[locBuffSize];
memcpy((void*)locBuff, (const void*)locSampleBuff, inSample->GetActualDataLength());
-	StampedOggPacket* locPacket = new StampedOggPacket(locBuff, inSample->GetActualDataLength(), true, locStart, locEnd, StampedOggPacket::OGG_END_ONLY);
+																								//Not truncated or contuned... its a full packet.
+	StampedOggPacket* locPacket = new StampedOggPacket(locBuff, inSample->GetActualDataLength(), false, false, locStart, locEnd, StampedOggPacket::OGG_END_ONLY);

mPaginator.acceptStampedOggPacket(locPacket);


Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/dsfOggMux.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/dsfOggMux.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/dsfOggMux.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="C:\DXSDK\Include;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\ogg\libOOOgg;..\dsfSeeking"
+				AdditionalIncludeDirectories="C:\DXSDK\Include;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\ogg\libOOOgg;..\dsfSeeking;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGMUX_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="C:\DXSDK\Include;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\ogg\libOOOgg;..\dsfSeeking"
+				AdditionalIncludeDirectories="C:\DXSDK\Include;&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\ogg\libOOOgg;..\dsfSeeking;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGMUX_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/CircularBuffer.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/CircularBuffer.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/CircularBuffer.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -100,6 +100,7 @@
CircularBuffer(unsigned long inBufferSize);
~CircularBuffer(void);

+	//IFIFOBuffer Implementation
virtual unsigned long read(unsigned char* outData, unsigned long inBytesToRead);
virtual unsigned long write(const unsigned char* inData, unsigned long inBytesToWrite);

@@ -107,6 +108,7 @@
virtual unsigned long spaceLeft();

virtual void reset();
+	//
protected:
unsigned long mBufferSize;
unsigned long mReadPtr;

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/IOggCallback.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/IOggCallback.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/IOggCallback.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -31,9 +31,15 @@

#pragma once
#include "OggPage.h"
-
+//TODO::: Consider changing the return type to allow better feedback.
class LIBOOOGG_API IOggCallback
{
public:
+	//All callers to acceptOggPage give away their pointer
+	// to this function. All methods implementing this interface
+	// are responsible for deleting this page. All callers
+	// should NULL their pointer immediately after calling
+	// to avoid reusing them.
+	//
virtual bool acceptOggPage(OggPage* inOggPage) = 0;
};

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/IStampedOggPacketSink.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/IStampedOggPacketSink.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/IStampedOggPacketSink.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -36,5 +36,11 @@
class LIBOOOGG_API IStampedOggPacketSink
{
public:
+	//All callers to acceptStampedOggPacket give away their pointer
+	// to this function. All methods implementing this interface
+	// are responsible for deleting this page. All callers
+	// should NULL their pointer immediately after calling
+	// to avoid reusing them.
+	//
virtual bool acceptStampedOggPacket(StampedOggPacket* inPacket) = 0;
};

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -37,7 +37,7 @@
{
mBuffer = new CircularBuffer(MAX_OGG_PAGE_SIZE);

-	debugLog.open("G:\\logs\\OggDataBuffer.log", ios_base::out);
+	//debugLog.open("G:\\logs\\OggDataBuffer.log", ios_base::out);
pendingPage = NULL;
mState = AWAITING_BASE_HEADER;
mNumBytesNeeded = OggPageHeader::OGG_BASE_HEADER_SIZE;
@@ -49,7 +49,7 @@
{
mBuffer = new CircularBuffer(MAX_OGG_PAGE_SIZE);

-	debugLog.open("G:\\logs\\OggDataBufferSeek.log", ios_base::out);
+	//debugLog.open("G:\\logs\\OggDataBufferSeek.log", ios_base::out);
pendingPage = NULL;
mState = AWAITING_BASE_HEADER;
mNumBytesNeeded = OggPageHeader::OGG_BASE_HEADER_SIZE;
@@ -59,7 +59,7 @@
OggDataBuffer::~OggDataBuffer(void)
{
delete mBuffer;
-	debugLog.close();
+	//debugLog.close();
delete pendingPage;
}

@@ -90,7 +90,7 @@
//Returns how many bytes are available in the buffer

unsigned long locBytesAvail = mBuffer->numBytesAvail();				//mStream.tellp() - mStream.tellg();
-	//debugLog<<"Bytes avail = "<<locBytesAvail<<endl;
+	////debugLog<<"Bytes avail = "<<locBytesAvail<<endl;
return locBytesAvail;
}

@@ -100,7 +100,7 @@
}
OggDataBuffer::eDispatchResult OggDataBuffer::dispatch(OggPage* inOggPage) {
//TODO::: Who owns this pointer inOggPage ?
-	debugLog<<"Dispatching page..."<<endl<<endl;
+	//debugLog<<"Dispatching page..."<<endl<<endl;


//Fire off the oggpage to whoever is registered to get it
@@ -130,15 +130,15 @@
if (inData != NULL) {
//Buffer is not null and there is at least 1 byte of data.

-			debugLog<<"Fed "<<inNumBytes<<" bytes..."<<endl;
+			//debugLog<<"Fed "<<inNumBytes<<" bytes..."<<endl;

unsigned long locNumWritten = mBuffer->write(inData, inNumBytes);

if (locNumWritten < inNumBytes) {
//Handle this case... you lose data.
//Buffer is full
-				debugLog<<"Feed : Could count feed in " <<inNumBytes<<" bytes"<<endl
-						<<"Feed : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
+				//debugLog<<"Feed : Could count feed in " <<inNumBytes<<" bytes"<<endl
+				//		<<"Feed : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
locNumWritten = locNumWritten;
}

@@ -146,19 +146,19 @@

} else {
//Numbytes not equal to zero but inData point is NULL
-			debugLog<<"Feed : Fed NULL Pointer"<<endl;
+			//debugLog<<"Feed : Fed NULL Pointer"<<endl;
return FEED_NULL_POINTER;
}
} else {
//numbytes was zero... we do nothing and it's not an error.
-		debugLog<<"Feed : Fed *zero* bytes... Not an error, do nothing, return ok."<<endl;
+		//debugLog<<"Feed : Fed *zero* bytes... Not an error, do nothing, return ok."<<endl;
return FEED_OK;
}


}
OggDataBuffer::eProcessResult OggDataBuffer::processBaseHeader() {
-		debugLog<<"Processing base header..."<<endl;
+		//debugLog<<"Processing base header..."<<endl;

//Delete the previous page
delete pendingPage;
@@ -175,8 +175,8 @@
unsigned long locNumRead = mBuffer->read(locBuff, OggPageHeader::OGG_BASE_HEADER_SIZE);

if (locNumRead < OggPageHeader::OGG_BASE_HEADER_SIZE) {
-			debugLog<<"ProcessBaseHeader : ###### Read was short."<<endl;
-			debugLog<<"ProcessBaseHeader : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
+			//debugLog<<"ProcessBaseHeader : ###### Read was short."<<endl;
+			//debugLog<<"ProcessBaseHeader : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
locNumRead = locNumRead;
}

@@ -188,12 +188,12 @@
//Set the number of bytes we want for next time
mNumBytesNeeded = pendingPage->header()->NumPageSegments();

-		debugLog<<"Setting state to AWAITING_SEG_TABLE"<<endl;
+		//debugLog<<"Setting state to AWAITING_SEG_TABLE"<<endl;
//Change the state.
mState = AWAITING_SEG_TABLE;


-		debugLog<<"Bytes needed for seg table = "<<mNumBytesNeeded<<endl;
+		//debugLog<<"Bytes needed for seg table = "<<mNumBytesNeeded<<endl;
return PROCESS_OK;
}
OggDataBuffer::eProcessResult OggDataBuffer::processSegTable() {
@@ -201,27 +201,27 @@
//Assumes a valid pending page, with numPagesegments set in the header already.
//creates a chunk of memory size numpagesegments and stores it,.

-	debugLog<<"Processing Segment Table..."<<endl;
+	//debugLog<<"Processing Segment Table..."<<endl;

//TODAY::: What happens when numpage segments is zero.

//Save a local copy of the number of page segments - Get this from the already set header.
unsigned char locNumSegs = pendingPage->header()->NumPageSegments();

-	debugLog<<"Num segments = "<<(int)locNumSegs<<endl;
+	//debugLog<<"Num segments = "<<(int)locNumSegs<<endl;

//Make a local buffer the size of the segment table. 0 - 255
unsigned char* locBuff = new unsigned char[locNumSegs];

-	//debugLog<<"ProcessSegTable : Reading from buffer..."<<endl;
+	////debugLog<<"ProcessSegTable : Reading from buffer..."<<endl;

//Read the segment table from the buffer to locBuff
//mStream.read((char*)locBuff, (std::streamsize)locNumSegs);
unsigned long locNumRead = mBuffer->read(locBuff, (unsigned long)locNumSegs);

if (locNumRead < locNumSegs) {
-		debugLog<<"ProcessSegTable : ##### Short read"<<endl;
-		debugLog<<"ProcessSegTable : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
+		//debugLog<<"ProcessSegTable : ##### Short read"<<endl;
+		//debugLog<<"ProcessSegTable : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
locNumRead = locNumRead;
}

@@ -235,9 +235,9 @@

mNumBytesNeeded = pendingPage->header()->calculateDataSize();

-	debugLog<<"Num bytes needed for data = "<< mNumBytesNeeded<<endl;
+	//debugLog<<"Num bytes needed for data = "<< mNumBytesNeeded<<endl;

-	debugLog<<"Transition to AWAITING_DATA"<<endl;
+	//debugLog<<"Transition to AWAITING_DATA"<<endl;

mState = AWAITING_DATA;
return PROCESS_OK;
@@ -246,12 +246,12 @@

OggDataBuffer::eProcessResult OggDataBuffer::processDataSegment() {

-	debugLog<<"Processing Data Segment..."<<endl;
+	//debugLog<<"Processing Data Segment..."<<endl;
//Make a local buffer

unsigned long locPageDataSize = pendingPage->header()->dataSize();

-	debugLog<<"ProcessDataSegment : Page data size = "<<locPageDataSize<<endl;
+	//debugLog<<"ProcessDataSegment : Page data size = "<<locPageDataSize<<endl;
unsigned char* locBuff = NULL;// = new unsigned char[locPageDataSize];
//unsigned long locPacketOffset = 0;

@@ -259,13 +259,13 @@
unsigned char* locSegTable = pendingPage->header()->SegmentTable();
unsigned int locNumSegs = pendingPage->header()->NumPageSegments();

-	debugLog<<"ProcessDataSegment : Num segs = "<<locNumSegs<<endl;
+	//debugLog<<"ProcessDataSegment : Num segs = "<<locNumSegs<<endl;


unsigned long locCurrPackSize = 0;


-	//Read from the stream buffer to it
+	bool locIsFirstPacket = true;

for (unsigned long i = 0; i < locNumSegs; i++) {
//Packet sums the lacing values of the segment table.
@@ -297,20 +297,27 @@
unsigned long locNumRead = mBuffer->read(locBuff, locCurrPackSize);

if (locNumRead < locCurrPackSize) {
-				debugLog<<"ProcessDataSegment : ###### Short read"<<endl;
-				debugLog<<"ProcessDataSegment : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
+				//debugLog<<"ProcessDataSegment : ###### Short read"<<endl;
+				//debugLog<<"ProcessDataSegment : ** "<<mBuffer->numBytesAvail()<<" avail, "<<mBuffer->spaceLeft()<<" space left."<<endl;
locNumRead = locNumRead;
}

-
-			//FIX::: check for stream failure.
-
-			debugLog<<"Adding packet - size = "<<locCurrPackSize<<endl;
+			//debugLog<<"Adding packet - size = "<<locCurrPackSize<<endl;

//A packet ends when a lacing value is not 255. So the check for != 255 means the isComplete property of the packet is not set unless the
// lacing value is not equal to 255.
//ERROR CHECK:::
-			pendingPage->addPacket( new StampedOggPacket(locBuff, locCurrPackSize, (locSegTable[i] != 255), 0, pendingPage->header()->GranulePos(), StampedOggPacket::OGG_END_ONLY ) );
+			bool locIsContinuation = false;
+			if (locIsFirstPacket) {
+				locIsFirstPacket = false;
+				//First packet, check if the continuation flag is set.
+				if ((pendingPage->header()->HeaderFlags() & 1) == 1) {
+					//Continuation flag is set.
+					locIsContinuation = true;
+				}
+			}
+
+			pendingPage->addPacket( new StampedOggPacket(locBuff, locCurrPackSize, (locSegTable[i] == 255), locIsContinuation, 0, pendingPage->header()->GranulePos(), StampedOggPacket::OGG_END_ONLY ) );

//Reset the packet size counter.
locCurrPackSize = 0;
@@ -321,17 +328,17 @@
//Update the state for how many bytes are now needed
mNumBytesNeeded = OggPageHeader::OGG_BASE_HEADER_SIZE;

-	debugLog<<"ProcessDataSegment : num bytes needed = "<<mNumBytesNeeded<<endl;
+	//debugLog<<"ProcessDataSegment : num bytes needed = "<<mNumBytesNeeded<<endl;

//Dispatch the finished pagbve
eDispatchResult locRet = dispatch(pendingPage);

if (locRet == DISPATCH_OK) {
-        debugLog<<"ProcessDataSegment : Transition to AWAITING_BASE_HEADER"<<endl;
+        //debugLog<<"ProcessDataSegment : Transition to AWAITING_BASE_HEADER"<<endl;
mState = AWAITING_BASE_HEADER;
return PROCESS_OK;
} else {
-		debugLog<<"ProcessDataSegment : Dispatch failed."<<endl;
+		//debugLog<<"ProcessDataSegment : Dispatch failed."<<endl;
return PROCESS_DISPATCH_FAILED;
}

@@ -339,28 +346,28 @@
void OggDataBuffer::clearData() {
mBuffer->reset();

-	debugLog<<"ClearData : Transition back to AWAITING_BASE_HEADER"<<endl;
+	//debugLog<<"ClearData : Transition back to AWAITING_BASE_HEADER"<<endl;


mNumBytesNeeded = OggPageHeader::OGG_BASE_HEADER_SIZE;
mState = eState::AWAITING_BASE_HEADER;

-	//debugLog<<"ClearData : Num bytes needed = "<<mNumBytesNeeded<<endl;
+	////debugLog<<"ClearData : Num bytes needed = "<<mNumBytesNeeded<<endl;
}

OggDataBuffer::eProcessResult OggDataBuffer::processBuffer() {

while (numBytesAvail() >= mNumBytesNeeded) {
-		//debugLog<<"ProcessBuffer : Bytes Needed = "<<mNumBytesNeeded<<" --- "<<"Bytes avail = "<<numBytesAvail()<<endl;
+		////debugLog<<"ProcessBuffer : Bytes Needed = "<<mNumBytesNeeded<<" --- "<<"Bytes avail = "<<numBytesAvail()<<endl;
switch (mState) {

//QUERY:::	Should it be a bug when the if state inside the switch falls through,... potential for infinite loop.
case eState::AWAITING_BASE_HEADER:
-				debugLog<<"ProcessBuffer : State = AWAITING_BASE_HEADER"<<endl;
+				//debugLog<<"ProcessBuffer : State = AWAITING_BASE_HEADER"<<endl;

//If theres enough data to form the base header
if (numBytesAvail() >= OggPageHeader::OGG_BASE_HEADER_SIZE) {
-					debugLog<<"ProcessBuffer : Enough to process..."<<endl;
+					//debugLog<<"ProcessBuffer : Enough to process..."<<endl;

eProcessResult locResult = processBaseHeader();

@@ -373,11 +380,11 @@
break;

case eState::AWAITING_SEG_TABLE:
-				debugLog<<"ProcessBuffer : State = AWAITING_SEG_TABLE"<<endl;
+				//debugLog<<"ProcessBuffer : State = AWAITING_SEG_TABLE"<<endl;

//If there is enough data to get the segt table
if (numBytesAvail() >= pendingPage->header()->NumPageSegments()) {
-					debugLog<<"ProcessBuffer : Enough to process..."<<endl;
+					//debugLog<<"ProcessBuffer : Enough to process..."<<endl;

eProcessResult locResult = processSegTable();

@@ -390,10 +397,10 @@
break;

case eState::AWAITING_DATA:
-				debugLog<<"ProcessBuffer : State = AWAITING_DATA"<<endl;
+				//debugLog<<"ProcessBuffer : State = AWAITING_DATA"<<endl;
//If all the data segment is available
if (numBytesAvail() >= pendingPage->header()->dataSize()) {
-					debugLog<<"ProcessBuffer : Enough to process..."<<endl;
+					//debugLog<<"ProcessBuffer : Enough to process..."<<endl;

//FIX::: Need error check.
eProcessResult locResult = processDataSegment();
@@ -407,11 +414,11 @@
}
break;
case eState::LOST_PAGE_SYNC:
-				debugLog<<"ProcessBuffer : State = LOST_PAGE_SYNC"<<endl;
+				//debugLog<<"ProcessBuffer : State = LOST_PAGE_SYNC"<<endl;
return PROCESS_LOST_SYNC;
default:
//Do sometyhing ??
-				debugLog<<"ProcessBuffer : Ogg Buffer Error"<<endl;
+				//debugLog<<"ProcessBuffer : Ogg Buffer Error"<<endl;
return PROCESS_UNKNOWN_INTERNAL_ERROR;
break;
}
@@ -424,5 +431,5 @@

//Debug Only
void OggDataBuffer::debugWrite(string inString) {
-	debugLog<<inString<<endl;
+	//debugLog<<inString<<endl;
}
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggDataBuffer.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -38,7 +38,7 @@
#include "IFIFOBuffer.h"

//Only needed for debugging
-#include <fstream>
+//#include <fstream>
//
using namespace std;

@@ -61,13 +61,13 @@

enum eDispatchResult {
DISPATCH_OK,
-		DISPATCH_NO_CALLBACK = 512,
+		DISPATCH_NO_CALLBACK = 256,
DISPATCH_FALSE
};

enum eProcessResult {
PROCESS_OK,
-		PROCESS_UNKNOWN_INTERNAL_ERROR = 256,
+		PROCESS_UNKNOWN_INTERNAL_ERROR = 512,
PROCESS_STREAM_READ_ERROR,
PROCESS_DISPATCH_FAILED,
PROCESS_FAILED_TO_SET_HEADER,
@@ -123,6 +123,6 @@
virtual eDispatchResult dispatch(OggPage* inOggPage);

//DEBUG
-	fstream debugLog;
+	//fstream debugLog;
//
};

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggMuxStream.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggMuxStream.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggMuxStream.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -42,13 +42,18 @@
public:
OggMuxStream(INotifyArrival* inNotifier);
virtual ~OggMuxStream(void);
+
static const __int64 INT64_MAX = 9223372036854775807;

+	//IOggCallback implementaion.
virtual bool acceptOggPage(OggPage* inOggPage);
+
virtual OggPage* popFront();
virtual OggPage* peekFront();
+
virtual __int64 frontTime();
virtual __int64 scaledFrontTime();
+
virtual bool isEmpty();
virtual bool isEOS();
virtual bool isProcessable();
@@ -58,9 +63,9 @@

virtual bool setConversionParams(__int64 inNumerator, __int64 inDenominator, __int64 inScaleFactor, __int64 inTheoraLogKFI);
bool setConversionParams(__int64 inNumerator, __int64 inDenominator, __int64 inScaleFactor);
-

protected:
+	INotifyArrival* mNotifier;
__int64 convertTime(__int64 inGranulePos);

bool mIsEOS;
@@ -72,6 +77,4 @@
__int64 mConvScaleFactor;
__int64 mConvTheoraLogKeyFrameInterval;
deque<OggPage*> mPageQueue;
-	INotifyArrival* mNotifier;
-
};

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -33,18 +33,20 @@
#include "oggpacket.h"

OggPacket::OggPacket(void)
-	:	mPacketSize(0),
-		mPacketData(NULL),
-		mIsComplete(false)
+	:	mPacketSize(0)
+	,	mPacketData(NULL)
+	,	mIsContinuation(false)
+	,	mIsTruncated(false)

{

}

-OggPacket::OggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsComplete)
-	:	mPacketSize(inPacketSize),
-		mPacketData(inPackData),
-		mIsComplete(inIsComplete)
+OggPacket::OggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsTruncated, bool inIsContinuation)
+	:	mPacketSize(inPacketSize)
+	,	mPacketData(inPackData)
+	,	mIsContinuation(inIsContinuation)
+	,	mIsTruncated(inIsTruncated)

{
}
@@ -56,7 +58,7 @@
memcpy((void*)locBuff, (const void*)mPacketData, mPacketSize);

//Create the new packet
-	OggPacket* retPack = new OggPacket(locBuff, mPacketSize, mIsComplete);
+	OggPacket* retPack = new OggPacket(locBuff, mPacketSize, mIsTruncated, mIsContinuation);
return retPack;
}

@@ -169,15 +171,20 @@
unsigned char* OggPacket::packetData() {
return mPacketData;
}
+bool OggPacket::isTruncated() const {
+	return mIsTruncated;
+}
+bool OggPacket::isContinuation() const {
+	return mIsContinuation;
+}

+//bool OggPacket::isComplete() const {
+//	return mIsComplete;
+//}

-bool OggPacket::isComplete() const {
-	return mIsComplete;
-}
-
-void OggPacket::setIsComplete(bool inIsComplete) {
-	mIsComplete = inIsComplete;
-}
+//void OggPacket::setIsComplete(bool inIsComplete) {
+//	mIsComplete = inIsComplete;
+//}
void OggPacket::setPacketSize(unsigned long inPacketSize) {
mPacketSize = inPacketSize;
}
@@ -202,9 +209,11 @@
mPacketSize += inMorePacket->mPacketSize;

//If the next part of the packet isn't complete then this packet is not complete.
-	mIsComplete = inMorePacket->mIsComplete;
-	//Should we do this ????
-	//NO !!! It will munt the page it is contained in !
-	//delete inMorePacket;
+	//mIsComplete = inMorePacket->mIsComplete;
+	//The new packet is truncated only if the incoming packet is
+	mIsTruncated = inMorePacket->isTruncated();

+	//This is not a continuation... a continuation is a packet that does not start at the start of the real packet.
+	mIsContinuation = false;
+
}
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacket.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -33,13 +33,14 @@

#include <string>
using namespace std;
+#include "StringHelper.h"

class LIBOOOGG_API OggPacket
{
public:
//Constructors
OggPacket(void);
-	OggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsComplete);
+	OggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsTruncated, bool inIsContinuation);
virtual ~OggPacket(void);
virtual OggPacket* clone();

@@ -48,10 +49,15 @@
//Packet accessors
unsigned long packetSize() const;
unsigned char* packetData();
-	bool isComplete() const;
+	//bool isComplete() const;
+	bool isTruncated() const;
+	bool isContinuation() const;

//Packet Mutators
-	void setIsComplete (bool inIsComplete );
+	//void setIsComplete (bool inIsComplete );
+
+	void setIsTruncated(bool inIsTruncated);
+	void setIsContinuation(bool inIsContinuation);
void setPacketSize (unsigned long inPacketSize );
void setPacketData (unsigned char* inPacketData );

@@ -65,7 +71,9 @@
//Packet member data
unsigned long mPacketSize;
unsigned char* mPacketData;
-	bool mIsComplete;
+	//bool mIsComplete;
+	bool mIsTruncated;
+	bool mIsContinuation;

//TODO::Should these be here ?
string OggPacket::dumpNCharsToString(unsigned char* inStartPoint, unsigned long inNumChars) ;

Added: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,188 @@
+#include "StdAfx.h"
+#include ".\oggpacketiser.h"
+
+OggPacketiser::OggPacketiser(void)
+	:	mPacketSink(NULL)
+	,	mPendingPacket(NULL)
+	,	mPacketiserState(PKRSTATE_OK)
+{
+
+}
+OggPacketiser::OggPacketiser(IStampedOggPacketSink* inPacketSink)
+	:	mPacketSink(inPacketSink)
+	,	mPendingPacket(NULL)
+	,	mPacketiserState(PKRSTATE_OK)
+{
+
+}
+
+OggPacketiser::~OggPacketiser(void)
+{
+	//Don't delete the packet sink
+}
+
+IStampedOggPacketSink* OggPacketiser::packetSink() {
+	return mPacketSink;
+}
+void OggPacketiser::setPacketSink(IStampedOggPacketSink* inPacketSink) {
+	mPacketSink = inPacketSink;
+}
+bool OggPacketiser::reset() {
+	delete mPendingPacket;
+	mPendingPacket = NULL;
+	mState = PKRSTATE_OK;
+}
+bool OggPacketiser::acceptOggPage(OggPage* inOggPage) {
+	//All callers to acceptOggPage give away their pointer
+	// to this function. All functions implementing this interface
+	// are responsible for deleting this page. All callers
+	// should NULL their pointer immediately after calling
+	// to avoid reusing them.
+	//
+
+	//If the page header says its a continuation page...
+	if ((inOggPage->header()->HeaderFlags() & 1) == 1) {
+		///... and there is at least 1 packet...
+		if (inOggPage->numPackets() > 0) {
+			//... and we were expecting a continuation...
+			if (mPacketiserState == PKRSTATE_AWAITING_CONTINUATION) {
+				//... and the first packet is marked as a continuation...
+				if (inOggPage->getStampedPacket(0)->isContinuation()) {
+					//... merge this packet into our pending page.
+					//ASSERT when mPacketiserState = PKRSTATE_AWAITING_CONTINUATION, mPending page != NULL
+					mPendingPacket->merge(inOggPage->getStampedPacket(0));
+
+					//If even after merging this packet is still truncated...
+					if (mPendingPacket->isTruncated()) {
+						//Packet still not full. special case full page.
+						//===
+						// The only way the the pending packet can be truncated is if
+						//  the first packet in the page is truncated, and the first
+						//  packet in a page can only be truncated if it's also the
+						//  only packet on the page.
+						//Considering it is incomplete ending a page the granule pos
+						// will be -1.
+						//This is a special type of page :
+						// 1 incomlpete packet on the page
+						// Continuation flag set
+						// No complete packets end on this page
+						// Granule pos is -1
+
+
+						//We are still waiting for another continuation...
+						mPacketiserState = PKRSTATE_AWAITING_CONTINUATION;		//This should be redundant, we should already be in this state.
+						//First packet on page is now merged into pending packet.
+					} else {
+						//... the pending packet is now complete.
+
+						//TODO::: Static alternative here ?
+
+						//Deliver the packet to the packet sink...
+						mPacketSink->acceptStampedOggPacket(mPendingPacket);
+
+						//Go back to OK state
+						mPacketiserState = PKRSTATE_OK;
+						mPendingPacket = NULL;
+						//First packet on page is merged and delivered.
+					}
+					//Send every packet except the first and last to the packet sink.
+					processPage(inOggPage, false, false);
+				} else {
+					//Header flag says continuation but first packet is not continued.
+					mPacketiserState = PKRSTATE_INVALID_STREAM;
+					throw 0;
+				}
+			} else {
+				//Unexpected continuation
+				mPacketiserState = PKRSTATE_INVALID_STREAM;
+				throw 0;
+			}
+		} else {
+			//Is this something ?
+			//UNKNOWN CASE::: Header continuation flag set, but no packets on page.
+			mPacketiserState = PKRSTATE_INVALID_STREAM;
+			throw 0;
+		}
+	} else {
+		//Normal page, no continuations... just dump the packets, except the last one
+		if (inOggPage->numPackets() == 1) {
+			processPage(inOggPage, true, true);			//If there was only one pack process it.
+		} else {
+			processPage(inOggPage, true, false);			//If there was only one packet, no packets would be written
+		}
+
+		//The first packet is delivered.
+	}
+
+	//ASSERT: By this point something has been done with the first packet.
+
+	// It was either merged with pending page and possibly delivered
+	// or it was delivered by process page.
+	//Code following assumes the first packet is dealt with already.
+
+	//Now we deal with the last packet...
+	//ASSERT : The last packet has only been sent if there was 1 or less packets.
+
+	//If there is at least two packet on the page... ie at least one more packet we haven't processed.
+	if (inOggPage->numPackets() > 1) {
+		//... and we are in the OK state
+		if (mPacketiserState == PKRSTATE_OK) {
+			//If the last packet is truncated.
+			if (inOggPage->getPacket(inOggPage->numPackets() - 1)->isTruncated()) {
+				//The last packet is truncated. Save it and await continuation.
+
+				mPacketiserState = PKRSTATE_AWAITING_CONTINUATION;
+
+				//ASSERT when mPacketiserState = OK, mPendingPacket = NULL
+				mPendingPacket = (StampedOggPacket*)(inOggPage->getStampedPacket(inOggPage->numPackets() - 1)->clone());
+				//This packet is not delivered, it waits for a continuation.
+			} else {
+				//We are in the OK state, with no pending packets, and the last packet is not truncated.
+
+				//Deliver to the packet sink.
+				mPacketSink->acceptStampedOggPacket( (StampedOggPacket*)(inOggPage->getStampedPacket(inOggPage->numPackets() - 1)->clone()) );
+				//The last packet is complete. So send it.
+			}
+		} else if (mPacketiserState == PKRSTATE_AWAITING_CONTINUATION) {
+			//FIX::: This case should never occur.
+
+			//Packetiser state is not ok... what to do abo8ut it.
+
+			//See special page case above.
+			//This can only happen when we went through the special case above, and kept
+			// the state in  the continuation state. But by definition it is impossible
+			// for a subsequent packet on this page to be a continuation packet
+			// as continuation packets can only be the first packet on the page.
+			//This is more likely to be due to inconsistency of state code than invalidaity
+			// of file.
+			mPacketiserState = PKRSTATE_INVALID_STREAM;
+			throw 0;
+		} else {
+			//Shouldn't be here
+			mPacketiserState = PKRSTATE_INVALID_STREAM;
+			throw 0;
+		}
+	} else {
+		//Zero packets on page.
+	}
+
+	return true;
+}
+
+bool OggPacketiser::processPage(OggPage* inOggPage, bool inIncludeFirst, bool inIncludeLast) {
+	bool locIsOK = true;
+
+	//Adjusts the loop parameters so that only packets excluding those specified are written.
+	for (	int i = ((inIncludeFirst) ? 0 : 1);
+			i < ((int)inOggPage->numPackets()) - ((inIncludeLast) ? 0 : 1);
+			i++)
+	{
+
+				locIsOK = (locIsOK && mPacketSink->acceptStampedOggPacket(inOggPage->getStampedPacket(i)));
+				if (!locIsOK) {
+					return false;
+				}
+	}
+	return true;
+
+}
\ No newline at end of file

Added: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPacketiser.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,35 @@
+#pragma once
+#include "IOggCallback.h"
+#include "IStampedOggPacketSink.h"
+#include "OggPage.h"
+class LIBOOOGG_API OggPacketiser
+	:	public IOggCallback
+{
+public:
+
+	enum ePacketiserState {
+		PKRSTATE_OK,
+		PKRSTATE_AWAITING_CONTINUATION,
+		PKRSTATE_INVALID_STREAM
+	};
+
+	OggPacketiser(void);
+	OggPacketiser(IStampedOggPacketSink* inPacketSink);
+	virtual ~OggPacketiser(void);
+
+	void setPacketSink(IStampedOggPacketSink* inPacketSink);
+	//void setPacketSink(IStampedOggPacketSink* inPacketSink):
+	IStampedOggPacketSink* packetSink();
+	//void setPacketSink(IStampedOggPacketSink* inPacketSink):
+
+	//IOggCallback implementation
+	virtual bool acceptOggPage(OggPage* inOggPage);
+
+	bool reset();
+protected:
+    IStampedOggPacketSink* mPacketSink;
+	StampedOggPacket* mPendingPacket;
+
+	bool processPage(OggPage* inOggPage, bool inIncludeFirst, bool inIncludeLast);
+	ePacketiserState mPacketiserState;
+};

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -207,7 +207,7 @@
}
void OggPageHeader::setGranulePos(const unsigned char* inPtr)
{
-	mGranulePos = OggMath::CharArrToInt64(inPtr);
+	mGranulePos = iLE_Math::CharArrToInt64(inPtr);
}

void OggPageHeader::setStreamSerialNo(unsigned long inVal)
@@ -216,7 +216,7 @@
}
void OggPageHeader::setStreamSerialNo(const unsigned char* inPtr)
{
-	mStreamSerialNo = OggMath::charArrToULong(inPtr);
+	mStreamSerialNo = iLE_Math::charArrToULong(inPtr);
}
void OggPageHeader::setPageSequenceNo(unsigned long inVal)
{
@@ -224,7 +224,7 @@
}
void OggPageHeader::setPageSequenceNo(const unsigned char* inPtr)
{
-	mPageSequenceNo = OggMath::charArrToULong(inPtr);;
+	mPageSequenceNo = iLE_Math::charArrToULong(inPtr);;
}
void OggPageHeader::setCRCChecksum(unsigned long inVal)
{
@@ -233,7 +233,7 @@
void OggPageHeader::setCRCChecksum(const unsigned char* inPtr)
{

-	mCRCChecksum = OggMath::charArrToULong(inPtr);;
+	mCRCChecksum = iLE_Math::charArrToULong(inPtr);;
}

void OggPageHeader::setNumPageSegments(unsigned char inVal)
@@ -293,10 +293,10 @@
outData[3] = 'S';
outData[4] = mStructureVersion;
outData[5] = mHeaderFlags;
-	OggMath::Int64ToCharArr(mGranulePos, &outData[6]);
-	OggMath::ULongToCharArr(mStreamSerialNo, &outData[14]);
-	OggMath::ULongToCharArr(mPageSequenceNo, &outData[18]);
-	OggMath::ULongToCharArr(mCRCChecksum, &outData[22]);
+	iLE_Math::Int64ToCharArr(mGranulePos, &outData[6]);
+	iLE_Math::ULongToCharArr(mStreamSerialNo, &outData[14]);
+	iLE_Math::ULongToCharArr(mPageSequenceNo, &outData[18]);
+	iLE_Math::ULongToCharArr(mCRCChecksum, &outData[22]);
outData[26] = mNumPageSegments;

//TODO::: Validate the length of all this.
@@ -307,21 +307,17 @@


bool OggPageHeader::isBOS() {
-	if ( (mHeaderFlags & eHeadFlags::BOS) != 0 ) {
-		return true;
-	} else {
-		return false;
-	}
+	return ((mHeaderFlags & eHeadFlags::BOS) != 0 );
}
bool OggPageHeader::isEOS() {
-	if ( (mHeaderFlags & eHeadFlags::EOS) != 0 ) {
-		return true;
-	} else {
-		return false;
-	}
+	return ((mHeaderFlags & eHeadFlags::EOS) != 0 );
}

+bool OggPageHeader::isContinuation() {
+	return ((mHeaderFlags & eHeadFlags::CONTINUATION) != 0 );
+}

+
string OggPageHeader::toString() {

string retStr =	"Ver No      : " + StringHelper::numToString((unsigned int)mStructureVersion) + "\n";

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageHeader.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -30,11 +30,11 @@
//===========================================================================

#pragma once
-
+#include "iLE_Math.h"
#include "StringHelper.h"
//#include "OggSegmentTable.h"
//#include "OggInt64.h"
-#include "OggMath.h"
+//#include "OggMath.h"


using namespace std;
@@ -71,6 +71,7 @@
};

enum eHeadFlags {
+		CONTINUATION = 1,
BOS = 2,
EOS = 4
};
@@ -83,6 +84,7 @@
void setPageState(ePageState inPageState);

//Access header flags
+	bool isContinuation();
bool isBOS();
bool isEOS();


Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageInterleaver.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageInterleaver.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPageInterleaver.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -35,25 +35,25 @@
#include <vector>

//DEBUG ONLY
-#include <fstream>
+//#include <fstream>
//
using namespace std;
class LIBOOOGG_API OggPageInterleaver
:	public INotifyArrival
{
public:
-
OggPageInterleaver(IOggCallback* inFileWriter, INotifyComplete* inNotifier);
virtual ~OggPageInterleaver(void);

virtual OggMuxStream* newStream();
+	virtual void processData();
+	virtual void writeLowest();
+
virtual bool isProcessable();
virtual bool isAllEOS();
virtual bool isAllEmpty();
-	virtual void processData();

-	virtual void writeLowest();
-
+	//INotifyArrival Implementation
virtual void notifyArrival();

protected:

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -233,7 +233,9 @@
}
bool OggPaginator::deliverCurrentPage() {
mPendingPage->header()->setSegmentTable((const unsigned char*)mSegmentTable, mSegmentTableSize);
-	mPendingPage->header()->setDataSize(mCurrentPageSize - mPendingPage->headerSize());
+	mPendingPage->header()->setDataSize(mCurrentPageSize - mPendingPage->headerSize());  //This is odd
+
+
//mPendingPage->header()->setHeaderSize(OggPageHeader::OGG_BASE_HEADER_SIZE + mSegmentTableSize);
//mPendingPage->header()->setNumPageSegments(mSegmentTableSize);

@@ -242,7 +244,7 @@
//}
setChecksum();

-	//Should catch and propagate return value.
+	//TODO::: Should catch and propagate return value.
mPageCallback->acceptOggPage(mPendingPage);
createFreshPage();
return true;
@@ -344,6 +346,7 @@
StampedOggPacket* locPartialPacket = new StampedOggPacket(	locBuff,
inLength,
locIsLastOfPacket,
+																false,   //Not continuation
inOggPacket->startTime(),
inOggPacket->endTime(),
inOggPacket->mStampType);

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -51,9 +51,6 @@
bool acceptStampedOggPacket(StampedOggPacket* inOggPacket);

bool setPageCallback(IOggCallback* inPageCallback);
-
-
-
bool finishStream();

protected:

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -45,13 +45,15 @@
{
}

-StampedOggPacket::StampedOggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsComplete, __int64 inStartTime = 0, __int64 inEndTime = 0, unsigned short inStampType = 0)
-	:	OggPacket(inPackData, inPacketSize, inIsComplete)
+StampedOggPacket::StampedOggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsTruncated, bool inIsContinuation, __int64 inStartTime = 0, __int64 inEndTime = 0, unsigned short inStampType = 0)
+	:	OggPacket(inPackData, inPacketSize, inIsTruncated, inIsContinuation)
,	mStartTime(inStartTime)
,	mEndTime(inEndTime)
+	,	mStampType(inStampType)

+
{
-	mStampType =inStampType;
+	//mStampType =inStampType;
}

void StampedOggPacket::merge(StampedOggPacket* inMorePacket) {
@@ -78,8 +80,15 @@
mEndTime = inMorePacket->endTime();
mStampType = inMorePacket->mStampType;

+	//---::: Changed, uses two flags no.
//If the next part of the packet isn't complete then this packet is not complete.
-	mIsComplete = inMorePacket->mIsComplete;
+	//mIsComplete = inMorePacket->mIsComplete;
+
+	//The new packet is truncated only if the incoming packet is
+	mIsTruncated = inMorePacket->isTruncated();
+
+	//This is not a continuation... a continuation is a packet that does not start at the start of the real packet.
+	mIsContinuation = false;
}

OggPacket* StampedOggPacket::clone() {
@@ -90,7 +99,7 @@
memcpy((void*)locBuff, (const void*)mPacketData, mPacketSize);

//Create the new packet
-	StampedOggPacket* retPack = new StampedOggPacket(locBuff, mPacketSize, mIsComplete,mStartTime, mEndTime, mStampType);
+	StampedOggPacket* retPack = new StampedOggPacket(locBuff, mPacketSize, mIsTruncated, mIsContinuation, mStartTime, mEndTime, mStampType);
return retPack;
}
__int64 StampedOggPacket::startTime() {

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/StampedOggPacket.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -38,7 +38,7 @@
public:
//Constructors
StampedOggPacket(void);
-	StampedOggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsComplete, __int64 inStartTime, __int64 inEndTime, unsigned short inStampType);
+	StampedOggPacket(unsigned char* inPackData, unsigned long inPacketSize, bool inIsTruncated, bool inIsContinuation, __int64 inStartTime, __int64 inEndTime, unsigned short inStampType);
virtual ~StampedOggPacket(void);
virtual OggPacket* clone();


Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -30,15 +30,24 @@
//===========================================================================

#include "dllstuff.h"
-//#include <string>
-//#include <vector>
-#include "SerialNoRego.h"
-#include "CallbackRego.h"
-#include "OggDataBuffer.h"
-//#include "OggInt64.h"
-#include "OggPage.h"
-//#include "OggSegmentTable.h"
+
+#include "libilliCore.h"
+
#include "OggTypeDefs.h"
#include "IOggCallback.h"
-//#include "OggBOSPage.h"
-#include "OggMath.h"
+#include "IStampedOggPacketSink.h"
+
+#include "OggPageHeader.h"
+#include "OggPage.h"
+#include "OggPacket.h"
+#include "StampedOggPacket.h"
+
+#include "OggPacketiser.h"
+#include "OggPaginatorSettings.h"
+#include "OggPaginator.h"
+#include "OggPageInterleaver.h"
+
+#include "OggDataBuffer.h"
+
+
+

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/libOOOgg.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,6 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBOOOGG_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -76,11 +77,13 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
+				AdditionalIncludeDirectories="..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBOOOGG_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
EnableFunctionLevelLinking="TRUE"
+				EnableEnhancedInstructionSet="0"
UsePrecompiledHeader="3"
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
@@ -128,18 +131,12 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
<File
-				RelativePath="CallbackRego.cpp">
-			</File>
-			<File
RelativePath=".\CircularBuffer.cpp">
</File>
<File
RelativePath="libOOOgg.cpp">
</File>
<File
-				RelativePath="OggCallbackRego.cpp">
-			</File>
-			<File
RelativePath="OggDataBuffer.cpp">
</File>
<File
@@ -149,6 +146,9 @@
RelativePath="OggPacket.cpp">
</File>
<File
+				RelativePath=".\OggPacketiser.cpp">
+			</File>
+			<File
RelativePath="OggPage.cpp">
</File>
<File
@@ -164,9 +164,6 @@
RelativePath="OggPaginatorSettings.cpp">
</File>
<File
-				RelativePath="SerialNoRego.cpp">
-			</File>
-			<File
RelativePath="StampedOggPacket.cpp">
</File>
<File
@@ -184,17 +181,11 @@
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
-			<File
-				RelativePath="StringHelper.cpp">
-			</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc">
<File
-				RelativePath="CallbackRego.h">
-			</File>
-			<File
RelativePath=".\CircularBuffer.h">
</File>
<File
@@ -222,9 +213,6 @@
RelativePath="libOOOgg.h">
</File>
<File
-				RelativePath="OggCallbackRego.h">
-			</File>
-			<File
RelativePath="OggDataBuffer.h">
</File>
<File
@@ -234,6 +222,9 @@
RelativePath="OggPacket.h">
</File>
<File
+				RelativePath=".\OggPacketiser.h">
+			</File>
+			<File
RelativePath="OggPage.h">
</File>
<File
@@ -252,17 +243,11 @@
RelativePath="OggTypeDefs.h">
</File>
<File
-				RelativePath="SerialNoRego.h">
-			</File>
-			<File
RelativePath="StampedOggPacket.h">
</File>
<File
RelativePath="stdafx.h">
</File>
-			<File
-				RelativePath="StringHelper.h">
-			</File>
</Filter>
<Filter
Name="Resource Files"

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/stdafx.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/stdafx.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -48,15 +48,19 @@
#include <windows.h>
#include <string>
#include <vector>
-#include <fstream>
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-#include <algorithm>
+//#include <fstream>
+//#include <iostream>
+//#include <iomanip>
+//#include <sstream>
+//#include <algorithm>



using namespace std;

// TODO: reference additional headers your program requires here
-#include "StringHelper.h"
+//#include "StringHelper.h"
+#include "libilliCore.h"
+//#include "iLE_Math.h"
+//#include "iBE_Math.h"
+//#include "StringHelper.h"

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -65,12 +65,12 @@
//TODO ::: Some of this could be shared from other places.
if (!mFoundStreamInfo) {
if (strncmp((const char*)inOggPage->getPacket(0)->packetData(), "\001vorbis", 7) == 0) {
-			mSampleRate = OggMath::charArrToULong(inOggPage->getPacket(0)->packetData() + 12);
+			mSampleRate = iLE_Math::charArrToULong(inOggPage->getPacket(0)->packetData() + 12);
mNumHeaders = 3;
mSerialNoToTrack = inOggPage->header()->StreamSerialNo();
mFoundStreamInfo = true;
} else if (strncmp((const char*)inOggPage->getPacket(0)->packetData(), "Speex   ", 8) == 0) {
-			mSampleRate = OggMath::charArrToULong(inOggPage->getPacket(0)->packetData() + 36);
+			mSampleRate = iLE_Math::charArrToULong(inOggPage->getPacket(0)->packetData() + 36);
mNumHeaders = 2;
mSerialNoToTrack = inOggPage->header()->StreamSerialNo();
mFoundStreamInfo = true;
@@ -81,7 +81,7 @@
isTheora = true;
mSerialNoToTrack = inOggPage->header()->StreamSerialNo();
mGranulePosShift = (((inOggPage->getPacket(0)->packetData()[40]) % 4) << 3) + ((inOggPage->getPacket(0)->packetData()[41]) >> 5);
-			mSampleRate = FLACMath::charArrToULong(inOggPage->getPacket(0)->packetData() + 22) / FLACMath::charArrToULong(inOggPage->getPacket(0)->packetData() + 26);
+			mSampleRate = iBE_Math::charArrToULong(inOggPage->getPacket(0)->packetData() + 22) / iBE_Math::charArrToULong(inOggPage->getPacket(0)->packetData() + 26);
mNumHeaders = 3;
mFoundStreamInfo = true;
//Need denominators
@@ -103,7 +103,7 @@
mNumHeaders++;
if ((inOggPage->getPacket(i)->packetData()[0] & FLAC_HEADER_MASK) == FLAC_STREAM_INFO_ID) {
//Catch the stream info packet.
-                    mSampleRate = FLACMath::charArrToULong(inOggPage->getPacket(0)->packetData() + 14) >> 12;
+                    mSampleRate = iBE_Math::charArrToULong(inOggPage->getPacket(0)->packetData() + 14) >> 12;
//mFoundStreamInfo = true;
}
if ((inOggPage->getPacket(i)->packetData()[0] & FLAC_LAST_HEADERS_FLAG)) {

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/AutoOggSeekTable.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -34,7 +34,9 @@
#include "dllstuff.h"
#include "IOggCallback.h"
#include "OggDataBuffer.h"
-#include "FLACMath.h"
+#include "iBE_Math.h"
+#include "iLE_Math.h"
+//#include "FLACMath.h"
#include "math.h"
#include <fstream>
using namespace std;

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/libOOOggSeek.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/libOOOggSeek.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/libOOOggSeek.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\libOOOgg"
+				AdditionalIncludeDirectories="..\libOOOgg;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBOOOGGSEEK_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"

Modified: trunk/oggdsf/src/lib/core/ogg/libVorbisComment/FileComments.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libVorbisComment/FileComments.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libVorbisComment/FileComments.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -36,6 +36,7 @@
#include "OggDataBuffer.h"
#include <string>
#include <vector>
+#include <fstream>

using namespace std;


Modified: trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -102,7 +102,7 @@
return false;
}

-	locVendorLength = OggMath::charArrToULong(inPacket->packetData() + locUpto);
+	locVendorLength = iLE_Math::charArrToULong(inPacket->packetData() + locUpto);
locUpto+=4;

if (locPackSize < locUpto + locVendorLength - 1) {
@@ -131,7 +131,7 @@
return false;
}

-	locNumComments = OggMath::charArrToULong(locPackBuff + locUpto);
+	locNumComments = iLE_Math::charArrToULong(locPackBuff + locUpto);
locUpto += 4;

unsigned long locUserCommentLength = 0;
@@ -144,7 +144,7 @@
return false;
}

-		locUserCommentLength = OggMath::charArrToULong(locPackBuff + locUpto);
+		locUserCommentLength = iLE_Math::charArrToULong(locPackBuff + locUpto);
locUpto += 4;


@@ -245,17 +245,17 @@
locPackData = new unsigned char[locPackSize];
}

-	OggMath::ULongToCharArr((unsigned long)mVendorString.length(), locPackData + locUpto);
+	iLE_Math::ULongToCharArr((unsigned long)mVendorString.length(), locPackData + locUpto);
locUpto += 4;

memcpy((void*)(locPackData + locUpto), (const void*)mVendorString.c_str(), mVendorString.length());
locUpto += (unsigned long)mVendorString.length();

-	OggMath::ULongToCharArr((unsigned long)mCommentList.size(), locPackData + locUpto);
+	iLE_Math::ULongToCharArr((unsigned long)mCommentList.size(), locPackData + locUpto);
locUpto += 4;

for (size_t i = 0; i < mCommentList.size(); i++) {
-		OggMath::ULongToCharArr(mCommentList[i]->length(), locPackData + locUpto);
+		iLE_Math::ULongToCharArr(mCommentList[i]->length(), locPackData + locUpto);
locUpto += 4;

memcpy((void*)(locPackData + locUpto), (const void*)mCommentList[i]->toString().c_str(), mCommentList[i]->length());
@@ -265,7 +265,8 @@
locPackData[locUpto] = 1;

OggPacket* locPacket = NULL;
-	locPacket = new OggPacket(locPackData, locPackSize, true);
+													//Full packet not truncated or continued.
+	locPacket = new OggPacket(locPackData, locPackSize, false, false);

return locPacket;


Modified: trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libVorbisComment/VorbisComments.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -37,7 +37,7 @@
using namespace std;
#include "SingleVorbisComment.h"
#include "OggPacket.h"
-#include "OggMath.h"
+#include "iLE_Math.h"

class LIBVORBISCOMMENT_API VorbisComments
{

Modified: trunk/oggdsf/src/lib/core/ogg/libVorbisComment/libVorbisComment.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libVorbisComment/libVorbisComment.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libVorbisComment/libVorbisComment.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\libOOOgg"
+				AdditionalIncludeDirectories="..\libOOOgg;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBISCOMMENT_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -78,7 +78,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="..\libOOOgg"
+				AdditionalIncludeDirectories="..\libOOOgg;..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBVORBISCOMMENT_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/lib/core/ogg/libVorbisCommentDotNET/libVorbisCommentDotNET.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libVorbisCommentDotNET/libVorbisCommentDotNET.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/core/ogg/libVorbisCommentDotNET/libVorbisCommentDotNET.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -22,7 +22,7 @@
Name="VCCLCompilerTool"
AdditionalOptions="/Zl"
Optimization="0"
-				AdditionalIncludeDirectories="..;..\libOOOgg"
+				AdditionalIncludeDirectories="..;..\libOOOgg;..\..\..\helper\libilliCore"
AdditionalUsingDirectories="..\..\..\helper\libiWrapper\Debug"
PreprocessorDefinitions="WIN32;_DEBUG"
MinimalRebuild="FALSE"

Modified: trunk/oggdsf/src/lib/helper/libilliCore/StringHelper.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/StringHelper.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/StringHelper.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -31,9 +31,10 @@

#pragma once

-#include "dllstuff.h"
-#include <string.h>
+
+#include <string>
using namespace std;
+#include "libilliCore.h"
class LIBILLICORE_API StringHelper
{
public:

Modified: trunk/oggdsf/src/lib/helper/libilliCore/iBE_Math.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/iBE_Math.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/iBE_Math.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -30,7 +30,7 @@
//===========================================================================

#pragma once
-
+#include "libilliCore.h"
class LIBILLICORE_API iBE_Math
{
public:

Modified: trunk/oggdsf/src/lib/helper/libilliCore/iLE_Math.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/iLE_Math.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/iLE_Math.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -31,6 +31,7 @@

#pragma once

+#include "libilliCore.h"
class LIBILLICORE_API iLE_Math
{
public:

Modified: trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -10,3 +10,6 @@
#define LIBILLICORE_API __declspec(dllimport)
#endif

+//#include "iLE_Math.h"
+//#include "iBE_Math.h"
+//#include "StringHelper.h"
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.vcproj
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/libilliCore.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -22,11 +22,12 @@
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBILLICORE_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
+				RuntimeLibrary="3"
UsePrecompiledHeader="3"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
+				DebugInformationFormat="4"
+				CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -64,15 +65,25 @@
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
-			CharacterSet="2">
+			CharacterSet="2"
+			WholeProgramOptimization="TRUE">
<Tool
Name="VCCLCompilerTool"
+				Optimization="3"
+				GlobalOptimizations="TRUE"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="TRUE"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="TRUE"
+				OptimizeForProcessor="3"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBILLICORE_EXPORTS"
-				RuntimeLibrary="0"
+				RuntimeLibrary="2"
+				EnableEnhancedInstructionSet="0"
UsePrecompiledHeader="3"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
+				DebugInformationFormat="3"
+				CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -83,6 +94,7 @@
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
+				OptimizeForWindows98="1"
ImportLibrary="$(OutDir)/libilliCore.lib"
TargetMachine="1"/>
<Tool

Modified: trunk/oggdsf/src/lib/helper/libilliCore/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libilliCore/stdafx.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/lib/helper/libilliCore/stdafx.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -11,3 +11,4 @@
#include <windows.h>

// TODO: reference additional headers your program requires here
+#include "libilliCore.h"
\ No newline at end of file

Added: trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.cpp
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,18 @@
+#include "StdAfx.h"
+#include ".\oggpagefilewriter.h"
+
+OggPageFileWriter::OggPageFileWriter(string inFileName)
+{
+	mFile.open(inFileName.c_str(), ios_base::out|ios_base::binary);
+}
+
+OggPageFileWriter::~OggPageFileWriter(void)
+{
+}
+
+bool OggPageFileWriter::acceptOggPage(OggPage* inOggPage) {
+
+	unsigned char* locPageBytes = inOggPage->createRawPageData();
+	mFile.write((const char*) locPageBytes, inOggPage->pageSize());
+	return true;
+}
\ No newline at end of file

Added: trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.h
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/OggPageFileWriter.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,19 @@
+#pragma once
+
+//#include "dllstuff.h"
+#include "libOOOgg.h"
+#include <fstream>
+using namespace std;
+//#include "IOggCallback.h"
+class OggPageFileWriter
+	:	public IOggCallback
+{
+public:
+	OggPageFileWriter(string inFileName);
+	~OggPageFileWriter(void);
+
+	virtual bool acceptOggPage(OggPage* inOggPage);
+
+protected:
+	fstream mFile;
+};

Added: trunk/oggdsf/src/tests/testMuxDemux/ReadMe.txt
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/ReadMe.txt	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/ReadMe.txt	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,32 @@
+========================================================================
+    CONSOLE APPLICATION : testMuxDemux Project Overview
+========================================================================
+
+AppWizard has created this testMuxDemux application for you.
+This file contains a summary of what you will find in each of the files that
+make up your testMuxDemux application.
+
+
+testMuxDemux.vcproj
+    This is the main project file for VC++ projects generated using an Application Wizard.
+    It contains information about the version of Visual C++ that generated the file, and
+    information about the platforms, configurations, and project features selected with the
+    Application Wizard.
+
+testMuxDemux.cpp
+    This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named testMuxDemux.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////

Added: trunk/oggdsf/src/tests/testMuxDemux/stdafx.cpp
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/stdafx.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/stdafx.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// testMuxDemux.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Added: trunk/oggdsf/src/tests/testMuxDemux/stdafx.h
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/stdafx.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/stdafx.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,12 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here

Added: trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.cpp
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,87 @@
+//===========================================================================
+//Copyright (C) 2003, 2004 Zentaro Kavanagh
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Zentaro Kavanagh nor the names of contributors
+//  may be used to endorse or promote products derived from this software
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+// OOOggStat.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+#include "libOOOgg.h"
+#include "dllstuff.h"
+#include "OggPageFileWriter.h"
+#include <iostream>
+
+
+#include <fstream>
+
+
+const BUFF_SIZE = 8092;
+int testPageWriter(string inReadFile, string inWriteFile) {
+	//Reads a file, demuxes it at page level and then writes it out again
+	OggDataBuffer testOggBuff;
+
+	//Set up the file writer and set the callback on the demux buffer
+	OggPageFileWriter testOggPageWriter(inWriteFile);
+	testOggBuff.registerVirtualCallback(&testOggPageWriter);
+
+	//Source File read and let it all fire away.
+	fstream testFile;
+	testFile.open(inReadFile.c_str(), ios_base::in | ios_base::binary);
+	char* locBuff = new char[BUFF_SIZE];
+	while (!testFile.eof()) {
+		testFile.read(locBuff, BUFF_SIZE);
+		unsigned long locBytesRead = testFile.gcount();
+    	testOggBuff.feed((const unsigned char*)locBuff, locBytesRead);
+	}
+
+	delete locBuff;
+
+	return 0;
+}
+
+int __cdecl _tmain(int argc, _TCHAR* argv[])
+{
+
+	if (argc != 3) {
+		cout<<"Usage : testMuxDemux <inputFilename> <outputFilename>"<<endl;
+		return 1;
+	} else {
+		cout<<"Testing libOOOgg Mux and Demux..."<<endl;
+		cout<<"================================="<<endl;
+		unsigned long numTests = 0;
+
+		cout<<numTests<<" : "<<"Testing page level demux chained to page file writer..."<<endl;
+		testPageWriter(argv[1], argv[2]);
+		cout<<numTests<<" : "<<"Complete."<<endl;
+		return 0;
+	}
+}
+
+

Added: trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.vcproj
===================================================================
--- trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tests/testMuxDemux/testMuxDemux.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.10"
+	Name="testMuxDemux"
+	ProjectGUID="{2D6BB64D-E64A-4E99-A4E8-A235C8085432}"
+	Keyword="Win32Proj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="1"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="TRUE"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="5"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="4"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)/testMuxDemux.exe"
+				LinkIncremental="2"
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/testMuxDemux.pdb"
+				SubSystem="1"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="1"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="3"
+				CallingConvention="2"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)/testMuxDemux.exe"
+				LinkIncremental="1"
+				GenerateDebugInformation="TRUE"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+			<File
+				RelativePath=".\OggPageFileWriter.cpp">
+			</File>
+			<File
+				RelativePath=".\stdafx.cpp">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\testMuxDemux.cpp">
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+			<File
+				RelativePath=".\OggPageFileWriter.h">
+			</File>
+			<File
+				RelativePath=".\stdafx.h">
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: trunk/oggdsf/src/tools/OOOggCommentDump/OOOggCommentDump.vcproj
===================================================================
--- trunk/oggdsf/src/tools/OOOggCommentDump/OOOggCommentDump.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggCommentDump/OOOggCommentDump.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\core\ogg\libVorbisComment"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\core\ogg\libVorbisComment;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -79,7 +79,7 @@
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\core\ogg\libVorbisComment"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\core\ogg\libVorbisComment;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/tools/OOOggDump/OOOggDump.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggDump/OOOggDump.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggDump/OOOggDump.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -53,9 +53,12 @@
locPack = inOggPage->getPacket(i);
cout << "------ Packet  " << i << " (" << locPack->packetSize() << " bytes) -------";

-		if (!locPack->isComplete()) {
-			cout<<"  ** INCOMPLETE **";
+		if (locPack->isContinuation()) {
+			cout<<"  ** CONT **";
}
+		if (locPack->isTruncated()) {
+			cout<<" ** TRUNC **";
+		}
cout<<endl;
cout << locPack->toPackDumpString();
}

Modified: trunk/oggdsf/src/tools/OOOggDump/OOOggDump.vcproj
===================================================================
--- trunk/oggdsf/src/tools/OOOggDump/OOOggDump.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggDump/OOOggDump.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;."
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;.;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -78,11 +78,12 @@
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;."
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;.;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="TRUE"
RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE"
+				EnableEnhancedInstructionSet="0"
UsePrecompiledHeader="3"
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"

Added: trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,24 @@
+#include "StdAfx.h"
+#include ".\oooggpacketdumper.h"
+
+OOOggPacketDumper::OOOggPacketDumper(void)
+{
+}
+
+OOOggPacketDumper::~OOOggPacketDumper(void)
+{
+}
+bool OOOggPacketDumper::acceptStampedOggPacket(StampedOggPacket* inPacket) {
+
+	cout << "------ Packet : Gran Pos =  "<<inPacket->endTime()<<", Size = "<< inPacket->packetSize() << " bytes -------";
+
+	if (inPacket->isContinuation()) {
+		cout<<"  ** CONT **";			///These should be here if you use the packetiser
+	}
+	if (inPacket->isTruncated()) {
+		cout<<" ** TRUNC **";		////These sohuldn't be here if using the packetiser
+	}
+	cout<<endl;
+	cout << inPacket->toPackDumpString();
+	return true;
+}
\ No newline at end of file

Added: trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.h
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketDumper.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,13 @@
+#pragma once
+#include "libOOOgg.h"
+#include "IStampedOggPacketSink.h"
+class OOOggPacketDumper
+	:	public IStampedOggPacketSink
+{
+public:
+	OOOggPacketDumper(void);
+	~OOOggPacketDumper(void);
+
+	//IStampedOggPacketSink Implementation
+	bool acceptStampedOggPacket(StampedOggPacket* inPacket);
+};

Added: trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,102 @@
+//===========================================================================
+//Copyright (C) 2003, 2004 Zentaro Kavanagh
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Zentaro Kavanagh nor the names of contributors
+//  may be used to endorse or promote products derived from this software
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+// OOOggStat.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+#include <libOOOgg.h>
+#include <dllstuff.h>
+#include "OggPacketiser.h"
+#include "OOOggPacketDumper.h"
+#include <iostream>
+
+
+#include <fstream>
+
+//This will be called by the callback
+
+unsigned long streamNo;
+
+bool pageCB(OggPage* inOggPage) {
+	//if (inOggPage->header()->isBOS()) {
+	//	streamNo++;
+	//}
+
+
+
+
+
+	return true;
+}
+
+
+int __cdecl _tmain(int argc, _TCHAR* argv[])
+{
+
+
+	int x;
+	cin>>x;
+	//This program just dumps the packets out of a file in ogg format.
+	// Currently does not error checking. Check your command line carefully !
+	// USAGE :: OOOggPacketise <OggFile>
+	//
+	if (argc < 2) {
+		cout<<"Usage : OOOggPacketise <filename>"<<endl;
+	} else {
+		streamNo = 0;
+		OggDataBuffer testOggBuff;
+		OOOggPacketDumper testPacketDumper;
+		OggPacketiser* testPacketiser  = new OggPacketiser(&testPacketDumper);
+
+		testOggBuff.registerVirtualCallback(testPacketiser);
+
+
+		const BUFF_SIZE = 8092;
+		//testOggBuff.registerStaticCallback(&pageCB);
+
+		fstream testFile;
+		testFile.open(argv[1], ios_base::in | ios_base::binary);
+		char* locBuff = new char[BUFF_SIZE];
+		while (!testFile.eof()) {
+			testFile.read(locBuff, BUFF_SIZE);
+			unsigned long locBytesRead = testFile.gcount();
+    		testOggBuff.feed((const unsigned char*)locBuff, locBytesRead);
+		}
+
+		delete locBuff;
+	}
+
+
+	return 0;
+}
+
+

Added: trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.vcproj
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/OOOggPacketise.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.10"
+	Name="OOOggPacketise"
+	ProjectGUID="{463B5ED7-C6A3-4343-BA67-B324580BEC70}"
+	Keyword="Win32Proj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="1"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="TRUE"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="4"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)/OOOggPacketise.exe"
+				LinkIncremental="2"
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/OOOggPacketise.pdb"
+				SubSystem="1"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="1"
+			CharacterSet="2"
+			WholeProgramOptimization="TRUE">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="3"
+				GlobalOptimizations="TRUE"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="TRUE"
+				FavorSizeOrSpeed="1"
+				OptimizeForProcessor="2"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="3"
+				CallingConvention="2"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)/OOOggPacketise.exe"
+				LinkIncremental="1"
+				GenerateDebugInformation="TRUE"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				OptimizeForWindows98="1"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+			<File
+				RelativePath=".\OOOggPacketDumper.cpp">
+			</File>
+			<File
+				RelativePath=".\OOOggPacketise.cpp">
+			</File>
+			<File
+				RelativePath=".\stdafx.cpp">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+			<File
+				RelativePath=".\OOOggPacketDumper.h">
+			</File>
+			<File
+				RelativePath=".\stdafx.h">
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Added: trunk/oggdsf/src/tools/OOOggPacketise/ReadMe.txt
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/ReadMe.txt	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/ReadMe.txt	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,32 @@
+========================================================================
+    CONSOLE APPLICATION : OOOggPacketise Project Overview
+========================================================================
+
+AppWizard has created this OOOggPacketise application for you.
+This file contains a summary of what you will find in each of the files that
+make up your OOOggPacketise application.
+
+
+OOOggPacketise.vcproj
+    This is the main project file for VC++ projects generated using an Application Wizard.
+    It contains information about the version of Visual C++ that generated the file, and
+    information about the platforms, configurations, and project features selected with the
+    Application Wizard.
+
+OOOggPacketise.cpp
+    This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named OOOggPacketise.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////

Added: trunk/oggdsf/src/tools/OOOggPacketise/stdafx.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/stdafx.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/stdafx.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// OOOggPacketise.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Added: trunk/oggdsf/src/tools/OOOggPacketise/stdafx.h
===================================================================
--- trunk/oggdsf/src/tools/OOOggPacketise/stdafx.h	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggPacketise/stdafx.h	2004-07-30 17:33:50 UTC (rev 7420)
@@ -0,0 +1,12 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here

Modified: trunk/oggdsf/src/tools/OOOggStat/OOOggStat.vcproj
===================================================================
--- trunk/oggdsf/src/tools/OOOggStat/OOOggStat.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggStat/OOOggStat.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -77,7 +77,7 @@
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="TRUE"
RuntimeLibrary="2"

Modified: trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -4,6 +4,8 @@
#include "stdafx.h"
#include "OggValidationState.h"
#include "libOOOgg.h"
+#include <fstream>
+using namespace std;




Modified: trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.vcproj
===================================================================
--- trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.vcproj	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggValidate/OOOggValidate.vcproj	2004-07-30 17:33:50 UTC (rev 7420)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -77,7 +77,7 @@
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg"
+				AdditionalIncludeDirectories="..\..\lib\core\ogg\libOOOgg;..\..\lib\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="3"

Modified: trunk/oggdsf/src/tools/OOOggValidate/OggValidationState.cpp
===================================================================
--- trunk/oggdsf/src/tools/OOOggValidate/OggValidationState.cpp	2004-07-30 16:33:04 UTC (rev 7419)
+++ trunk/oggdsf/src/tools/OOOggValidate/OggValidationState.cpp	2004-07-30 17:33:50 UTC (rev 7420)
@@ -275,13 +275,17 @@

//Check for incomplete last packet
if (inOggPage->numPackets() > 0) {
-		if (inOggPage->getPacket(inOggPage->numPackets() - 1)->isComplete() == false)  {
+		if (inOggPage->getPacket(inOggPage->numPackets() - 1)->isTruncated() == true)  {
//Valid case
//If the last packet is incomplete.
if (OggStreamValidationState::VS_SEEN_BOS) {
+				//...And we've seen a BOS page
+
+				//Now we wait for the continuation
locStreamState->mState = OggStreamValidationState::VS_WAITING_FOR_CONTINUATION;
} else {
//Does this mean anythign ?
+				//Normal untruncated packet.
}
}
}
@@ -340,7 +344,6 @@
default:
locErrorString = "Unnamed Error";
break;
-
}

if (inStreamState != NULL) {



More information about the commits mailing list