[xiph-commits] r8377 - in trunk/oggdsf: . build/oggcodecs sln/oggdsf_all src/lib/codecs/theora/filters/dsfTheoraEncoder src/lib/core/ogg/libOOOgg src/tests/testLibOOOgg

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Sun Dec 12 15:15:34 PST 2004


Author: illiminable
Date: 2004-12-12 15:15:33 -0800 (Sun, 12 Dec 2004)
New Revision: 8377

Modified:
   trunk/oggdsf/README
   trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
   trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.vcproj
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/stdafx.h
   trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp
   trunk/oggdsf/src/tests/testLibOOOgg/OggPageFileWriter.cpp
   trunk/oggdsf/src/tests/testLibOOOgg/testLibOOOgg.cpp
Log:
* Moved theora encoder to new abstract classes.
* Fixed sporadic theora encoder crashing bug due to threading problem.

Modified: trunk/oggdsf/README
===================================================================
--- trunk/oggdsf/README	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/README	2004-12-12 23:15:33 UTC (rev 8377)
@@ -23,9 +23,12 @@
  delete some necessary header files. Don't ask me why !
  Also ignore visual studio hassling you about sourcesafe for flac.
 
+I've been using NASM 0.98.38 which you can find here
+ http://sourceforge.net/projects/nasm You want the win32 binaries.
+
 If you do accidentally clean FLAC, you will get a message when you
  try to build that says "ordinals.h" not found. You need to
- go to the libFLAC directory and find the file called ordinals.h.in
+ go to the libFLAC directory and find the file called ordinals.h.bak
  and *copy* it to the same directory without the .in extension.
  Don't just rename it... you want to keep that file for next time
  this happens !

