[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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\libs\libflac\include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\libs\libOOTheora;..\..\libs\libtheora\include;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoDecoder;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\libs\libOOTheora;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\ogg\libogg\include;..\..\libs\libtheora\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories="..\..\..\..\core\directshow\dsfAbstractVideoEncoder;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioDecoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\ogg\libOOOgg;..\dsfSeeking"
+ AdditionalIncludeDirectories="C:\DXSDK\Include;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\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;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\ogg\libOOOgg;..\dsfSeeking"
+ AdditionalIncludeDirectories="C:\DXSDK\Include;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";..\..\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