[xiph-commits] r8279 - in trunk/oggdsf: build/oggcodecs docs sln/oggdsf_all src/lib/codecs/flac/filters/dsfFLACEncoder

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Wed Nov 24 23:45:40 PST 2004


Author: illiminable
Date: 2004-11-24 23:45:40 -0800 (Wed, 24 Nov 2004)
New Revision: 8279

Modified:
   trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
   trunk/oggdsf/docs/refactor.txt
   trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
Log:
* Converted flac encoder to new abstracts.

Modified: trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
===================================================================
--- trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj	2004-11-25 07:45:40 UTC (rev 8279)
@@ -93,468 +93,474 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
+        "MsmKey" = "8:_4812D148C77C9833CE1C0D8D175B84A4"
+        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "MsmKey" = "8:_4812D148C77C9833CE1C0D8D175B84A4"
+        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
+        "MsmKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
+        "MsmKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
+        "MsmKey" = "8:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
+        "MsmKey" = "8:_578B89273D59478F861AA5BC3600D074"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
+        "MsmKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
+        "MsmKey" = "8:_65015192414F476999A68339F89BEA57"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
+        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+        "OwnerKey" = "8:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
+        "MsmKey" = "8:_81A3CDB604B64763884C387192BE6771"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
-        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_5752F7DAA54F2A09A6DC1D6BEB922BDD"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_83AF8D74700947168B69E69E5160F082"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_578B89273D59478F861AA5BC3600D074"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_58F56CD02F64413B9459F3E151760A57"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_65015192414F476999A68339F89BEA57"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_24A1793CB89A464FB683A8A3BDA774DB"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
+        "MsmKey" = "8:_839155D716DC43249C8CE88948325183"
+        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
+        "MsmKey" = "8:_83AF8D74700947168B69E69E5160F082"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
+        "MsmKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
+        "MsmKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "MsmKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
+        "MsmKey" = "8:_8FDBDF6B593E4A31BDEECAA245B32EB0"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
+        "MsmKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_83AF8D74700947168B69E69E5160F082"
+        "MsmKey" = "8:_AC8962A7F212481095173AB7C8C89025"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_65EFE52655DF4119A626446C8F593760"
+        "MsmKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
+        "MsmKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
+        "MsmKey" = "8:_D7835E050C942DE27CB20AF3D1EC70F4"
+        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
+        "MsmKey" = "8:_D9BE90D398094F15B881B22369C3A231"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_56CADC6C2BCD4C178BC0C0AA13ABFEBF"
+        "MsmKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_4EB6175B98B54613A5087D8EA257D00A"
+        "MsmKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
+        "MsmKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_02E7D9728C8944F1BD021329177F5140"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_24A1793CB89A464FB683A8A3BDA774DB"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_EFEA71FFF2864107815DBDECCCCA1178"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_EB09F87C612C40BCA34AC87060CFEFF1"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
-        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_65EFE52655DF4119A626446C8F593760"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_81A3CDB604B64763884C387192BE6771"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_83AF8D74700947168B69E69E5160F082"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8976C400668B453CB941859C4F3C6E27"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_8D9A2E4C592D4118B80A4AE8394D8963"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8F970C0B2593413CA2A3BBF5F2600387"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_8976C400668B453CB941859C4F3C6E27"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_8FDBDF6B593E4A31BDEECAA245B32EB0"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_65015192414F476999A68339F89BEA57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_A5AAB8CB90C548F1820BC101A765616C"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_5EB08DD30B564283AA9C9F27D80CF9E4"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_AC8962A7F212481095173AB7C8C89025"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_B2784574F1B848EABBE013669B46808C"
-        "OwnerKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_D2048C8B212841C88E42F6ADDCA8B0A2"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_3C7C3E6B832E481C8A36701A33FF3721"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_D9BE90D398094F15B881B22369C3A231"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_273D851AE72C4D2EA8020A712DBFE5A3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_DB60960DC12343B89500B86D5AB10D02"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_14E3067B71584FB5A245A2DA9D65D139"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_DCF4ED7597F8492AA49DC521111ED0F5"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_13E9F6D7ED35430BA31BDDF95E6327B3"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_E1E372FA955046E6928BF533EA0AE6C3"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_0D0DD40A31F842C68B09BE0CBDE1996B"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
+        "MsmKey" = "8:_E3DB923C805D43D485E9385048465C8C"
+        "OwnerKey" = "8:_0A1E63E5852E4F759F1A27E8F097727B"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
         "MsmKey" = "8:_E4B8E67DA0E54BB3BB025BFCF536BF3B"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -747,10 +753,10 @@
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_46A378A9B03E4612A645053EDB884C20"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_4812D148C77C9833CE1C0D8D175B84A4"
             {
-            "SourcePath" = "8:MSVCP71D.dll"
-            "TargetName" = "8:MSVCP71D.dll"
+            "SourcePath" = "8:msxml3.dll"
+            "TargetName" = "8:msxml3.dll"
             "Tag" = "8:"
             "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
             "Condition" = "8:"
@@ -762,8 +768,8 @@
             "Permanent" = "11:FALSE"
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
+            "Register" = "3:4"
+            "Exclude" = "11:TRUE"
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
@@ -803,7 +809,7 @@
             "SharedLegacy" = "11:FALSE"
             "PackageAs" = "3:1"
             "Register" = "3:1"
-            "Exclude" = "11:FALSE"
+            "Exclude" = "11:TRUE"
             "IsDependency" = "11:TRUE"
             "IsolateTo" = "8:"
             }
