[xiph-commits] r8266 - in trunk/oggdsf: docs sln/oggdsf_all
src/lib/codecs/helper/libfishsound/win32
src/lib/codecs/vorbis/filters/dsfVorbisDecoder
src/lib/core/directshow
src/lib/core/directshow/dsfAbstractAudioDecoder
src/lib/core/directshow/dsfOggDemux
src/lib/core/directshow/dsfSeeking
src/lib/core/directshow/libDirectshowAbstracts
illiminable at motherfish-iii.xiph.org
illiminable at motherfish-iii.xiph.org
Tue Nov 23 02:48:12 PST 2004
Author: illiminable
Date: 2004-11-23 02:48:12 -0800 (Tue, 23 Nov 2004)
New Revision: 8266
Added:
trunk/oggdsf/docs/man_installation.txt
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.cpp
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.h
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.cpp
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.h
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/ReadMe.txt
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/directshowabstractsdllstuff.h
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/libDirectshowAbstracts.vcproj
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.cpp
trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.h
Modified:
trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
trunk/oggdsf/src/lib/codecs/helper/libfishsound/win32/libfishsound.vcproj
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h
trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.h
trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp
trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h
Log:
* Start of factoring some of the abstract filter libraries to one place.
Added: trunk/oggdsf/docs/man_installation.txt
===================================================================
Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln 2004-11-23 10:48:12 UTC (rev 8266)
@@ -1152,35 +1152,6 @@
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracCommon", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\DiracCommon\DiracCommon.vcproj", "{A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracMotionEst", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\DiracMotionEst\DiracMotionEst.vcproj", "{C6A615BF-D4EB-4D50-9638-2C715E0695C6}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracDecoder", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\DiracDecoder\DiracDecoder.vcproj", "{89EC2AEB-8284-4213-874B-29D549893FC9}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracEncoder", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\DiracEncoder\DiracEncoder.vcproj", "{9076B578-583A-493D-96C4-776DCEC0FFBD}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EncodeDirac", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\EncodeDirac\EncodeDirac.vcproj", "{547FE1E9-70EF-48D4-B45B-2FF39B39855D}"
- ProjectSection(ProjectDependencies) = postProject
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} = {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}
- {9076B578-583A-493D-96C4-776DCEC0FFBD} = {9076B578-583A-493D-96C4-776DCEC0FFBD}
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6} = {C6A615BF-D4EB-4D50-9638-2C715E0695C6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DecodeDirac", "..\..\src\lib\codecs\dirac\lib\libdirac\win\VS2003\DecodeDirac\DecodeDirac.vcproj", "{CCA690F8-1356-4BD5-9152-8E0A6496842D}"
- ProjectSection(ProjectDependencies) = postProject
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} = {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}
- {89EC2AEB-8284-4213-874B-29D549893FC9} = {89EC2AEB-8284-4213-874B-29D549893FC9}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfDiracDecodeSource", "..\..\src\lib\codecs\dirac\filters\dsfDiracDecodeSource\dsfDiracDecodeSource.vcproj", "{2DDC7218-82D9-403E-BCE8-0D535266D19D}"
ProjectSection(ProjectDependencies) = postProject
{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
@@ -1225,6 +1196,34 @@
{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DecodeDirac", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\DecodeDirac\DecodeDirac.vcproj", "{CCA690F8-1356-4BD5-9152-8E0A6496842D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracCommon", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\DiracCommon\DiracCommon.vcproj", "{A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracDecoder", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\DiracDecoder\DiracDecoder.vcproj", "{89EC2AEB-8284-4213-874B-29D549893FC9}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracEncoder", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\DiracEncoder\DiracEncoder.vcproj", "{9076B578-583A-493D-96C4-776DCEC0FFBD}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracMotionEst", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\DiracMotionEst\DiracMotionEst.vcproj", "{C6A615BF-D4EB-4D50-9638-2C715E0695C6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EncodeDirac", "..\..\src\lib\codecs\dirac\lib\libdirac\windows\VS2003\EncodeDirac\EncodeDirac.vcproj", "{547FE1E9-70EF-48D4-B45B-2FF39B39855D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDirectshowAbstracts", "..\..\src\lib\core\directshow\libDirectshowAbstracts\libDirectshowAbstracts.vcproj", "{EA7091BB-9906-41DF-9738-F4858A136086}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -2224,102 +2223,6 @@
{32228390-D24D-40CD-A31E-E4E1CF94C308}.Release_SSE.Build.0 = Release|Win32
{32228390-D24D-40CD-A31E-E4E1CF94C308}.Release_SSE2.ActiveCfg = Release|Win32
{32228390-D24D-40CD-A31E-E4E1CF94C308}.Release_SSE2.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.ActiveCfg = Debug|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.Build.0 = Debug|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug Unicode.ActiveCfg = Debug|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug Unicode.Build.0 = Debug|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.MakeFile.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.MakeFile.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release Unicode.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release Unicode.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_NoDotNET.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_NoDotNET.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE.Build.0 = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE2.ActiveCfg = Release|Win32
- {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE2.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.ActiveCfg = Debug|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.Build.0 = Debug|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug Unicode.ActiveCfg = Debug|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug Unicode.Build.0 = Debug|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.MakeFile.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.MakeFile.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release Unicode.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release Unicode.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_NoDotNET.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_NoDotNET.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE.Build.0 = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE2.ActiveCfg = Release|Win32
- {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE2.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.ActiveCfg = Debug|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.Build.0 = Debug|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug Unicode.ActiveCfg = Debug|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug Unicode.Build.0 = Debug|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.MakeFile.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.MakeFile.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release Unicode.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release Unicode.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_NoDotNET.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_NoDotNET.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE.Build.0 = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE2.ActiveCfg = Release|Win32
- {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE2.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.ActiveCfg = Debug|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.Build.0 = Debug|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug Unicode.ActiveCfg = Debug|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug Unicode.Build.0 = Debug|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.MakeFile.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.MakeFile.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release Unicode.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release Unicode.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_NoDotNET.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_NoDotNET.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE.Build.0 = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE2.ActiveCfg = Release|Win32
- {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE2.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.ActiveCfg = Debug|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.Build.0 = Debug|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug Unicode.ActiveCfg = Debug|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug Unicode.Build.0 = Debug|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.MakeFile.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.MakeFile.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release Unicode.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release Unicode.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_NoDotNET.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_NoDotNET.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE.Build.0 = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE2.ActiveCfg = Release|Win32
- {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE2.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug.ActiveCfg = Debug|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug.Build.0 = Debug|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug Unicode.ActiveCfg = Debug|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug Unicode.Build.0 = Debug|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.MakeFile.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.MakeFile.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release Unicode.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release Unicode.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_NoDotNET.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_NoDotNET.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE.Build.0 = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE2.ActiveCfg = Release|Win32
- {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE2.Build.0 = Release|Win32
{2DDC7218-82D9-403E-BCE8-0D535266D19D}.Debug.ActiveCfg = Debug|Win32
{2DDC7218-82D9-403E-BCE8-0D535266D19D}.Debug.Build.0 = Debug|Win32
{2DDC7218-82D9-403E-BCE8-0D535266D19D}.Debug Unicode.ActiveCfg = Debug|Win32
@@ -2440,6 +2343,118 @@
{F3ECBC6B-ED14-4E76-8513-1BCDCF8F412E}.Release_SSE.Build.0 = Release|Win32
{F3ECBC6B-ED14-4E76-8513-1BCDCF8F412E}.Release_SSE2.ActiveCfg = Release|Win32
{F3ECBC6B-ED14-4E76-8513-1BCDCF8F412E}.Release_SSE2.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug.ActiveCfg = Debug|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug.Build.0 = Debug|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug Unicode.ActiveCfg = Debug|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Debug Unicode.Build.0 = Debug|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.MakeFile.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.MakeFile.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release Unicode.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release Unicode.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_NoDotNET.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE.Build.0 = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE2.ActiveCfg = Release|Win32
+ {CCA690F8-1356-4BD5-9152-8E0A6496842D}.Release_SSE2.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.ActiveCfg = Debug|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.Build.0 = Debug|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug Unicode.ActiveCfg = Debug|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug Unicode.Build.0 = Debug|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.MakeFile.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.MakeFile.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release Unicode.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release Unicode.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_NoDotNET.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE.Build.0 = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE2.ActiveCfg = Release|Win32
+ {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release_SSE2.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.ActiveCfg = Debug|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.Build.0 = Debug|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug Unicode.ActiveCfg = Debug|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug Unicode.Build.0 = Debug|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.MakeFile.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.MakeFile.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release Unicode.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release Unicode.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_NoDotNET.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE.Build.0 = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE2.ActiveCfg = Release|Win32
+ {89EC2AEB-8284-4213-874B-29D549893FC9}.Release_SSE2.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.ActiveCfg = Debug|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.Build.0 = Debug|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug Unicode.ActiveCfg = Debug|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug Unicode.Build.0 = Debug|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.MakeFile.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.MakeFile.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release Unicode.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release Unicode.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_NoDotNET.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE.Build.0 = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE2.ActiveCfg = Release|Win32
+ {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release_SSE2.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.ActiveCfg = Debug|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.Build.0 = Debug|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug Unicode.ActiveCfg = Debug|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug Unicode.Build.0 = Debug|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.MakeFile.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.MakeFile.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release Unicode.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release Unicode.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_NoDotNET.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE.Build.0 = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE2.ActiveCfg = Release|Win32
+ {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release_SSE2.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.ActiveCfg = Debug|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.Build.0 = Debug|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug Unicode.ActiveCfg = Debug|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug Unicode.Build.0 = Debug|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.MakeFile.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.MakeFile.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release Unicode.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release Unicode.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_NoDotNET.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE.Build.0 = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE2.ActiveCfg = Release|Win32
+ {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release_SSE2.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Debug.ActiveCfg = Debug|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Debug.Build.0 = Debug|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Debug Unicode.ActiveCfg = Debug|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Debug Unicode.Build.0 = Debug|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.MakeFile.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.MakeFile.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release Unicode.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release Unicode.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_NoDotNET.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_NoDotNET.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_SSE.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_SSE.Build.0 = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_SSE2.ActiveCfg = Release|Win32
+ {EA7091BB-9906-41DF-9738-F4858A136086}.Release_SSE2.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionItems) = postSolution
EndGlobalSection
Modified: trunk/oggdsf/src/lib/codecs/helper/libfishsound/win32/libfishsound.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/helper/libfishsound/win32/libfishsound.vcproj 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/codecs/helper/libfishsound/win32/libfishsound.vcproj 2004-11-23 10:48:12 UTC (rev 8266)
@@ -34,7 +34,7 @@
StringPooling="TRUE"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
- EnableFunctionLevelLinking="TRUE"
+ EnableFunctionLevelLinking="FALSE"
PrecompiledHeaderFile="./libfishsound.pch"
AssemblerListingLocation="./"
ObjectFile="./"
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -56,13 +56,6 @@
virtual ~VorbisDecodeInputPin(void);
static int __cdecl VorbisDecoded (FishSound* inFishSound, float** inPCM, long inFrames, void* inThisPointer);
-
- //STDMETHODIMP NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate);
-
-
- //STDMETHODIMP Receive(IMediaSample *pSample);
- //virtual HRESULT CheckMediaType(const CMediaType *inMediaType);
- //virtual HRESULT GetMediaType(int inPosition, CMediaType *outMediaType);
virtual HRESULT SetMediaType(const CMediaType* inMediaType);
//VIRTUAL FUNCTIONS - AbstractAudioDecodeInputPin
@@ -70,35 +63,13 @@
virtual bool ConstructCodec();
virtual void DestroyCodec();
-
-
- //STDMETHODIMP GetAllocator(IMemAllocator **ppAllocator);
- //STDMETHODIMP GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps);
- //virtual void ResetFrameCount();
-
- //STDMETHODIMP EndOfStream(void);
- //STDMETHODIMP BeginFlush();
- //STDMETHODIMP EndFlush();
-
-
-
- //STDMETHODIMP EndOfStream(void);
-
long decodeData(unsigned char* inBuf, long inNumBytes);
-
-
- //virtual HRESULT CompleteConnect(IPin *pReceivePin);
-
protected:
HRESULT mHR;
bool mBegun;
- //VorbisDecodeOutputPin* mOutputPin;
- //__int64 mUptoFrame;
- //fstream debugLog;
-
FishSound* mFishSound;
FishSoundInfo mFishInfo;
Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -89,8 +89,6 @@
//Member Data
AbstractAudioDecodeInputPin* mInputPin;
AbstractAudioDecodeOutputPin* mOutputPin;
-
-
};
Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -229,6 +229,7 @@
CAutoLock locLock(mStreamLock);
ResetFrameCount();
+ //BUG::: Why is this on the base pin and not the baseinputpin ?
CBasePin::NewSegment(tStart, tStop, dRate);
return mParentFilter->mOutputPin->DeliverNewSegment(tStart, tStop, dRate);
}
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -220,18 +220,18 @@
STDMETHODIMP OggDemuxSourceFilter::GetCapabilities(DWORD* inCapabilities) {
if (mSeekTable->enabled()) {
- //debugLog<<"GetCaps "<<mSeekingCap<<endl;
+ debugLog<<"GetCaps "<<mSeekingCap<<endl;
*inCapabilities = mSeekingCap;
return S_OK;
} else {
-
+ debugLog<<"Get Caps failed !!!!!!!"<<endl;
*inCapabilities = 0;
return S_OK;;
}
}
STDMETHODIMP OggDemuxSourceFilter::GetDuration(LONGLONG* outDuration) {
if (mSeekTable->enabled()) {
- //debugLog<<"GetDuration = " << mSeekTable->fileDuration()<<" ds units"<<endl;
+ debugLog<<"GetDuration = " << mSeekTable->fileDuration()<<" ds units"<<endl;
*outDuration = mSeekTable->fileDuration();
return S_OK;
} else {
@@ -240,12 +240,9 @@
}
-
-
-
STDMETHODIMP OggDemuxSourceFilter::CheckCapabilities(DWORD *pCapabilities){
- //debugLog<<"CheckCaps : Not imp"<<endl;
+ debugLog<<"CheckCaps : Not impl"<<endl;
return E_NOTIMPL;
}
STDMETHODIMP OggDemuxSourceFilter::IsFormatSupported(const GUID *pFormat){
@@ -266,7 +263,7 @@
return S_OK;
}
STDMETHODIMP OggDemuxSourceFilter::SetTimeFormat(const GUID *pFormat){
- //debugLog<<"SetTimeForamt : NOT IMPL"<<endl;
+ debugLog<<"SetTimeForamt : NOT IMPL"<<endl;
return E_NOTIMPL;
}
STDMETHODIMP OggDemuxSourceFilter::GetTimeFormat( GUID *pFormat){
@@ -276,7 +273,7 @@
STDMETHODIMP OggDemuxSourceFilter::GetStopPosition(LONGLONG *pStop){
if (mSeekTable->enabled()) {
- //debugLog<<"GetStopPos = " << mSeekTable->fileDuration()<<" ds units"<<endl;
+ debugLog<<"GetStopPos = " << mSeekTable->fileDuration()<<" ds units"<<endl;
*pStop = mSeekTable->fileDuration();
return S_OK;
} else {
@@ -285,21 +282,21 @@
}
}
STDMETHODIMP OggDemuxSourceFilter::GetCurrentPosition(LONGLONG *pCurrent){
- //debugLog<<"GetCurrentPos = NOT_IMPL"<<endl;
+ debugLog<<"GetCurrentPos = NOT_IMPL"<<endl;
return E_NOTIMPL;
//debugLog <<"GetCurrPos = HARD CODED = 6 secs"<< endl;
*pCurrent = 6 * UNITS;
return S_OK;
}
STDMETHODIMP OggDemuxSourceFilter::ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat){
- //debugLog<<"ConvertTimeForamt : NOT IMPL"<<endl;
+ debugLog<<"ConvertTimeForamt : NOT IMPL"<<endl;
return E_NOTIMPL;
}
STDMETHODIMP OggDemuxSourceFilter::SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags){
CAutoLock locLock(m_pLock);
- debugLog<<"Set Positions"<<endl;
+ debugLog<<"Set Positions "<<*pCurrent<<" to "<<*pStop<<" with flags "<<dwCurrentFlags<<" and "<<dwStopFlags<<endl;
if (mSeekTable->enabled()) {
//debugLog<<"SetPos : Current = "<<*pCurrent<<" Flags = "<<dwCurrentFlags<<" Stop = "<<*pStop<<" dwStopFlags = "<<dwStopFlags<<endl;
//debugLog<<" : Delivering begin flush..."<<endl;
@@ -361,7 +358,7 @@
// mStreamMapper->getOggStream(i)->setLastEndGranPos(mSeekTable->getRealStartPos());
//}
} else {
- //debugLog<<"Seek not IMPL"<<endl;
+ debugLog<<"Seek not IMPL"<<endl;
return E_NOTIMPL;
}
@@ -382,7 +379,7 @@
return S_OK;
}
STDMETHODIMP OggDemuxSourceFilter::GetPositions(LONGLONG *pCurrent, LONGLONG *pStop){
- //debugLog<<"Getpos : Not IMPL"<<endl;
+ debugLog<<"Getpos : Not IMPL"<<endl;
//debugLog<<"GetPos : Current = HARDCODED 2 secs , Stop = "<<mSeekTable->fileDuration()/UNITS <<" secs."<<endl;
return E_NOTIMPL;
*pCurrent = 2 * UNITS;
@@ -392,15 +389,16 @@
STDMETHODIMP OggDemuxSourceFilter::GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest){
//debugLog<<"****GetAvailable : NOT IMPL"<<endl;
if (mSeekTable->enabled()) {
- //debugLog<<"Get Avail ok"<<endl;
+ debugLog<<"Get Avail ok"<<endl;
*pEarliest = 0;
+ debugLog<<"+++++ Duration is "<<mSeekTable->fileDuration()<<endl;
*pLatest = mSeekTable->fileDuration();
} else {
return E_NOTIMPL;
}
}
STDMETHODIMP OggDemuxSourceFilter::SetRate(double dRate){
- //debugLog<<"Set RATE : NOT IMPL"<<endl;
+ debugLog<<"Set RATE : NOT IMPL"<<endl;
return E_NOTIMPL;
//debugLog<<"SetRate : "<<dRate<<endl;
return S_OK;;
Modified: trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -11,12 +11,12 @@
mSeekingCap = AM_SEEKING_CanSeekAbsolute |
AM_SEEKING_CanSeekForwards |
AM_SEEKING_CanSeekBackwards |
- AM_SEEKING_CanGetCurrentPos |
+ //AM_SEEKING_CanGetCurrentPos |
AM_SEEKING_CanGetStopPos |
AM_SEEKING_CanGetDuration;
- //string x = "g:\\logs\\seeker.log";
- //seekDebug.open(x.c_str(), ios_base::out);
+ string x = "g:\\logs\\seeker.log";
+ seekDebug.open(x.c_str(), ios_base::out);
}
@@ -28,12 +28,12 @@
mSeekingCap = AM_SEEKING_CanSeekAbsolute |
AM_SEEKING_CanSeekForwards |
AM_SEEKING_CanSeekBackwards |
- AM_SEEKING_CanGetCurrentPos |
+ //AM_SEEKING_CanGetCurrentPos |
AM_SEEKING_CanGetStopPos |
AM_SEEKING_CanGetDuration;
- //string x = "g:\\logs\\seeker.log";
- //seekDebug.open(x.c_str(), ios_base::out);
+ string x = "g:\\logs\\seeker.log";
+ seekDebug.open(x.c_str(), ios_base::out);
}
@@ -57,7 +57,7 @@
mSeekDelegate->Release();
mSeekDelegate = NULL;
}
- //seekDebug.close();
+ seekDebug.close();
}
//IMediaSeeking Interface
STDMETHODIMP BasicSeekable::GetCapabilities(DWORD* inCapabilities) {
@@ -79,10 +79,10 @@
//return S_OK;
if (mSeekDelegate != NULL) {
- //seekDebug<<"GetCaps : Passed on..."<<endl;
+ seekDebug<<"GetCaps : Passed on..."<<endl;
return mSeekDelegate->GetCapabilities(inCapabilities);
} else {
- //seekDebug<<"GetCaps : NULL Delegate"<<endl;
+ seekDebug<<"GetCaps : NULL Delegate"<<endl;
//This is probably wrong.
return E_NOTIMPL;
}
@@ -104,10 +104,10 @@
if (mSeekDelegate != NULL) {
- //seekDebug<<"CheckCaps : Passed on..."<<endl;
+ seekDebug<<"CheckCaps : Passed on..."<<endl;
return mSeekDelegate->CheckCapabilities(outCapabilities);
} else {
- //seekDebug<<"CheckCaps : NULL Delegate"<<endl;
+ seekDebug<<"CheckCaps : NULL Delegate"<<endl;
//This is probably wrong.
return E_NOTIMPL;
}
Modified: trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -1,88 +1,51 @@
#pragma once
+
+//Local Includes
#include "dsfseeking.h"
+
+//STL Includes
#include <fstream>
using namespace std;
+
class DSFSEEKING_API BasicSeekable
+ //Base classes.
: public IMediaSeeking
{
public:
+ //Constructors
BasicSeekable(void);
BasicSeekable(IMediaSeeking* inDelegate);
virtual ~BasicSeekable(void);
+ //Delegate Control Methods.
bool SetDelegate(IMediaSeeking* inDelegate);
bool ReleaseDelegate();
-
-
- //
+
//IMediaSeeking Interface
- virtual STDMETHODIMP GetCapabilities(DWORD *pCapabilities);
- virtual STDMETHODIMP CheckCapabilities(DWORD *pCapabilities);
- virtual STDMETHODIMP IsFormatSupported(const GUID *pFormat);
- virtual STDMETHODIMP QueryPreferredFormat(GUID *pFormat);
- virtual STDMETHODIMP SetTimeFormat(const GUID *pFormat);
- virtual STDMETHODIMP GetTimeFormat( GUID *pFormat);
- virtual STDMETHODIMP GetDuration(LONGLONG *pDuration);
- virtual STDMETHODIMP GetStopPosition(LONGLONG *pStop);
- virtual STDMETHODIMP GetCurrentPosition(LONGLONG *pCurrent);
- virtual STDMETHODIMP ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat);
- virtual STDMETHODIMP SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
- virtual STDMETHODIMP GetPositions(LONGLONG *pCurrent, LONGLONG *pStop);
- virtual STDMETHODIMP GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest);
- virtual STDMETHODIMP SetRate(double dRate);
- virtual STDMETHODIMP GetRate(double *dRate);
- virtual STDMETHODIMP GetPreroll(LONGLONG *pllPreroll);
- virtual STDMETHODIMP IsUsingTimeFormat(const GUID *pFormat);
- //
+ virtual STDMETHODIMP GetCapabilities(DWORD *pCapabilities);
+ virtual STDMETHODIMP CheckCapabilities(DWORD *pCapabilities);
+ virtual STDMETHODIMP IsFormatSupported(const GUID *pFormat);
+ virtual STDMETHODIMP QueryPreferredFormat(GUID *pFormat);
+ virtual STDMETHODIMP SetTimeFormat(const GUID *pFormat);
+ virtual STDMETHODIMP GetTimeFormat( GUID *pFormat);
+ virtual STDMETHODIMP GetDuration(LONGLONG *pDuration);
+ virtual STDMETHODIMP GetStopPosition(LONGLONG *pStop);
+ virtual STDMETHODIMP GetCurrentPosition(LONGLONG *pCurrent);
+ virtual STDMETHODIMP ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat);
+ virtual STDMETHODIMP SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
+ virtual STDMETHODIMP GetPositions(LONGLONG *pCurrent, LONGLONG *pStop);
+ virtual STDMETHODIMP GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest);
+ virtual STDMETHODIMP SetRate(double dRate);
+ virtual STDMETHODIMP GetRate(double *dRate);
+ virtual STDMETHODIMP GetPreroll(LONGLONG *pllPreroll);
+ virtual STDMETHODIMP IsUsingTimeFormat(const GUID *pFormat);
-
-
-
-
-
-
-
-
-
- //STDMETHODIMP QueryInterface( REFIID iid, void **ppvObject) {
- // debugLog <<"Querying interface."<<endl;
- // if (iid == IID_IMediaSeeking) {
- // debugLog <<"Querying interface for IMedaSeeking"<<endl;
- // *ppvObject = (IMediaSeeking*)this;
- // debugLog<<"Address of this is "<<(int)this<<endl<<"Address of IMediaSeeking is "<<(int)(*ppvObject)<<endl;
- // return S_OK;
- // } else {
- // debugLog <<"Failure !!!"<<endl;
- // return S_FALSE;
- // }
- //
- //}
- //STDMETHODIMP_(ULONG) AddRef() {
- // debugLog <<"Ref count was "<<mRefCount<<endl;
- // return ++mRefCount;
- //}
- //STDMETHODIMP_(ULONG) Release() {
- // debugLog <<"Ref count was "<<mRefCount<<endl;
- // mRefCount--;
- // if (mRefCount <=0) {
- //
- // delete this;
- // return mRefCount;
- // } else {
- // return mRefCount;
- // }
-
- //}
-
protected:
+ //Member data
IMediaSeeking* mSeekDelegate;
-
- //REFERENCE_TIME mSeekTimeBase;
HRESULT mHR;
-
- //fstream seekDebug;
-
DWORD mSeekingCap;
-
+ //Debug only.
+ fstream seekDebug;
};
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,96 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+//
+// AbstracttransformFilter.cpp : Abstract Filter Class for transform filters.
+//
+
+
+#include "StdAfx.h"
+#include "AbstractTransformFilter.h"
+
+//Constructors
+AbstractTransformFilter::AbstractTransformFilter(TCHAR* inFilterName, REFCLSID inFilterGUID)
+ //Base Classes
+ : CBaseFilter(inFilterName, NULL, m_pLock, inFilterGUID)
+
+ //Member initialisations
+ , mInputPin(NULL)
+ , mOutputPin(NULL)
+
+{
+ //Create the filter lock.
+ m_pLock = new CCritSec; //Deleted in destructor... check what is happening in the base class.
+}
+
+AbstractTransformFilter::~AbstractTransformFilter(void)
+{
+ DestroyPins();
+ delete m_pLock; //Deleting filter lock
+}
+
+void AbstractTransformFilter::DestroyPins()
+{
+ delete mOutputPin;
+ delete mInputPin;
+}
+
+//If you want to handle an interface, do it here.
+STDMETHODIMP AbstractTransformFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv)
+{
+
+ //May just get rid of this !!
+ return CBaseFilter::NonDelegatingQueryInterface(riid, ppv);
+}
+
+CBasePin* AbstractTransformFilter::GetPin(int inPinNo)
+{
+ //Pin Constants
+ const int INPUT_PIN = 0;
+ const int OUTPUT_PIN = 1;
+
+ //Return the pin.
+ switch (inPinNo) {
+ case INPUT_PIN:
+ return mInputPin;
+ case OUTPUT_PIN:
+ return mOutputPin;
+ default:
+ return NULL;
+ };
+}
+
+int AbstractTransformFilter::GetPinCount(void)
+{
+ const long NUM_PINS = 2;
+ return NUM_PINS;
+}
+
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformFilter.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,79 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+
+#pragma once
+
+//Local Includes
+#include "directshowabstractsdllstuff.h"
+
+//External Includes
+#include "BasicSeekable.h"
+
+//Forward Declarations
+class AbstractTransformInputPin;
+class AbstractTransformOutputPin;
+
+
+class AbstractTransformFilter
+ //Parent Classes
+ : public CBaseFilter
+ //http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/cbasefilterclass.asp
+{
+public:
+ //Friend Classes
+ friend class AbstractTransformInputPin;
+ friend class AbstractTransformOutputPin;
+
+ //COM Setup
+ DECLARE_IUNKNOWN
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+
+
+ //Constructors
+ AbstractTransformFilter(TCHAR* inFilterName, REFCLSID inFilterGUID);
+ virtual ~AbstractTransformFilter(void);
+
+ //Pin Access Methods
+ CBasePin* GetPin(int inPinNo);
+ int GetPinCount(void);
+
+ //Pin Creation Method.
+ virtual bool ConstructPins() = 0;
+
+protected:
+ //Pin destruction method.
+ virtual void DestroyPins();
+
+ //Pin Member Data
+ AbstractTransformInputPin* mInputPin;
+ AbstractTransformOutputPin* mOutputPin;
+};
\ No newline at end of file
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,235 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+#include "StdAfx.h"
+#include "AbstractTransformInputPin.h"
+
+
+AbstractTransformInputPin::AbstractTransformInputPin (AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, CHAR* inObjectName, LPCWSTR inPinDisplayName, vector<CMediaType*> inAcceptMediaTypes)
+ : CBaseInputPin (inObjectName, inParentFilter, inFilterLock, &mHR, inPinDisplayName)
+ , mOutputPin (inOutputPin)
+ , mParentFilter (inParentFilter)
+
+ , mBegun (false)
+
+
+{
+
+ //ConstructCodec();
+ //debugLog.open("g:\\logs\\aad.log", ios_base::out);
+
+ //TODO::: Put in init list.
+ mAcceptableMediaTypes = inAcceptMediaTypes;
+ mStreamLock = new CCritSec; //Deleted in destructor.
+
+}
+
+STDMETHODIMP AbstractTransformInputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv)
+{
+ //TODO::: This really shouldn't be exposed on an input pin
+ if (riid == IID_IMediaSeeking) {
+ *ppv = (IMediaSeeking*)this;
+ ((IUnknown*)*ppv)->AddRef();
+ return NOERROR;
+ }
+
+ return CBaseInputPin::NonDelegatingQueryInterface(riid, ppv);
+}
+
+HRESULT AbstractTransformInputPin::BreakConnect()
+{
+ CAutoLock locLock(m_pLock);
+ //Release the seeking delegate
+ ReleaseDelegate();
+ return CBaseInputPin::BreakConnect();
+}
+HRESULT AbstractTransformInputPin::CompleteConnect (IPin *inReceivePin)
+{
+ CAutoLock locLock(m_pLock);
+
+ IMediaSeeking* locSeeker = NULL;
+ inReceivePin->QueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
+ SetDelegate(locSeeker);
+ return CBaseInputPin::CompleteConnect(inReceivePin);
+}
+AbstractTransformInputPin::~AbstractTransformInputPin(void)
+{
+ //DestroyCodec();
+ //debugLog.close();
+ delete mStreamLock;
+
+}
+
+
+//void AbstractTransformInputPin::ResetFrameCount()
+//{
+// mUptoFrame = 0;
+//
+//}
+//void AbstractTransformInputPin::ResetTimeBases()
+//{
+// mLastSeenStartGranPos = 0;
+//}
+bool AbstractTransformInputPin::SetSampleParams(IMediaSample* outMediaSample, unsigned long inDataSize, REFERENCE_TIME* inStartTime, REFERENCE_TIME* inEndTime)
+{
+ outMediaSample->SetTime(inStartTime, inEndTime);
+ outMediaSample->SetMediaTime(NULL, NULL);
+ outMediaSample->SetActualDataLength(inDataSize);
+ outMediaSample->SetPreroll(FALSE);
+ outMediaSample->SetDiscontinuity(FALSE);
+ outMediaSample->SetSyncPoint(TRUE);
+ return true;
+}
+
+
+STDMETHODIMP AbstractTransformInputPin::Receive(IMediaSample* inSample)
+{
+ CAutoLock locLock(mStreamLock);
+
+ HRESULT locHR = CheckStreaming();
+
+ if (locHR == S_OK) {
+ BYTE* locBuff = NULL;
+ locHR = inSample->GetPointer(&locBuff);
+
+ if (locHR != S_OK) {
+ //TODO::: Do a debug dump or something here with specific error info.
+ return locHR;
+ } else {
+
+
+ ////Is any of this needed ???
+ ////New start time hacks
+ //REFERENCE_TIME locStart = 0;
+ //REFERENCE_TIME locEnd = 0;
+
+ ////More work arounds for that stupid granule pos scheme in theora!
+ //REFERENCE_TIME locTimeBase = 0;
+ //REFERENCE_TIME locDummy = 0;
+ //inSample->GetMediaTime(&locTimeBase, &locDummy);
+ //mSeekTimeBase = locTimeBase;
+ ////
+
+ //inSample->GetTime(&locStart, &locEnd);
+ ////Error chacks needed here
+ ////debugLog<<"Receive : Start = "<<locStart<<endl;
+ ////debugLog<<"Receive : End = "<<locEnd<<endl;
+ ////debugLog<<"Receive : Timebase = "<<locTimeBase<<endl;
+ //
+ ////QUERY::: Why are we doing this ???
+ //// Wouldn't it be better to only resset the frame count when we seek (ie in NewSegment)
+ //// then we just use m_tStart as the time base until another seek.
+ //if ((mLastSeenStartGranPos != locStart) && (locStart != -1)) {
+ // //debugLog<<"Receive : RESETTING FRAME COUNT !!"<<endl;
+ // ResetFrameCount();
+ //}
+ ////debugLog<<endl;
+ //mLastSeenStartGranPos = locStart;
+ ////End of additions
+
+ //TODO::: Why using this convention... why not use HRESULT ???
+ HRESULT locResult = TransformData(locBuff, inSample->GetActualDataLength());
+ if (locResult == S_OK) {
+
+ //aadDebug<<"Receive Decode : OK"<<endl;
+ return S_OK;
+ } else {
+ //aadDebug<<"Receive Decode : *** FAILED *** "<<locResult<<endl;
+ return S_FALSE;
+ }
+ }
+ } else {
+ //debugLog<<"NOT STREAMING.... "<<endl;
+ return locHR;
+ }
+
+ return S_OK;
+}
+
+HRESULT AbstractTransformInputPin::CheckMediaType(const CMediaType *inMediaType) {
+ //TO DO::: Neaten this up.
+ for (int i = 0; i < mAcceptableMediaTypes.size(); i++) {
+ if ( (inMediaType->majortype == mAcceptableMediaTypes[i]->majortype)
+ && (inMediaType->subtype == mAcceptableMediaTypes[i]->subtype)
+ && (inMediaType->formattype == mAcceptableMediaTypes[i]->formattype)
+ )
+ {
+ return S_OK;
+ }
+ }
+ //If it matched none... return false.
+ return S_FALSE;
+}
+
+STDMETHODIMP AbstractTransformInputPin::EndOfStream(void) {
+ CAutoLock locLock(mStreamLock);
+
+ return mParentFilter->mOutputPin->DeliverEndOfStream();
+}
+
+STDMETHODIMP AbstractTransformInputPin::BeginFlush() {
+ CAutoLock locLock(m_pLock);
+
+ CBaseInputPin::BeginFlush();
+ return mParentFilter->mOutputPin->DeliverBeginFlush();
+}
+STDMETHODIMP AbstractTransformInputPin::EndFlush() {
+ CAutoLock locLock(m_pLock);
+
+ mParentFilter->mOutputPin->DeliverEndFlush();
+ return CBaseInputPin::EndFlush();
+}
+
+STDMETHODIMP AbstractTransformInputPin::NewSegment(REFERENCE_TIME inStartTime, REFERENCE_TIME inStopTime, double inRate) {
+ CAutoLock locLock(mStreamLock);
+ //ResetFrameCount();
+
+ //This is called on BasePin and not BaseInputPin because the implementation is not overriden in BaseOutputPin.
+ CBasePin::NewSegment(inStartTime, inStopTime, inRate);
+ return mParentFilter->mOutputPin->DeliverNewSegment(inStartTime, inStopTime, inRate);
+}
+
+HRESULT AbstractTransformInputPin::GetMediaType(int inPosition, CMediaType *outMediaType)
+{
+ //TODO::: Check for NULL Pointer.
+ if (inPosition < 0) {
+ return E_INVALIDARG;
+ } else if (inPosition < mAcceptableMediaTypes.size()) {
+ outMediaType->SetType(&(mAcceptableMediaTypes[inPosition]->majortype));
+ outMediaType->SetSubtype(&(mAcceptableMediaTypes[inPosition]->subtype));
+ //Don't set the format data here... its up to the connecting output pin
+ // to do this, and we will verify it in CheckMediaType
+ return S_OK;
+ } else {
+ return VFW_S_NO_MORE_ITEMS;
+ }
+
+}
\ No newline at end of file
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformInputPin.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,112 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+#pragma once
+
+//Local Includes
+#include "directshowabstractsdllstuff.h"
+
+//External Includes
+#include "BasicSeekable.h"
+
+//STL Includes
+#include <vector>
+//Debug only !
+#include <fstream>
+//
+using namespace std;
+
+
+
+//Forward Declarations
+class AbstractTransformOutputPin;
+class AbstractTransformFilter;
+
+class AbstractTransformInputPin
+ //Base Classes
+ : public CBaseInputPin
+ //http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/cbaseinputpinclass.asp
+ , public BasicSeekable
+{
+public:
+ //Friend Classes
+ friend class AbstractTransformOutputPin;
+
+ //COM Setup
+ DECLARE_IUNKNOWN
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+
+ //Constructors
+ AbstractTransformInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, CHAR* inObjectName, LPCWSTR inPinDisplayName, vector<CMediaType*> inAcceptMediaType);
+ virtual ~AbstractTransformInputPin(void);
+
+ //Pure Virtuals for codec specific methods
+ virtual HRESULT TransformData(unsigned char* inBuf, long inNumBytes) = 0;
+ virtual bool ConstructCodec() = 0;
+ virtual void DestroyCodec() = 0;
+
+ //Pin Conenction Methods
+ virtual HRESULT BreakConnect();
+ virtual HRESULT CompleteConnect(IPin *inReceivePin);
+
+ //Media Type control methods
+ virtual HRESULT CheckMediaType(const CMediaType *inMediaType);
+ virtual HRESULT GetMediaType(int inPosition, CMediaType *outMediaType);
+ virtual HRESULT SetMediaType(const CMediaType* inMediaType) = 0;
+
+ //TODO::: Should be virtual ??
+ STDMETHODIMP Receive(IMediaSample *pSample);
+
+ //Stream Messaging methods
+ virtual STDMETHODIMP EndOfStream(void);
+ virtual STDMETHODIMP BeginFlush();
+ virtual STDMETHODIMP EndFlush();
+ virtual STDMETHODIMP NewSegment(REFERENCE_TIME inStartTime, REFERENCE_TIME inStopTime, double inRate);
+
+protected:
+ //Constants and Enumerations
+ static const short SIZE_16_BITS = 2;
+ static const signed short SINT_MAX = 32767;
+ static const signed short SINT_MIN = -32768;
+
+ virtual bool SetSampleParams(IMediaSample* outMediaSample, unsigned long inDataSize, REFERENCE_TIME* inStartTime, REFERENCE_TIME* inEndTime);
+
+ HRESULT mHR;
+ bool mBegun;
+
+ //TODO::: Couldn't this be gotten from the parent filter if we make them friends ??
+ AbstractTransformOutputPin* mOutputPin;
+ AbstractTransformFilter* mParentFilter;
+ vector<CMediaType*> mAcceptableMediaTypes;
+
+ //fstream debugLog;
+ CCritSec* mStreamLock;
+};
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,252 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+#include "StdAfx.h"
+#include "AbstractTransformOutputPin.h"
+
+
+AbstractTransformOutputPin::AbstractTransformOutputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, CHAR* inObjectName, LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, vector<CMediaType*> mAcceptableMediaTypes)
+ //Base Classes
+ : CBaseOutputPin(inObjectName, inParentFilter, inFilterLock, &mHR, inPinDisplayName)
+
+ //Member initialisation
+ , mParentFilter(inParentFilter)
+ , mDataQueue(NULL)
+
+ , mDesiredBufferSize(inBuffSize)
+ , mDesiredBufferCount(inNumBuffs)
+
+ , mActualBufferSize(0)
+ , mActualBufferCount(0)
+
+{
+
+}
+AbstractTransformOutputPin::~AbstractTransformOutputPin(void)
+{
+ ReleaseDelegate();
+ delete mDataQueue;
+ mDataQueue = NULL;
+}
+
+STDMETHODIMP AbstractTransformOutputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
+ if (riid == IID_IMediaSeeking) {
+ *ppv = (IMediaSeeking*)this;
+ ((IUnknown*)*ppv)->AddRef();
+ return NOERROR;
+ }
+
+ return CBaseOutputPin::NonDelegatingQueryInterface(riid, ppv);
+}
+
+HRESULT AbstractTransformOutputPin::DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest)
+{
+ HRESULT locHR = S_OK;
+
+ ALLOCATOR_PROPERTIES locReqAlloc;
+ ALLOCATOR_PROPERTIES locActualAlloc;
+
+ if (inPropertyRequest->cbAlign <= 0) {
+ locReqAlloc.cbAlign = 1;
+ } else {
+ locReqAlloc.cbAlign = inPropertyRequest->cbAlign;
+ }
+
+ if (inPropertyRequest->cbBuffer < mDesiredBufferSize) {
+ locReqAlloc.cbBuffer = mDesiredBufferSize;
+ } else {
+ locReqAlloc.cbBuffer = inPropertyRequest->cbBuffer;
+ }
+
+ if (inPropertyRequest->cbPrefix < 0) {
+ locReqAlloc.cbPrefix = 0;
+ } else {
+ locReqAlloc.cbPrefix = inPropertyRequest->cbPrefix;
+ }
+
+ if (inPropertyRequest->cBuffers < mDesiredBufferCount) {
+ locReqAlloc.cBuffers = mDesiredBufferCount;
+ } else {
+ locReqAlloc.cBuffers = inPropertyRequest->cBuffers;
+ }
+
+ locHR = inAllocator->SetProperties(&locReqAlloc, &locActualAlloc);
+
+ if (locHR != S_OK) {
+ //TODO::: Handle a fail state here.
+ return locHR;
+ } else {
+ //TODO::: Need to save this pointer to decommit in destructor ???
+ locHR = inAllocator->Commit();
+
+ if (locHR == S_OK) {
+ mActualBufferCount = locActualAlloc.cBuffers;
+ mActualBufferSize = locActualAlloc.cbBuffer;
+ } else {
+ //TODO::: Handle commit failure.
+ }
+
+ return locHR;
+ }
+}
+HRESULT AbstractTransformOutputPin::CheckMediaType(const CMediaType *inMediaType)
+{
+
+ for (int i = 0; i < mAcceptableMediaTypes.size(); i++) {
+ if ( (inMediaType->majortype == mAcceptableMediaTypes[i]->majortype)
+ && (inMediaType->subtype == mAcceptableMediaTypes[i]->subtype)
+ && (inMediaType->formattype == mAcceptableMediaTypes[i]->formattype)
+ )
+ {
+ return S_OK;
+
+ }
+ }
+
+ //If it was none of them return false.
+ return S_FALSE;
+
+
+ //if ( (inMediaType->majortype == MEDIATYPE_Audio) &&
+ // (inMediaType->subtype == MEDIASUBTYPE_PCM) &&
+ // (inMediaType->formattype == FORMAT_WaveFormatEx)) {
+ // return S_OK;
+ //} else {
+ // return S_FALSE;
+ //}
+
+}
+
+void AbstractTransformOutputPin::FillMediaType(CMediaType* outMediaType, int inPosition)
+{
+ //We are gauranteed that inPosition is within the range of the vector (See GetMediaType)
+ // If you override the mediaformat functions you must ensure this yourself before calling.
+
+ outMediaType->SetType(&(mAcceptableMediaTypes[inPosition]->majortype));
+ outMediaType->SetSubtype(&(mAcceptableMediaTypes[inPosition]->subtype));
+ outMediaType->SetFormatType(&(mAcceptableMediaTypes[inPosition]->formattype));
+
+ //If you want something different you need to override this yourself.
+ // Sample size of 0 means variable size... so that is almost always acceptable.
+ outMediaType->SetTemporalCompression(FALSE);
+ outMediaType->SetSampleSize(0);
+
+}
+
+
+HRESULT AbstractTransformOutputPin::GetMediaType(int inPosition, CMediaType *outMediaType)
+{
+
+ if (inPosition < 0) {
+ return E_INVALIDARG;
+ }
+
+ if (inPosition < mAcceptableMediaTypes.size()) {
+ FillMediaType(outMediaType, inPosition);
+ CreateAndFillFormatBuffer(outMediaType, inPosition);
+ return S_OK;
+ } else {
+ return VFW_S_NO_MORE_ITEMS;
+ }
+
+
+ //if (inPosition == 0) {
+ // FillMediaType(outMediaType);
+ // WAVEFORMATEX* locWaveFormat = (WAVEFORMATEX*)outMediaType->AllocFormatBuffer(sizeof(WAVEFORMATEX));
+ // FillWaveFormatExBuffer(locWaveFormat);
+ // return S_OK;
+ //} else {
+ // return VFW_S_NO_MORE_ITEMS;
+ //}
+}
+
+HRESULT AbstractTransformOutputPin::DeliverNewSegment(REFERENCE_TIME inStartTime, REFERENCE_TIME inStopTime, double inRate)
+{
+ mDataQueue->NewSegment(inStartTime, inStopTime, inRate);
+ return S_OK;
+}
+HRESULT AbstractTransformOutputPin::DeliverEndOfStream(void)
+{
+ //Lock ?????
+ mDataQueue->EOS();
+ return S_OK;
+}
+
+HRESULT AbstractTransformOutputPin::DeliverEndFlush(void)
+{
+ CAutoLock locLock(m_pLock);
+
+ mDataQueue->EndFlush();
+ return S_OK;
+}
+
+HRESULT AbstractTransformOutputPin::DeliverBeginFlush(void)
+{
+ CAutoLock locLock(m_pLock);
+
+ mDataQueue->BeginFlush();
+ return S_OK;
+}
+
+HRESULT AbstractTransformOutputPin::CompleteConnect(IPin *inReceivePin)
+{
+ CAutoLock locLock(m_pLock);
+ HRESULT locHR = S_OK;
+
+ //Here when another pin connects to us, we internally connect the seek delegate
+ // from this output pin onto the input pin... and we release it on breakconnect.
+ //
+ IMediaSeeking* locSeeker = NULL;
+ mParentFilter->mInputPin->NonDelegatingQueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
+ SetDelegate(locSeeker);
+
+ mDataQueue = new COutputQueue (inReceivePin, &locHR, FALSE, FALSE, 1, TRUE, mActualBufferCount); //Deleted in destructor
+
+ if (FAILED(locHR)) {
+ //Handle data Q failure
+
+ }
+
+ return CBaseOutputPin::CompleteConnect(inReceivePin);
+}
+
+HRESULT AbstractTransformOutputPin::BreakConnect(void)
+{
+ CAutoLock locLock(m_pLock);
+
+ delete mDataQueue;
+ mDataQueue = NULL;
+
+ HRESULT locHR = CBaseOutputPin::BreakConnect();
+ ReleaseDelegate();
+
+ return locHR;
+}
\ No newline at end of file
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,97 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+#pragma once
+
+//Local Includes
+#include "directshowabstractsdllstuff.h"
+
+//External Includes
+#include "BasicSeekable.h"
+
+//STL Includes
+#include <vector>
+using namespace std;
+
+//Forward Declarations
+class AbstractTransformFilter;
+
+class AbstractTransformOutputPin
+ //Base Classes
+ : public CBaseOutputPin
+ //http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/cbaseoutputpinclass.asp
+ , public BasicSeekable
+{
+public:
+ //COM Initialisation
+ DECLARE_IUNKNOWN
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+
+ //Constructors
+ AbstractTransformOutputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, CHAR* inObjectName, LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, vector<CMediaType*> inAcceptableMediaTypes);
+ virtual ~AbstractTransformOutputPin(void);
+
+ //Buffer control method
+ virtual HRESULT DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES *inReqAllocProps);
+
+ //Media Type control methods.
+ virtual HRESULT CheckMediaType(const CMediaType *inMediaType);
+ virtual HRESULT GetMediaType(int inPosition, CMediaType *outMediaType);
+
+ //Pure virtuals for codec specific format data
+ virtual HRESULT CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition) = 0;
+
+ //Virtuals for data queue delegation
+ virtual HRESULT BreakConnect(void);
+ virtual HRESULT CompleteConnect (IPin *inReceivePin);
+ virtual HRESULT DeliverNewSegment(REFERENCE_TIME inStartTime, REFERENCE_TIME inStopTime, double inRate);
+ virtual HRESULT DeliverEndOfStream(void);
+ virtual HRESULT DeliverEndFlush(void);
+ virtual HRESULT DeliverBeginFlush(void);
+
+protected:
+ //Helper methods
+ void FillMediaType(CMediaType* outMediaType, int inPosition);
+ //Member data
+ AbstractTransformFilter* mParentFilter;
+ COutputQueue* mDataQueue;
+
+ vector<CMediaType*> mAcceptableMediaTypes;
+
+ int mDesiredBufferSize;
+ int mDesiredBufferCount;
+ int mActualBufferSize;
+ int mActualBufferCount;
+
+ HRESULT mHR;
+};
+
+
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/ReadMe.txt
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/ReadMe.txt 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/ReadMe.txt 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,29 @@
+========================================================================
+ STATIC LIBRARY : libDirectshowAbstracts Project Overview
+========================================================================
+
+AppWizard has created this libDirectshowAbstracts library project for you.
+This file contains a summary of what you will find in each of the files that
+make up your libDirectshowAbstracts application.
+
+
+libDirectshowAbstracts.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.
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named libDirectshowAbstracts.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/lib/core/directshow/libDirectshowAbstracts/directshowabstractsdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/directshowabstractsdllstuff.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/directshowabstractsdllstuff.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,35 @@
+//===========================================================================
+//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.
+//===========================================================================
+
+#pragma once
+#include <streams.h>
+#include <pullpin.h>
+#include <initguid.h>
Added: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/libDirectshowAbstracts.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/libDirectshowAbstracts.vcproj 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/libDirectshowAbstracts.vcproj 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="libDirectshowAbstracts"
+ ProjectGUID="{EA7091BB-9906-41DF-9738-F4858A136086}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""c:\dxsdk\Samples\C++\DirectShow\BaseClasses";..\dsfSeeking"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CallingConvention="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/libDirectshowAbstracts.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""c:\dxsdk\Samples\C++\DirectShow\BaseClasses";..\dsfSeeking"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"
+ CallingConvention="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/libDirectshowAbstracts.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <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=".\AbstractTransformFilter.cpp">
+ </File>
+ <File
+ RelativePath=".\AbstractTransformInputPin.cpp">
+ </File>
+ <File
+ RelativePath=".\AbstractTransformOutputPin.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=".\AbstractTransformFilter.h">
+ </File>
+ <File
+ RelativePath=".\AbstractTransformInputPin.h">
+ </File>
+ <File
+ RelativePath=".\AbstractTransformOutputPin.h">
+ </File>
+ <File
+ RelativePath=".\directshowabstractsdllstuff.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/lib/core/directshow/libDirectshowAbstracts/stdafx.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.cpp 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.cpp 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libDirectshowAbstracts.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/lib/core/directshow/libDirectshowAbstracts/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.h 2004-11-23 10:08:10 UTC (rev 8265)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/stdafx.h 2004-11-23 10:48:12 UTC (rev 8266)
@@ -0,0 +1,15 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+// TODO: reference additional headers your program requires here
+
+#include "AbstractTransformInputPin.h"
+#include "AbstractTransformOutputPin.h"
+#include "AbstractTransformFilter.h"
More information about the commits
mailing list