Modified: trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
===================================================================
--- trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj	2004-12-12 23:15:33 UTC (rev 8377)
@@ -75,6 +75,12 @@
         }
         "Entry"
         {
+        "MsmKey" = "8:_3243E453AFD94BB88B5A1014BDFCBAAE"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
         "MsmKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -87,404 +93,410 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_42F89A4130A36CD4BA74B00F4B424775"
-        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_4812D148C77C9833CE1C0D8D175B84A4"
-        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_3243E453AFD94BB88B5A1014BDFCBAAE"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_4812D148C77C9833CE1C0D8D175B84A4"
-        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_578B89273D59478F861AA5BC3600D074"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_58F56CD02F64413B9459F3E151760A57"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_65015192414F476999A68339F89BEA57"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
         "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
+        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
+        "MsmKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
+        "MsmKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "MsmKey" = "8:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "MsmKey" = "8:_578B89273D59478F861AA5BC3600D074"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
+        "MsmKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
+        "MsmKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
+        "MsmKey" = "8:_65015192414F476999A68339F89BEA57"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
         "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_77F28BEDC86D404EBCC84AE004027B9B"
-        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_3243E453AFD94BB88B5A1014BDFCBAAE"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_81A3CDB604B64763884C387192BE6771"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_83AF8D74700947168B69E69E5160F082"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8976C400668B453CB941859C4F3C6E27"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_83AF8D74700947168B69E69E5160F082"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_83AF8D74700947168B69E69E5160F082"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_24A1793CB89A464FB683A8A3BDA774DB"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
+        "MsmKey" = "8:_7AB5CD19FE0405AE176371917792D12E"
+        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_24A1793CB89A464FB683A8A3BDA774DB"
+        "MsmKey" = "8:_81A3CDB604B64763884C387192BE6771"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
+        "MsmKey" = "8:_83AF8D74700947168B69E69E5160F082"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
+        "MsmKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F04F8C00C684CAEBEE50837881AB3D6"
-        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
+        "MsmKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
@@ -525,12 +537,6 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_D7835E050C942DE27CB20AF3D1EC70F4"
-        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_D9BE90D398094F15B881B22369C3A231"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -727,10 +733,10 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_42F89A4130A36CD4BA74B00F4B424775"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_46A378A9B03E4612A645053EDB884C20"
             {
-            "SourcePath" = "8:dsfOggDemux.dll"
-            "TargetName" = "8:dsfOggDemux.dll"
+            "SourcePath" = "8:MSVCP71D.dll"
+            "TargetName" = "8:MSVCP71D.dll"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -743,14 +749,14 @@
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
             "Register" = "3:1"
-            "Exclude" = "11:TRUE"
+            "Exclude" = "11:FALSE"
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_4812D148C77C9833CE1C0D8D175B84A4"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
             {
-            "SourcePath" = "8:msxml3.dll"
-            "TargetName" = "8:msxml3.dll"
+            "SourcePath" = "8:WSOCK32.dll"
+            "TargetName" = "8:WSOCK32.dll"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -762,15 +768,15 @@
             "Permanent" = "11:FALSE"
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
-            "Register" = "3:4"
+            "Register" = "3:1"
             "Exclude" = "11:TRUE"
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_655D5383153A6AB10D15352A7EABCC7A"
             {
-            "SourcePath" = "8:WSOCK32.dll"
-            "TargetName" = "8:WSOCK32.dll"
+            "SourcePath" = "8:MSVCR71D.dll"
+            "TargetName" = "8:MSVCR71D.dll"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -783,14 +789,14 @@
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
             "Register" = "3:1"
-            "Exclude" = "11:TRUE"
+            "Exclude" = "11:FALSE"
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_81A3CDB604B64763884C387192BE6771"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_7AB5CD19FE0405AE176371917792D12E"
             {
-            "SourcePath" = "8:..\\..\\COPYRIGHTS"
-            "TargetName" = "8:COPYRIGHTS"
+            "SourcePath" = "8:libFLAC.dll"
+            "TargetName" = "8:libFLAC.dll"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -803,14 +809,14 @@
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
             "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
+            "Exclude" = "11:TRUE"
+            "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_8FDBDF6B593E4A31BDEECAA245B32EB0"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_81A3CDB604B64763884C387192BE6771"
             {
-            "SourcePath" = "8:..\\..\\COPYRIGHTS.rtf"
-            "TargetName" = "8:COPYRIGHTS.rtf"
+            "SourcePath" = "8:..\\..\\COPYRIGHTS"
+            "TargetName" = "8:COPYRIGHTS"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -827,10 +833,10 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_D7835E050C942DE27CB20AF3D1EC70F4"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_8FDBDF6B593E4A31BDEECAA245B32EB0"
             {
-            "SourcePath" = "8:libFLAC.dll"
-            "TargetName" = "8:libFLAC.dll"
+            "SourcePath" = "8:..\\..\\COPYRIGHTS.rtf"
+            "TargetName" = "8:COPYRIGHTS.rtf"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -843,8 +849,8 @@
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
             "Register" = "3:1"
-            "Exclude" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
             "{A582A373-4685-4296-BEFE-614B80A702C3}:_D9BE90D398094F15B881B22369C3A231"
@@ -923,7 +929,7 @@
         "Name" = "8:Microsoft Visual Studio"
         "ProductName" = "8:oggcodecs"
         "ProductCode" = "8:{D65F0073-A820-4085-B997-A061171595A7}"
-        "PackageCode" = "8:{67C56C6E-440E-42A6-88EE-A8CF5B037C52}"
+        "PackageCode" = "8:{19A22B6B-90C0-4ADD-902D-CD45E6237E13}"
         "UpgradeCode" = "8:{1A644FEB-7597-4FAB-AADE-C2C7C64C5984}"
         "RestartWWWService" = "11:FALSE"
         "RemovePreviousVersions" = "11:TRUE"
@@ -3046,40 +3052,12 @@
         }
         "MergeModule"
         {
-            "{35A69C6E-5BA4-440D-803D-762B59A45393}:_77F28BEDC86D404EBCC84AE004027B9B"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:vc_user_stl71_rtl_x86_---.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
-            "{35A69C6E-5BA4-440D-803D-762B59A45393}:_8F04F8C00C684CAEBEE50837881AB3D6"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:vc_user_crt71_rtl_x86_---.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
         }
         "ProjectOutput"
         {
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_02E7D9728C8944F1BD021329177F5140"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\libCMMLTags\\Release\\libCMMLTags.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\libcmmltags\\debug\\libCMMLTags.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3107,7 +3085,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_0A1E63E5852E4F759F1A27E8F097727B"
             {
-            "SourcePath" = "8:..\\..\\src\\tools\\OOOggDump\\Release\\OOOggDump.exe"
+            "SourcePath" = "8:..\\..\\src\\tools\\oooggdump\\debug\\OOOggDump.exe"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3135,7 +3113,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_0D0DD40A31F842C68B09BE0CBDE1996B"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfFLACEncoder\\Release\\dsfFLACEncoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfflacencoder\\debug\\dsfFLACEncoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3163,7 +3141,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_13E9F6D7ED35430BA31BDDF95E6327B3"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfAbstractVideoEncoder\\Release\\dsfAbstractVideoEncoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfabstractvideoencoder\\debug\\dsfAbstractVideoEncoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3191,7 +3169,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_14E3067B71584FB5A245A2DA9D65D139"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\libWinCMMLParse\\Release\\libWinCMMLParse.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\libwincmmlparse\\debug\\libWinCMMLParse.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3219,7 +3197,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_24A1793CB89A464FB683A8A3BDA774DB"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\libs\\libvorbis\\win32\\Vorbis_Dynamic_Release\\vorbis.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\libs\\libvorbis\\win32\\vorbis_dynamic_debug\\vorbis_d.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3247,7 +3225,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_273D851AE72C4D2EA8020A712DBFE5A3"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfNativeFLACSource\\Release\\dsfNativeFLACSource.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfnativeflacsource\\debug\\dsfNativeFLACSource.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3273,9 +3251,37 @@
                 {
                 }
             }
+            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_3243E453AFD94BB88B5A1014BDFCBAAE"
+            {
+            "SourcePath" = "8:..\\..\\src\\tests\\testlibooogg\\debug\\testLibOOOgg.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
+            "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:{6B993E86-7283-4324-B4C4-F047930FB5FF}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_3C7C3E6B832E481C8A36701A33FF3721"
             {
-            "SourcePath" = "8:..\\..\\src\\tools\\OOOggStat\\Release\\OOOggStat.exe"
+            "SourcePath" = "8:..\\..\\src\\tools\\oooggstat\\debug\\OOOggStat.exe"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3303,7 +3309,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_408749AC43894882BEEBFF43737E505B"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfSpeexDecoder\\Release\\dsfSpeexDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfspeexdecoder\\debug\\dsfSpeexDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3331,7 +3337,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_4EB6175B98B54613A5087D8EA257D00A"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\libs\\libOOTheora\\Release\\libOOTheora.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\libs\\libootheora\\debug\\libOOTheora.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3359,7 +3365,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsfTheoraDecoder\\Release\\dsfTheoraDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsftheoradecoder\\debug\\dsfTheoraDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3387,7 +3393,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_578B89273D59478F861AA5BC3600D074"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfOggMux\\Release\\dsfOggMux.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfoggmux\\debug\\dsfOggMux.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3415,7 +3421,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_58F56CD02F64413B9459F3E151760A57"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libOOOgg\\Release\\libOOOgg.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libooogg\\debug\\libOOOgg.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3443,7 +3449,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_5EB08DD30B564283AA9C9F27D80CF9E4"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libOOOggSeek\\Release\\libOOOggSeek.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\liboooggseek\\debug\\libOOOggSeek.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3471,7 +3477,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_65015192414F476999A68339F89BEA57"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\dsfCMMLDecoder\\Release\\dsfCMMLDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\cmml\\dsfcmmldecoder\\debug\\dsfCMMLDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3499,7 +3505,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_83AF8D74700947168B69E69E5160F082"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\libs\\libflac\\obj\\release\\bin\\libFLAC.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\libs\\libflac\\obj\\debug\\bin\\libFLAC.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3527,7 +3533,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_8976C400668B453CB941859C4F3C6E27"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfFLACDecoder\\Release\\dsfFLACDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\filters\\dsfflacdecoder\\debug\\dsfFLACDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3555,7 +3561,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_8D9A2E4C592D4118B80A4AE8394D8963"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfSpeexEncoder\\Release\\dsfSpeexEncoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfspeexencoder\\debug\\dsfSpeexEncoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3583,7 +3589,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_8F970C0B2593413CA2A3BBF5F2600387"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfAnxDemux\\Release\\dsfAnxDemux.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfanxdemux\\debug\\dsfAnxDemux.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3611,7 +3617,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_A5AAB8CB90C548F1820BC101A765616C"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfSeeking\\Release\\dsfSeeking.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfseeking\\debug\\dsfSeeking.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3639,7 +3645,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_AC8962A7F212481095173AB7C8C89025"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsfTheoraEncoder\\Release\\dsfTheoraEncoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsftheoraencoder\\debug\\dsfTheoraEncoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3667,7 +3673,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
             {
-            "SourcePath" = "8:..\\..\\src\\tools\\OOOggValidate\\Release\\OOOggValidate.exe"
+            "SourcePath" = "8:..\\..\\src\\tools\\oooggvalidate\\debug\\OOOggValidate.exe"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3695,7 +3701,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_D2048C8B212841C88E42F6ADDCA8B0A2"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfSubtitleVMR9\\Release\\dsfSubtitleVMR9.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfsubtitlevmr9\\debug\\dsfSubtitleVMR9.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3723,7 +3729,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_DB60960DC12343B89500B86D5AB10D02"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\libs\\libflac\\obj\\release\\bin\\libFLAC++.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\libs\\libflac\\obj\\debug\\bin\\libFLAC++.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3751,7 +3757,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_DCF4ED7597F8492AA49DC521111ED0F5"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfOggDemux\\Release\\dsfOggDemux.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfoggdemux\\debug\\dsfOggDemux.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3779,7 +3785,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_E1E372FA955046E6928BF533EA0AE6C3"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libVorbisComment\\Release\\libVorbisComment.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libvorbiscomment\\debug\\libVorbisComment.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3807,7 +3813,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\helper\\libfishsound\\win32\\Release\\libfishsound.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\helper\\libfishsound\\win32\\debug\\libfishsound.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3835,7 +3841,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_EB09F87C612C40BCA34AC87060CFEFF1"
             {
-            "SourcePath" = "8:..\\..\\src\\tools\\OOOggCommentDump\\Release\\OOOggCommentDump.exe"
+            "SourcePath" = "8:..\\..\\src\\tools\\oooggcommentdump\\debug\\OOOggCommentDump.exe"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3863,7 +3869,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_EFEA71FFF2864107815DBDECCCCA1178"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\filters\\dsfVorbisDecoder\\Release\\dsfVorbisDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\filters\\dsfvorbisdecoder\\debug\\dsfVorbisDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
@@ -3891,7 +3897,7 @@
             }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_FD547F0196C24DFBB9CAFCCEC06561BC"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\filters\\dsfVorbisEncoder\\Release\\dsfVorbisEncoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\filters\\dsfvorbisencoder\\debug\\dsfVorbisEncoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-12-12 23:15:33 UTC (rev 8377)
@@ -971,7 +971,7 @@
 		{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
 		{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
 		{6B20BD7A-644B-4087-9CAC-71B2D68D0231} = {6B20BD7A-644B-4087-9CAC-71B2D68D0231}
-		{AD2DC5BB-AC7B-482D-9472-19BB98A833CE} = {AD2DC5BB-AC7B-482D-9472-19BB98A833CE}
+		{EA7091BB-9906-41DF-9738-F4858A136086} = {EA7091BB-9906-41DF-9738-F4858A136086}
 		{2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA} = {2394BCBD-BAE8-443F-A65C-6BFDDD42D7CA}
 		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
 	EndProjectSection
@@ -1193,26 +1193,38 @@
 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
+	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
+	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
+	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
+	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
+	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
+	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

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -78,11 +78,11 @@
 	}
 
 
-	return AbstractVideoEncodeFilter::NonDelegatingQueryInterface(riid, ppv);
+	return AbstractTransformFilter::NonDelegatingQueryInterface(riid, ppv);
 }
 
 TheoraEncodeFilter::TheoraEncodeFilter(void)
-	:	AbstractVideoEncodeFilter(NAME("Theora Encoder"), CLSID_TheoraEncodeFilter, AbstractVideoEncodeFilter::THEORA)
+	:	AbstractTransformFilter(NAME("Theora Encoder"), CLSID_TheoraEncodeFilter)
 {
 	bool locWasConstructed = ConstructPins();
 }
@@ -94,14 +94,86 @@
 bool TheoraEncodeFilter::ConstructPins() 
 {
 
-	CMediaType* locOutputMediaType = new CMediaType(&MEDIATYPE_Video);
-	locOutputMediaType->subtype = MEDIASUBTYPE_Theora;
-	locOutputMediaType->formattype = FORMAT_Theora;
+
+	//Inputs Video / Varios / VideoInfoHeader
+	//Outputs Video / Theora / THeora
+
+	//Vector to hold our set of media types we want to accept.
+	vector<CMediaType*> locAcceptableTypes;
+
+	//Setup the media types for the output pin.
+	CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);		//Deleted in pin destructor
+	locAcceptMediaType->subtype = MEDIASUBTYPE_Theora;
+	locAcceptMediaType->formattype = FORMAT_Theora;
+	
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
 	//Output pin must be done first because it's passed to the input pin.
-	mOutputPin = new TheoraEncodeOutputPin(this, m_pLock, locOutputMediaType);
+	mOutputPin = new TheoraEncodeOutputPin(this, m_pLock, locAcceptableTypes);			//Deleted in base class destructor
 
+	//Clear out the vector, now we've already passed it to the output pin.
+	locAcceptableTypes.clear();
+
+	//Setup the media Types for the input pin.
+	locAcceptMediaType = NULL;
+
+	//YV12
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_YV12;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//YUY2
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_YUY2;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//AYUV
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_AYUV;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//RGB24
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_RGB24;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//RGB32
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_RGB32;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//UYVY
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_UYVY;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//YVYU
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_YVYU;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
+	//IYUV
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Video);			//Deleted by pin
+	locAcceptMediaType->subtype = MEDIASUBTYPE_IYUV;
+	locAcceptMediaType->formattype = FORMAT_VideoInfo;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
 	
-	mInputPin = new TheoraEncodeInputPin(this, m_pLock, mOutputPin);
+	mInputPin = new TheoraEncodeInputPin(this, m_pLock, mOutputPin, locAcceptableTypes);	//Deleted in base class filter destructor.
 	return true;
 }
 

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2004-12-12 23:15:33 UTC (rev 8377)
@@ -34,8 +34,8 @@
 #include "theoraencoderdllstuff.h"
 #include "ITheoraEncodeSettings.h"
 #include "PropsTheoraEncoder.h"
-//#include "AbstractVideoEncodeFilter.h"
 
+
 //Forward Declarations
 //struct sTheoraFormatBlock;
 class TheoraEncodeInputPin;
@@ -43,7 +43,7 @@
 
 class TheoraEncodeFilter
 	//Base classes
-	:	public AbstractVideoEncodeFilter
+	:	public AbstractTransformFilter
 	,	public ITheoraEncodeSettings
 	,	public ISpecifyPropertyPages
 {
@@ -58,7 +58,7 @@
 
 	//COM Functions
 	DECLARE_IUNKNOWN
-	static CUnknown* WINAPI TheoraEncodeFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
+	static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
 	//ITheoraEncodeSettings Implementation
@@ -71,13 +71,16 @@
 	STDMETHODIMP_(bool) setKeyframeFreq(unsigned long inKeyframeFreq);
 	//
 
-	//AbstractVideoEncodeFilter pure virtuals
-	virtual bool ConstructPins();
+
 	
 	//SpecifyPropertyPages Implementation
 	STDMETHODIMP TheoraEncodeFilter::GetPages(CAUUID* outPropPages);
 
 protected:
+
+	//AbstractVideoEncodeFilter pure virtuals
+	virtual bool ConstructPins();
+
 	//Member data
 	sTheoraFormatBlock mTheoraFormatBlock;
 	

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -32,10 +32,15 @@
 #include "StdAfx.h"
 #include "theoraencodeinputpin.h"
 
-TheoraEncodeInputPin::TheoraEncodeInputPin(AbstractVideoEncodeFilter* inParentFilter, CCritSec* inFilterLock, AbstractVideoEncodeOutputPin* inOutputPin)
-	:	AbstractVideoEncodeInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("TheoraEncodeInputPin"), L"YV12 In")
+TheoraEncodeInputPin::TheoraEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes)
+	:	AbstractTransformInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("TheoraEncodeInputPin"), L"YV12 In", inAcceptableMediaTypes)
 	,	mXOffset(0)
 	,	mYOffset(0)
+	,	mHeight(0)
+	,	mWidth(0)
+	,	mUptoFrame(0)
+	,	mBegun(false)
+	,	mVideoFormat(NULL)
 	
 
 {
@@ -84,7 +89,7 @@
 		{
 			CAutoLock locLock(m_pLock);
 
-			HRESULT locHR = mOutputPin->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
+			HRESULT locHR = ((TheoraEncodeOutputPin*)mOutputPin)->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
 			if (locHR != S_OK) {
 				return locHR;	
 			} else {
@@ -1112,7 +1117,7 @@
 
 
 //PURE VIRTUALS
-long TheoraEncodeInputPin::encodeData(unsigned char* inBuf, long inNumBytes) {
+long TheoraEncodeInputPin::TransformData(unsigned char* inBuf, long inNumBytes) {
 
 	//TODO::: Break this function up a bit !!
 
@@ -1318,11 +1323,29 @@
 
 
 HRESULT TheoraEncodeInputPin::SetMediaType(const CMediaType* inMediaType) {
-	AbstractVideoEncodeInputPin::SetMediaType(inMediaType);
+	//AbstractVideoEncodeInputPin::SetMediaType(inMediaType);
 
+	if  (	inMediaType->subtype == MEDIASUBTYPE_YV12 || 
+			inMediaType->subtype == MEDIASUBTYPE_IYUV ||
+			inMediaType->subtype == MEDIASUBTYPE_YUY2 ||
+			inMediaType->subtype == MEDIASUBTYPE_UYVY ||
+			inMediaType->subtype == MEDIASUBTYPE_YVYU ||
+			inMediaType->subtype == MEDIASUBTYPE_AYUV ||
+			inMediaType->subtype == MEDIASUBTYPE_RGB32 ||
+			inMediaType->subtype == MEDIASUBTYPE_RGB24
+	) {
+		mVideoFormat = (VIDEOINFOHEADER*)inMediaType->pbFormat;
+		mPinInputType = *inMediaType;
+		//mParentFilter->mAudioFormat = AbstractAudioDecodeFilter::VORBIS;
+	} else {
+		//Failed... should never be here !
+		throw 0;
+	}
 	ConstructCodec();
+	return CBaseInputPin::SetMediaType(inMediaType);
 
 
+
 	return S_OK;
 	
 }

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.h	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.h	2004-12-12 23:15:33 UTC (rev 8377)
@@ -50,23 +50,26 @@
 
 class TheoraEncodeOutputPin;
 class TheoraEncodeInputPin
-	:	public AbstractVideoEncodeInputPin
+	:	public AbstractTransformInputPin
 {
 public:
-	TheoraEncodeInputPin(AbstractVideoEncodeFilter* inFilter, CCritSec* inFilterLock, AbstractVideoEncodeOutputPin* inOutputPin);
+	TheoraEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes);
 	virtual ~TheoraEncodeInputPin(void);
 
 
-	//PURE VIRTUALS
-	virtual long encodeData(unsigned char* inBuf, long inNumBytes);
-	virtual bool ConstructCodec();
-	virtual void DestroyCodec();
+	
 	virtual HRESULT SetMediaType(const CMediaType* inMediaType);
 	//
 
 	theora_info* theoraInfo();
 
 protected:
+
+	//PURE VIRTUALS
+	virtual long TransformData(unsigned char* inBuf, long inNumBytes);
+	virtual bool ConstructCodec();
+	virtual void DestroyCodec();
+
 	HRESULT mHR;
 	//bool mBegun;	//Already in base class !
 
@@ -93,6 +96,17 @@
 	unsigned long mXOffset;
 	unsigned long mYOffset;
 
+	unsigned long mHeight;
+	unsigned long mWidth;
+
+	unsigned __int64 mUptoFrame;
+
+	CMediaType mPinInputType;
+	VIDEOINFOHEADER* mVideoFormat;
+
+	bool mBegun;
+
+
 	//DEBUG ONLY
 	//fstream debugLog;
 	//

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -32,8 +32,8 @@
 #include "StdAfx.h"
 #include "theoraencodeoutputpin.h"
 
-TheoraEncodeOutputPin::TheoraEncodeOutputPin(TheoraEncodeFilter* inParentFilter,CCritSec* inFilterLock, CMediaType* inOutputMediaType)
-	:	AbstractVideoEncodeOutputPin(inParentFilter, inFilterLock,NAME("TheoraDecodeOutputPin"), L"Theora Out", inOutputMediaType)
+TheoraEncodeOutputPin::TheoraEncodeOutputPin(TheoraEncodeFilter* inParentFilter,CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes)
+	:	AbstractTransformOutputPin(inParentFilter, inFilterLock,NAME("TheoraEncodeOutputPin"), L"Theora Out", 1024*1024, 3, inAcceptableMediaTypes)
 {
 }
 
@@ -41,11 +41,24 @@
 {
 }
 
-bool TheoraEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
-	TheoraEncodeFilter* locParentFilter = (TheoraEncodeFilter*)mParentFilter;
-	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mTheoraFormatBlock), sizeof(sTheoraFormatBlock));
-	return true;
-}
-unsigned long TheoraEncodeOutputPin::FormatBufferSize() {
-	return sizeof(sTheoraFormatBlock);
-}
+//bool TheoraEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
+//	TheoraEncodeFilter* locParentFilter = (TheoraEncodeFilter*)mParentFilter;
+//	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mTheoraFormatBlock), sizeof(sTheoraFormatBlock));
+//	return true;
+//}
+//unsigned long TheoraEncodeOutputPin::FormatBufferSize() {
+//	return sizeof(sTheoraFormatBlock);
+//}
+
+HRESULT TheoraEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
+{
+	if (inPosition == 0) {
+		sTheoraFormatBlock* locTheoraFormat = (sTheoraFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sTheoraFormatBlock));
+		//TODO::: Check for null ?
+
+		memcpy((void*)locTheoraFormat, (const void*) &(((TheoraEncodeFilter*)mParentFilter)->mTheoraFormatBlock), sizeof(sTheoraFormatBlock));
+		return S_OK;
+	} else {
+        return S_FALSE;
+	}
+}
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h	2004-12-12 23:15:33 UTC (rev 8377)
@@ -32,23 +32,28 @@
 #pragma once
 
 #include "theoraencoderdllstuff.h"
-//#include "AbstractVideoEncodeOutputPin.h"
 
+
 class TheoraEncodeFilter;
 struct sTheoraFormatBlock;
 
 class TheoraEncodeOutputPin
-	:	public	AbstractVideoEncodeOutputPin
+	:	public	AbstractTransformOutputPin
 {
 public:
-	TheoraEncodeOutputPin(TheoraEncodeFilter* inParentFilter, CCritSec* inFilterLock, CMediaType* inOutputMediaType);
+
+	friend class TheoraEncodeInputPin;
+
+	TheoraEncodeOutputPin(TheoraEncodeFilter* inParentFilter, CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes);
 	virtual ~TheoraEncodeOutputPin(void);
 
 	//PURE VIRTUAL IMPLEMENTATION
-	virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
-	virtual unsigned long FormatBufferSize();
+	//virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
+	//virtual unsigned long FormatBufferSize();
 
 
 protected:
+	HRESULT CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition);
+
 	
 };

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

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/stdafx.h	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/stdafx.h	2004-12-12 23:15:33 UTC (rev 8377)
@@ -11,9 +11,9 @@
 
 // TODO: reference additional headers your program requires here
 #include "theoraencoderdllstuff.h"
-#include "AbstractVideoEncodeFilter.h"
-#include "AbstractVideoEncodeInputPin.h"
-#include "AbstractVideoEncodeOutputPin.h"
+#include "AbstractTransformFilter.h"
+#include "AbstractTransformInputPin.h"
+#include "AbstractTransformOutputPin.h"
 #include "TheoraEncodeInputPin.h"
 #include "TheoraEncodeOutputPin.h"
 #include "TheoraEncodeFilter.h"
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOgg/OggPaginator.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -325,7 +325,8 @@
 	
 	//mPending page has data is useless, it was set before this function is called... need to fix that. maybe move into add part of pack into apge
 	if ((!mPendingPageHasData) && (inStartAt != 0)) {
-		mPendingPage->header()->setHeaderFlags(mPendingPage->header()->isContinuation());	
+		mPendingPage->header()->setHeaderFlags(mPendingPage->header()->HeaderFlags() | OggPageHeader::CONTINUATION);	
+		
 	}
 
 	if (locHowMuchToAdd > 0) {

Modified: trunk/oggdsf/src/tests/testLibOOOgg/OggPageFileWriter.cpp
===================================================================
--- trunk/oggdsf/src/tests/testLibOOOgg/OggPageFileWriter.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/tests/testLibOOOgg/OggPageFileWriter.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -8,6 +8,7 @@
 
 OggPageFileWriter::~OggPageFileWriter(void)
 {
+	mFile.close();
 }
 
 bool OggPageFileWriter::acceptOggPage(OggPage* inOggPage) {

Modified: trunk/oggdsf/src/tests/testLibOOOgg/testLibOOOgg.cpp
===================================================================
--- trunk/oggdsf/src/tests/testLibOOOgg/testLibOOOgg.cpp	2004-12-12 19:53:07 UTC (rev 8376)
+++ trunk/oggdsf/src/tests/testLibOOOgg/testLibOOOgg.cpp	2004-12-12 23:15:33 UTC (rev 8377)
@@ -5,6 +5,7 @@
 
 #include "TestPatternOggPacketGenerator.h"
 #include "TestPatternOggPageChecker.h"
+#include "OggPageFileWriter.h"
 
 
 #include <iostream>
@@ -82,10 +83,82 @@
 //	for (int i = 0; i <
 //
 //}
+
+
+
+bool test255MultPacketSizes(string inFileName, unsigned long inNumPackets) {
+
+	TestPatternOggPacketGenerator locPackGen;
+	TestPatternOggPageChecker locPageChecker;
+	OggPaginator locPaginator;
+
+	OggPaginatorSettings*  locSettings = new OggPaginatorSettings;
+	
+	locSettings->mMaxPageSize = 20000;
+	locSettings->mMinPageSize = 4096;
+	locSettings->mTargetPageSize = 8192;
+	locSettings->mSerialNo = 77;
+	locSettings->mNumHeaders = 6;
+	locPaginator.setParameters(locSettings);
+
+	locPaginator.setPageCallback(&locPageChecker);
+
+	const unsigned long MAX_MULTIPLE_SIZE = 100;
+	unsigned long locPacketSize = 0;
+	StampedOggPacket* locTestPacket;
+
+	for (int i = 0; i < inNumPackets; i++) {
+		locPacketSize = (rand() % MAX_MULTIPLE_SIZE) * 255;
+		locTestPacket = locPackGen.generatePacket(locPacketSize, i);
+		locPaginator.acceptStampedOggPacket(locTestPacket);
+	}
+	locPaginator.finishStream();
+	return true;
+
+}
+
+
+
+bool test255MultPacketSizesToFile(string inFileName, unsigned long inNumPackets) {
+
+	TestPatternOggPacketGenerator locPackGen;
+	//TestPatternOggPageChecker locPageChecker;
+	OggPageFileWriter locFileWriter(inFileName);
+	
+	OggPaginator locPaginator;
+
+	OggPaginatorSettings*  locSettings = new OggPaginatorSettings;
+	
+	locSettings->mMaxPageSize = 20000;
+	locSettings->mMinPageSize = 4096;
+	locSettings->mTargetPageSize = 8192;
+	locSettings->mSerialNo = 77;
+	locSettings->mNumHeaders = 6;
+	locPaginator.setParameters(locSettings);
+
+	locPaginator.setPageCallback(&locFileWriter);
+
+	const unsigned long MAX_MULTIPLE_SIZE = 100;
+	unsigned long locPacketSize = 0;
+	StampedOggPacket* locTestPacket;
+
+	for (int i = 0; i < inNumPackets; i++) {
+		locPacketSize = (rand() % MAX_MULTIPLE_SIZE) * 255;
+		locTestPacket = locPackGen.generatePacket(locPacketSize, i);
+		locPaginator.acceptStampedOggPacket(locTestPacket);
+	}
+	locPaginator.finishStream();
+	return true;
+
+}
+
 int _tmain(int argc, _TCHAR* argv[])
 {
+	int x;
+	cin>>x;
 	//testRandomPacketSizes("", 100);
-	testSmallPacketSizes("", 10000);
+	//testSmallPacketSizes("", 10000);
+	test255MultPacketSizesToFile("d:\\Zen\\tests\\test.ogg", 500);
 	return 0;
 }
 



More information about the commits mailing list