@@ -847,7 +853,7 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{A582A373-4685-4296-BEFE-614B80A702C3}:_B2784574F1B848EABBE013669B46808C"
+            "{A582A373-4685-4296-BEFE-614B80A702C3}:_D7835E050C942DE27CB20AF3D1EC70F4"
             {
             "SourcePath" = "8:libFLAC.dll"
             "TargetName" = "8:libFLAC.dll"
@@ -943,7 +949,7 @@
         "Name" = "8:Microsoft Visual Studio"
         "ProductName" = "8:oggcodecs"
         "ProductCode" = "8:{EDCBAB86-104A-4A03-B7D6-DFD783573933}"
-        "PackageCode" = "8:{8917B814-607E-4991-84A4-A5FA5C4138D0}"
+        "PackageCode" = "8:{04EC302E-3C7A-4133-A167-A4A8A226E830}"
         "UpgradeCode" = "8:{1A644FEB-7597-4FAB-AADE-C2C7C64C5984}"
         "RestartWWWService" = "11:FALSE"
         "RemovePreviousVersions" = "11:TRUE"
@@ -2680,6 +2686,34 @@
         }
         "MergeModule"
         {
+            "{35A69C6E-5BA4-440D-803D-762B59A45393}:_839155D716DC43249C8CE88948325183"
+            {
+            "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:"
+            }
+            "{35A69C6E-5BA4-440D-803D-762B59A45393}:_E3DB923C805D43D485E9385048465C8C"
+            {
+            "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:"
+            }
         }
         "ProjectOutput"
         {
@@ -3103,34 +3137,6 @@
                 {
                 }
             }
-            "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_65EFE52655DF4119A626446C8F593760"
-            {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\directshow\\dsfAbstractAudioEncoder\\Debug\\dsfAbstractAudioEncoder.dll"
-            "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:{4906E533-2864-4840-ABC1-00CD844623EB}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
             "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_83AF8D74700947168B69E69E5160F082"
             {
             "SourcePath" = "8:..\\..\\src\\lib\\codecs\\flac\\libs\\libflac\\obj\\debug\\bin\\libFLAC.dll"

Modified: trunk/oggdsf/docs/refactor.txt
===================================================================
--- trunk/oggdsf/docs/refactor.txt	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/docs/refactor.txt	2004-11-25 07:45:40 UTC (rev 8279)
@@ -39,6 +39,14 @@
 
 Find COM resource leak in encoders. (Probably to do with delegation of seeking)
 
+The encoded, decoded callbacks should be private/protected
+
+The assignment of the pointer to mWaveFormat may be unsafe without a copy.
+
+Review need and usage of locks
+
+Check initialisation lists.
+
 DONE::::
 
 Fix the leaks caused by the accept media types.

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-11-25 07:45:40 UTC (rev 8279)
@@ -1047,10 +1047,9 @@
 	ProjectSection(ProjectDependencies) = postProject
 		{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
 		{6B548F29-04A2-4F61-946F-72B86B4845DA} = {6B548F29-04A2-4F61-946F-72B86B4845DA}
-		{4906E533-2864-4840-ABC1-00CD844623EB} = {4906E533-2864-4840-ABC1-00CD844623EB}
 		{7F213248-16F2-4AAE-B941-C402670082BC} = {7F213248-16F2-4AAE-B941-C402670082BC}
-		{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
 		{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
+		{EA7091BB-9906-41DF-9738-F4858A136086} = {EA7091BB-9906-41DF-9738-F4858A136086}
 		{A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA} = {A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA}
 		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
 	EndProjectSection

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp	2004-11-25 07:45:40 UTC (rev 8279)
@@ -32,16 +32,16 @@
 #include "StdAfx.h"
 
 
-#include "FLACencodefilter.h"
+#include "FLACEncodeFilter.h"
 
 
 //COM Factory Template
 CFactoryTemplate g_Templates[] = 
 {
     { 
-		L"FLAC Encode Filter",						// Name
-	    &CLSID_FLACEncodeFilter,            // CLSID
-	    FLACEncodeFilter::CreateInstance,	// Method to create an instance of MyComponent
+		L"FLAC Encode Filter",					// Name
+	    &CLSID_FLACEncodeFilter,				// CLSID
+	    FLACEncodeFilter::CreateInstance,		// Method to create an instance of MyComponent
         NULL,									// Initialization function
         NULL									// Set-up information (for filters)
     }
@@ -62,7 +62,7 @@
 } 
 
 FLACEncodeFilter::FLACEncodeFilter(void)
-	:	AbstractAudioEncodeFilter(NAME("FLAC Encoder"), CLSID_FLACEncodeFilter, AbstractAudioEncodeFilter::FLAC)
+	:	AbstractTransformFilter(NAME("FLAC Encoder"), CLSID_FLACEncodeFilter)
 {
 	bool locWasConstructed = ConstructPins();
 }
@@ -73,14 +73,36 @@
 
 bool FLACEncodeFilter::ConstructPins() 
 {
+	//Input		:	Audio / PCM / WaveFormatEx
+	//Output	:	Audio / FLAC_1_0 / FLAC
 
-	CMediaType* locOutputMediaType = new CMediaType(&MEDIATYPE_Audio);
-	locOutputMediaType->subtype = MEDIASUBTYPE_OggFLAC_1_0;
-	locOutputMediaType->formattype = FORMAT_FLAC;
+	
+	//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_Audio);		//Deleted in pin destructor
+	locAcceptMediaType->subtype = MEDIASUBTYPE_OggFLAC_1_0;
+	locAcceptMediaType->formattype = FORMAT_FLAC;
+	
+	locAcceptableTypes.push_back(locAcceptMediaType);
+
 	//Output pin must be done first because it's passed to the input pin.
-	mOutputPin = new FLACEncodeOutputPin(this, m_pLock, locOutputMediaType);
+	mOutputPin = new FLACEncodeOutputPin(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;
+	locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);			//Deleted by pin
+
+	locAcceptMediaType->subtype = MEDIASUBTYPE_PCM;
+	locAcceptMediaType->formattype = FORMAT_WaveFormatEx;
+
+	locAcceptableTypes.push_back(locAcceptMediaType);
 	
-	mInputPin = new FLACEncodeInputPin(this, m_pLock, mOutputPin);
+	mInputPin = new FLACEncodeInputPin(this, m_pLock, mOutputPin, locAcceptableTypes);	//Deleted in base class filter destructor.
 	return true;
+
 }
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h	2004-11-25 07:45:40 UTC (rev 8279)
@@ -31,31 +31,39 @@
 
 #pragma once
 
+//Local Includes
 #include "flacencoderdllstuff.h"
-#include "AbstractAudioEncodeFilter.h"
 
+//External Includes
+#include "AbstractTransformFilter.h"
+
 //Forward Declarations
 struct sFLACFormatBlock;
 class FLACEncodeInputPin;
 class FLACEncodeOutputPin;
 
 class FLACEncodeFilter
-	:	public AbstractAudioEncodeFilter
+	//Base Classes
+	:	public AbstractTransformFilter
 {
 public:
+	//Friend Classes
 	friend class FLACEncodeInputPin;
 	friend class FLACEncodeOutputPin;
+
+	//Constructors
 	FLACEncodeFilter(void);
 	virtual ~FLACEncodeFilter(void);
 
+	//COM Creator function
 	static CUnknown* WINAPI FLACEncodeFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 
+protected:
 	//PURE VIRTUAL IMPLEMENTATION
 	virtual bool ConstructPins();
 
 	//TODO::: This shouldn'y be here... use the getter setters.
 	sFLACFormatBlock mFLACFormatBlock;
-protected:
 	
 	
 };

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-11-25 07:45:40 UTC (rev 8279)
@@ -32,9 +32,12 @@
 #include "StdAfx.h"
 #include "FLACencodeinputpin.h"
 
-FLACEncodeInputPin::FLACEncodeInputPin(AbstractAudioEncodeFilter* inParentFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin)
-	:	AbstractAudioEncodeInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("FLACEncodeInputPin"), L"PCM In")
+FLACEncodeInputPin::FLACEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes)
+	:	AbstractTransformInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("FLACEncodeInputPin"), L"PCM In", inAcceptableMediaTypes)
 	,	mTweakedHeaders(false)
+	,	mBegun(false)
+	,	mWaveFormat(NULL)
+	,	mUptoFrame(0)
 	
 	
 {
@@ -49,7 +52,7 @@
 
 
 //PURE VIRTUALS
-long FLACEncodeInputPin::encodeData(unsigned char* inBuf, long inNumBytes) {
+HRESULT FLACEncodeInputPin::TransformData(unsigned char* inBuf, long inNumBytes) {
 
 	if (mBegun == false) {
 
@@ -82,42 +85,10 @@
 	} else {
 		return -1;
 	}
-	////debugLog << "encodeData receives : "<<inNumBytes<<" bytes"<<endl;
-	//
-	//float* locFloatBuf = new float[inNumBytes/2];
-	//short locTempShort = 0;
-	//float locTempFloat = 0;
 
-	////__int64 locGranPos = 0;
-	////Removed hack for gran pos
-	////fish_sound_command(mFishSound, 8, &locGranPos, sizeof(__int64));
-	////
-	////locGranPos = fish_sound_get_frameno(mFishSound);
-	////mUptoFrame = locGranPos;
-	////__int64 locTemp = ((FishSoundFLACInfo*)mFishSound->codec_data)->vd.pcm_returned;
-	//for (int i = 0; i < inNumBytes; i += 2) {
-	//	locTempShort = *((short*)(inBuf + i));
-	//	locTempFloat = (float)locTempShort;
-	//	locTempFloat /= 32767.0;
-	//	locFloatBuf[i/2] = locTempFloat;;
-	//}
-	////debugLog<<"Calling encode"<<endl;
-	////FIX::: The 2 is the size of a sample ie 16 bits
-	//long locErr = fish_sound_encode(mFishSound, (float**)locFloatBuf, inNumBytes/(mFishInfo.channels*2));
-	//delete locFloatBuf;
-	////FIX::: Do something here ?
-	//if (locErr < 0) {
-	//	//debugLog<<"Fishsound reports error"<<endl;
-	//} else {
-	//
-	//}
-	//return locErr;
-	
 }
-bool FLACEncodeInputPin::ConstructCodec() {
-	//mFishInfo.channels = mWaveFormat->nChannels;
-	//mFishInfo.format = FISH_SOUND_FLAC;
-	//mFishInfo.samplerate = mWaveFormat->nSamplesPerSec;
+bool FLACEncodeInputPin::ConstructCodec() 
+{
 
 	set_channels(mWaveFormat->nChannels);
 	set_sample_rate(mWaveFormat->nSamplesPerSec);
@@ -135,9 +106,10 @@
 	////FIX::: Proper return value
 	return true;
 }
-void FLACEncodeInputPin::DestroyCodec() {
-	//fish_sound_delete(mFishSound);
-	//mFishSound = NULL;
+void FLACEncodeInputPin::DestroyCodec()
+{
+
+	//Should there be some cleanup function ??
 }
 
 
@@ -148,39 +120,7 @@
 	//This is called back with encoded data after raw data is fed in by stream_encoder_process or
 	// stream_encoder_process_interleaved.
 
-	//if (mHeadersSeen == 0) {
-	//	//We haven't converted the headers yet
-	//	//This should be a 4 byte fLaC
-	//	ASSERT (inNumBytes == 4);
-	//	mHeadersSeen ++;
-	//	//Do nothing.
-	//	return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
-	//} else if (mHeadersSeen == 1) {
-	//	//This should be the stream info header
 
-	//	//Get a pointer to a new sample stamped with our time
-	//	IMediaSample* locSample;
-	//	HRESULT locHR = mOutputPin->GetDeliveryBuffer(&locSample, &locFrameStart, &locFrameEnd, NULL);
-
-	//	if (FAILED(locHR)) {
-	//		//We get here when the application goes into stop mode usually.
-	//		//locThis->debugLog<<"Getting buffer failed"<<endl;
-	//		return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
-	//	}	
-	//	
-	//	BYTE* locBuffer = NULL;
-
-	//	//Make our pointers set to point to the samples buffer
-	//	locSample->GetPointer(&locBuffer);
-
-	//	locBuffer[0] = '\177';
-	//	locBuffer[1] = 'F';
-	//	locBuffer[2] = 'L';
-	//	locBuffer[3] = 'A';
-	//	locBuffer[4] = 'C';
-	//	locBuffer[5] = 1;
-	//	locBuffer[6] = 0;
-
 	//debugLog<<"Write CAllback.."<<endl;
 	LONGLONG locFrameStart = 0;
 	LONGLONG locFrameEnd = 0;
@@ -227,7 +167,7 @@
 					CAutoLock locLock(m_pLock);
 
 					
-					HRESULT locHR = mOutputPin->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
+					HRESULT locHR = ((FLACEncodeOutputPin*)(mOutputPin))->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
 					if (locHR != S_OK) {
 						//debugLog<<"Sample rejected"<<endl;
 					} else {
@@ -285,7 +225,7 @@
 			CAutoLock locLock(m_pLock);
 
 			
-			HRESULT locHR = mOutputPin->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
+			HRESULT locHR = ((FLACEncodeOutputPin*)(mOutputPin))->mDataQueue->Receive(locSample);						//->DownstreamFilter()->Receive(locSample);
 			if (locHR != S_OK) {
 				//locThis->debugLog<<"Sample rejected"<<endl;
 			} else {
@@ -300,29 +240,35 @@
 
 
 }
-void FLACEncodeInputPin::metadata_callback(const ::FLAC__StreamMetadata *metadata) {
-	//This is called back at the *end* of encoding with the headers that need to be written at the *start* of the stream.
-	//This is going to make it painful to get the data to the mux filter in multi stream ogg.
-	//It's basically going to totally break the mux filter stream abstraction, 
-	//by forcing yet more codec specific code into the mux.
-	//Oh well... if you're going to break it... break it good !
+void FLACEncodeInputPin::metadata_callback(const ::FLAC__StreamMetadata *metadata) 
+{
 
-	//It also makes it impractical for streaming as decode can't begin without metadata, and metadata
-	// is not created until all encoding is finished. I guess that's not such a big deal
-	// because flac is unlikely to be streamed live.
+	//Ignore it.
 }
 
 STDMETHODIMP FLACEncodeInputPin::EndOfStream(void) {
 	//Catch the end of stream so we can send a finish signal.
-	finish();			//Tell flac we are done so it can flush and send us the metadata.
-	return AbstractAudioEncodeInputPin::EndOfStream();		//Call the base class.
+	finish();			//Tell flac we are done so it can flush
+	return AbstractTransformInputPin::EndOfStream();		//Call the base class.
 }
 
-HRESULT FLACEncodeInputPin::SetMediaType(const CMediaType* inMediaType) {
-	AbstractAudioEncodeInputPin::SetMediaType(inMediaType);
+HRESULT FLACEncodeInputPin::SetMediaType(const CMediaType* inMediaType) 
+{
 
-	ConstructCodec();
+	if (	(inMediaType->subtype == MEDIASUBTYPE_PCM) &&
+			(inMediaType->formattype == FORMAT_WaveFormatEx)) {
 
-	return S_OK;
+		mWaveFormat = (WAVEFORMATEX*)inMediaType->pbFormat;
+		
+	} else {
+		//Failed... should never be here !
+		throw 0;
+	}
+	//This is here and not the constructor because we need audio params from the
+	// input pin to construct properly.	
 	
+	ConstructCodec();
+
+	return CBaseInputPin::SetMediaType(inMediaType);
+
 }
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-11-25 07:45:40 UTC (rev 8279)
@@ -32,16 +32,12 @@
 #pragma once
 
 #include "FLAC++/encoder.h"
-#include "AbstractAudioEncodeInputPin.h"
+#include "AbstractTransformInputPin.h"
 #include "FLACEncodeInputPin.h"
 
 #include "FLACEncodeFilter.h"
 #include "FLACHeaderTweaker.h"
 
-//extern "C" {
-//#include <fishsound/fishsound.h>
-////#include <../src/libfishsound/private.h>
-//}
 
 //#include <fstream>
 //using namespace std;
@@ -49,11 +45,11 @@
 using namespace FLAC::Encoder;
 
 class FLACEncodeInputPin
-	:	public AbstractAudioEncodeInputPin
+	:	public AbstractTransformInputPin
 	,	public Stream
 {
 public:
-	FLACEncodeInputPin(AbstractAudioEncodeFilter* inFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin);
+	FLACEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes);
 	virtual ~FLACEncodeInputPin(void);
 
 	//static int FLACEncodeInputPin::FLACEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer) ;
@@ -61,27 +57,27 @@
 	virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame);
 	virtual void metadata_callback(const ::FLAC__StreamMetadata *metadata);
 	
-	//PURE VIRTUALS from Abstract Encoder
-	virtual long encodeData(unsigned char* inBuf, long inNumBytes);
-	virtual bool ConstructCodec();
-	virtual void DestroyCodec();
+
 	virtual HRESULT SetMediaType(const CMediaType* inMediaType);
 
 	//OVerrides
 	virtual STDMETHODIMP EndOfStream(void);
 protected:
+
+	//PURE VIRTUALS from Abstract Encoder
+	virtual HRESULT TransformData(unsigned char* inBuf, long inNumBytes);
+	virtual bool ConstructCodec();
+	virtual void DestroyCodec();
+
 	HRESULT mHR;
-	
+	WAVEFORMATEX* mWaveFormat;
 	bool mTweakedHeaders;
 	FLACHeaderTweaker mHeaderTweaker;
-	//unsigned long mHeadersSeen;
-	//bool mBegun;
-	//SpeexDecodeOutputPin* mOutputPin;
-	//__int64 mUptoFrame;
+	
+	bool mBegun;
+	
+	__int64 mUptoFrame;
 
 	//fstream debugLog;
-/*	FishSound* mFishSound;
-	FishSoundInfo mFishInfo;*/ 
 
-	
 };

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp	2004-11-25 07:45:40 UTC (rev 8279)
@@ -32,8 +32,8 @@
 #include "StdAfx.h"
 #include "FLACencodeoutputpin.h"
 
-FLACEncodeOutputPin::FLACEncodeOutputPin(FLACEncodeFilter* inParentFilter,CCritSec* inFilterLock, CMediaType* inOutputMediaType)
-	:	AbstractAudioEncodeOutputPin(inParentFilter, inFilterLock,NAME("FLACDecodeOutputPin"), L"FLAC Out", inOutputMediaType)
+FLACEncodeOutputPin::FLACEncodeOutputPin(FLACEncodeFilter* inParentFilter,CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes)
+	:	AbstractTransformOutputPin(inParentFilter, inFilterLock,NAME("FLACDecodeOutputPin"), L"FLAC Out", 131072, 5, inAcceptableMediaTypes)
 {
 }
 
@@ -41,13 +41,26 @@
 {
 }
 
-bool FLACEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
-	FLACEncodeFilter* locParentFilter = (FLACEncodeFilter*)mParentFilter;
+HRESULT FLACEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
+{
+	if (inPosition == 0) {
+		sFLACFormatBlock* locFLACFormat = (sFLACFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sFLACFormatBlock));
+		//TODO::: Check for null ?
 
-	//TODO::: This is not needed... put in a get and set
-	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mFLACFormatBlock), sizeof(sFLACFormatBlock));
-	return true;
+		memcpy((void*)locFLACFormat, (const void*) &(((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock), sizeof(sFLACFormatBlock));
+		return S_OK;
+	} else {
+        return S_FALSE;
+	}
 }
-unsigned long FLACEncodeOutputPin::FormatBufferSize() {
-	return sizeof(sFLACFormatBlock);
-}
+
+//bool FLACEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
+//	FLACEncodeFilter* locParentFilter = (FLACEncodeFilter*)mParentFilter;
+//
+//	//TODO::: This is not needed... put in a get and set
+//	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mFLACFormatBlock), sizeof(sFLACFormatBlock));
+//	return true;
+//}
+//unsigned long FLACEncodeOutputPin::FormatBufferSize() {
+//	return sizeof(sFLACFormatBlock);
+//}

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h	2004-11-25 07:45:40 UTC (rev 8279)
@@ -32,23 +32,25 @@
 #pragma once
 
 #include "FLACencoderdllstuff.h"
-#include "AbstractAudioEncodeOutputPin.h"
+#include "AbstractTransformOutputPin.h"
 
 class FLACEncodeFilter;
 struct sFLACFormatBlock;
 
 class FLACEncodeOutputPin
-	:	public	AbstractAudioEncodeOutputPin
+	:	public	AbstractTransformOutputPin
 {
 public:
-	FLACEncodeOutputPin(FLACEncodeFilter* inParentFilter, CCritSec* inFilterLock, CMediaType* inOutputMediaType);
+
+	friend class FLACEncodeInputPin;
+	FLACEncodeOutputPin(FLACEncodeFilter* inParentFilter, CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes);
 	virtual ~FLACEncodeOutputPin(void);
 
-	//PURE VIRTUAL IMPLEMENTATION
-	virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
-	virtual unsigned long FormatBufferSize();
+	////PURE VIRTUAL IMPLEMENTATION
+	//virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
+	//virtual unsigned long FormatBufferSize();
 
 
 protected:
-	
+	virtual HRESULT CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition);
 };

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-11-25 07:45:40 UTC (rev 8279)
@@ -19,7 +19,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
 				MinimalRebuild="TRUE"
 				BasicRuntimeChecks="3"
@@ -79,7 +79,7 @@
 				EnableIntrinsicFunctions="TRUE"
 				FavorSizeOrSpeed="1"
 				OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="3"
@@ -138,7 +138,7 @@
 				EnableIntrinsicFunctions="TRUE"
 				FavorSizeOrSpeed="1"
 				OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
 				RuntimeLibrary="2"
 				EnableEnhancedInstructionSet="2"
@@ -198,7 +198,7 @@
 				EnableIntrinsicFunctions="TRUE"
 				FavorSizeOrSpeed="1"
 				OptimizeForProcessor="3"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\libs\libFLACHelper"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
 				RuntimeLibrary="2"
 				EnableEnhancedInstructionSet="1"

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-11-25 06:25:55 UTC (rev 8278)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-11-25 07:45:40 UTC (rev 8279)
@@ -31,15 +31,6 @@
 
 #pragma once
 
-
-#ifdef DSFABSTRACOGGAUDIODECODER_EXPORTS
-#pragma message("----> Exporting from Abstract Library...")
-#define ABS_AUDIO_DEC_API __declspec(dllexport)
-#else
-#pragma message("<---- Importing from Abstract Library...")
-#define ABS_AUDIO_DEC_API __declspec(dllimport)
-#endif
-
 struct sFLACFormatBlock {
 	unsigned short numChannels;
 	unsigned long numBitsPerSample;
@@ -47,9 +38,9 @@
 
 };
 
-#include "AbstractAudioEncodeFilter.h"
-#include "AbstractAudioEncodeInputPin.h"
-#include "AbstractAudioEncodeOutputPin.h"
+#include "AbstractTransformFilter.h"
+#include "AbstractTransformInputPin.h"
+#include "AbstractTransformOutputPin.h"
 #include "FLACEncodeInputPin.h"
 #include "FLACEncodeOutputPin.h"
 #include "FLACEncodeFilter.h"



More information about the commits mailing list