[xiph-commits] r17302 - in trunk/oggdsf: build/NSIS/Release src/lib/codecs/flac/filters/dsfFLACDecoder src/lib/codecs/flac/filters/dsfFLACEncoder src/lib/codecs/speex/filters/dsfSpeexDecoder src/lib/codecs/speex/filters/dsfSpeexEncoder src/lib/codecs/theora/filters/dsfTheoraDecoder src/lib/codecs/theora/filters/dsfTheoraEncoder src/lib/codecs/vorbis/filters/dsfVorbisDecoder src/lib/codecs/vorbis/filters/dsfVorbisEncoder src/lib/codecs/webm/webmdshow/libmkvparser src/lib/codecs/webm/webmdshow/vp8decoder src/lib/codecs/webm/webmdshow/vp8encoder src/lib/codecs/webm/webmdshow/webmmux src/lib/codecs/webm/webmdshow/webmsplit src/lib/core/directshow/dsfOggDemux2 src/lib/core/directshow/dsfOggMux src/lib/core/directshow/libDirectshowAbstracts src/lib/helper/common src/lib/plugin/AxPlayer

cristianadam at svn.xiph.org cristianadam at svn.xiph.org
Mon Jun 21 14:11:20 PDT 2010


Author: cristianadam
Date: 2010-06-21 14:11:20 -0700 (Mon, 21 Jun 2010)
New Revision: 17302

Added:
   trunk/oggdsf/src/lib/helper/common/FlacTypes.h
   trunk/oggdsf/src/lib/helper/common/OggTypes.h
   trunk/oggdsf/src/lib/helper/common/SpeexTypes.h
   trunk/oggdsf/src/lib/helper/common/TheoraTypes.h
   trunk/oggdsf/src/lib/helper/common/VorbisTypes.h
Modified:
   trunk/oggdsf/build/NSIS/Release/opencodecs.nsi
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACdecoderdllstuff.h
   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/FLACEncodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.h
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/speexdecoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeFilter.h
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/speexencoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/stdafx.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecodedllstuff.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.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/theoraencoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.cpp
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.hpp
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8decoder/vp8decoder_2005.vcproj
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8encoder/vp8encoder_2005.vcproj
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmmux/webmmux_2005.vcproj
   trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmsplit/webmsplit_2005.vcproj
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
   trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp
   trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h
   trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj
Log:
Enabled Xiph.Org Vorbis decoder in WebM's libmkvparser.
Vorbis decoder filter can connect to Vorbis Encoder filter (TODO: do the same for Theora, Speex, and, Flac)
Tidied up common types between encoders and decoders.

Modified: trunk/oggdsf/build/NSIS/Release/opencodecs.nsi
===================================================================
--- trunk/oggdsf/build/NSIS/Release/opencodecs.nsi	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/build/NSIS/Release/opencodecs.nsi	2010-06-21 21:11:20 UTC (rev 17302)
@@ -172,7 +172,7 @@
 FunctionEnd
 
 ;--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-Section "Oggcodecs Core Files" SEC_CORE
+Section "Open Codecs Core Files" SEC_CORE
     SectionIn 1 RO
   
     SetShellVarContext all

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -105,19 +105,19 @@
 	return pNewObject;
 } 
 
-sFLACFormatBlock* FLACDecodeFilter::getFLACFormatBlock() 
+FLACFORMAT* FLACDecodeFilter::getFLACFormatBlock() 
 {
 	return mFLACFormatBlock;
 }
 void FLACDecodeFilter::setFLACFormatBlock(BYTE* inFormatBlock) 
 {
 	delete mFLACFormatBlock;
-	mFLACFormatBlock = new sFLACFormatBlock;		//Deleted in destructor.
+	mFLACFormatBlock = new FLACFORMAT;		//Deleted in destructor.
 
 	const unsigned char FLAC_CHANNEL_MASK = 14;  //00001110
 	const unsigned char FLAC_BPS_START_MASK = 1; //00000001
 	const unsigned char FLAC_BPS_END_MASK = 240;  //11110000
-	mFLACFormatBlock = new sFLACFormatBlock;
+	mFLACFormatBlock = new FLACFORMAT;
 	//Fix the format block data... use header version and other version.
 	//mFLACFormatBlock->FLACVersion = FLACMath::charArrToULong(mCodecHeaders->getPacket(1)->packetData() + 28);
 

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACDecodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -55,11 +55,11 @@
 	static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 
 	void setFLACFormatBlock(BYTE* inFormatBlock) ;
-	sFLACFormatBlock* getFLACFormatBlock();
+	FLACFORMAT* getFLACFormatBlock();
 
 protected:
 	//Implemenation of Pue Virtuals from AbstractTransformFilter
 	virtual bool ConstructPins();
 
-	sFLACFormatBlock* mFLACFormatBlock;
+	FLACFORMAT* mFLACFormatBlock;
 };

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACdecoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACdecoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACDecoder/FLACdecoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -32,13 +32,9 @@
 
 #pragma once
 
+#include "common/FlacTypes.h"
+#include "common/OggTypes.h"
 
-struct sFLACFormatBlock {
-	unsigned short numChannels;
-	unsigned long numBitsPerSample;
-	unsigned long samplesPerSec;
-};
-
 #include "AbstractTransformFilter.h"
 #include "AbstractTransformInputPin.h"
 #include "AbstractTransformOutputPin.h"
@@ -46,32 +42,6 @@
 #include "FLACDecodeInputPin.h"
 #include "FLACDecodeOutputPin.h"
 
-
-
-
-// {3376086C-D6F9-4ce4-8B89-33CD570106B5}
-DEFINE_GUID(CLSID_FLACDecodeFilter, 
-0x3376086c, 0xd6f9, 0x4ce4, 0x8b, 0x89, 0x33, 0xcd, 0x57, 0x1, 0x6, 0xb5);
-
-//// {1CDC48AC-4C24-4b8b-982B-7007A29D83C4}
-//DEFINE_GUID(FORMAT_FLAC, 
-//0x1cdc48ac, 0x4c24, 0x4b8b, 0x98, 0x2b, 0x70, 0x7, 0xa2, 0x9d, 0x83, 0xc4);
-//
-//// {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
-//DEFINE_GUID(MEDIASUBTYPE_FLAC, 
-//0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
-
-// {60891713-C24F-4767-B6C9-6CA05B3338FC}
-DEFINE_GUID(MEDIATYPE_OggPacketStream, 
-0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
-
-// {95388704-162C-42a9-8149-C3577C12AAF9}
-DEFINE_GUID(FORMAT_OggIdentHeader, 
-0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
-
-// {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
-DEFINE_GUID(IID_IOggDecoder, 
-0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
 const REGPINTYPES FLACDecodeOutputTypes = {
     &MEDIATYPE_Audio,
 	&MEDIASUBTYPE_PCM
@@ -108,8 +78,6 @@
 	}
 };
 
-
-
 const REGFILTER2 FLACDecodeFilterReg = {
 		1,
 		MERIT_NORMAL,

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -40,7 +40,7 @@
 #include "AbstractTransformFilter.h"
 
 //Forward Declarations
-struct sFLACFormatBlock;
+struct FLACFORMAT;
 class FLACEncodeInputPin;
 class FLACEncodeOutputPin;
 
@@ -94,6 +94,6 @@
 	//Implementation from AbstractTransformFilter
 	virtual bool ConstructPins();
 
-	sFLACFormatBlock mFLACFormatBlock;
+	FLACFORMAT mFLACFormatBlock;
 	
 };

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -90,7 +90,7 @@
 	FLACEncodeFilter* locParentFilter = (FLACEncodeFilter*)mParentFilter;	//View only don't delete.
 	locParentFilter->mFLACFormatBlock.numBitsPerSample = mWaveFormat->wBitsPerSample;
 	locParentFilter->mFLACFormatBlock.numChannels = mWaveFormat->nChannels;
-	locParentFilter->mFLACFormatBlock.sampleRate = mWaveFormat->nSamplesPerSec;
+	locParentFilter->mFLACFormatBlock.samplesPerSec = mWaveFormat->nSamplesPerSec;
 
     mWaveFormat = NULL;
 
@@ -170,7 +170,7 @@
     mFLACEncoderSettings = locSettings;
 
     mFLACEncoderSettings.setAudioParameters(    ((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock.numChannels
-                                            ,   ((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock.sampleRate 
+                                            ,   ((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock.samplesPerSec 
                                             ,   ((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock.numBitsPerSample);
 
     return AbstractTransformInputPin::CompleteConnect(inReceivePin);

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -54,10 +54,10 @@
 HRESULT FLACEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
 {
 	if (inPosition == 0) {
-		sFLACFormatBlock* locFLACFormat = (sFLACFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sFLACFormatBlock));
+		FLACFORMAT* locFLACFormat = (FLACFORMAT*)outMediaType->AllocFormatBuffer(sizeof(FLACFORMAT));
 		//TODO::: Check for null ?
 
-		memcpy((void*)locFLACFormat, (const void*) &(((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock), sizeof(sFLACFormatBlock));
+		memcpy((void*)locFLACFormat, (const void*) &(((FLACEncodeFilter*)mParentFilter)->mFLACFormatBlock), sizeof(FLACFORMAT));
 		return S_OK;
 	} else {
         return S_FALSE;

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -35,7 +35,7 @@
 #include "AbstractTransformOutputPin.h"
 
 class FLACEncodeFilter;
-struct sFLACFormatBlock;
+struct FLACFORMAT;
 
 class FLACEncodeOutputPin
 	:	public	AbstractTransformOutputPin

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -31,13 +31,8 @@
 
 #pragma once
 
-struct sFLACFormatBlock {
-	unsigned short numChannels;
-	unsigned long numBitsPerSample;
-	unsigned long sampleRate;
+#include "common/FlacTypes.h"
 
-};
-
 #include "AbstractTransformFilter.h"
 #include "AbstractTransformInputPin.h"
 #include "AbstractTransformOutputPin.h"
@@ -55,34 +50,6 @@
     #endif
 #endif
 
-// {EE66A998-4E5C-4e23-A0F3-97C40D87EC48}
-static const GUID CLSID_PropsFLACEncoder = 
-{ 0xee66a998, 0x4e5c, 0x4e23, { 0xa0, 0xf3, 0x97, 0xc4, 0xd, 0x87, 0xec, 0x48 } };
-
-// {DF9C0DC3-1924-4bfe-8DC1-1084453A0F8F}
-static const GUID IID_IFLACEncodeSettings = 
-{ 0xdf9c0dc3, 0x1924, 0x4bfe, { 0x8d, 0xc1, 0x10, 0x84, 0x45, 0x3a, 0xf, 0x8f } };
-
-
-
-//// {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
-//DEFINE_GUID(MEDIASUBTYPE_FLAC, 
-//0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
-
-// {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
-DEFINE_GUID(MEDIASUBTYPE_OggFLAC_1_0, 
-0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
-
-// {77E3A6A3-2A24-43fa-B929-00747E4B560B}
-DEFINE_GUID(CLSID_FLACEncodeFilter, 
-0x77e3a6a3, 0x2a24, 0x43fa, 0xb9, 0x29, 0x0, 0x74, 0x7e, 0x4b, 0x56, 0xb);
-
-
-// {1CDC48AC-4C24-4b8b-982B-7007A29D83C4}
-DEFINE_GUID(FORMAT_FLAC, 
-0x1cdc48ac, 0x4c24, 0x4b8b, 0x98, 0x2b, 0x70, 0x7, 0xa2, 0x9d, 0x83, 0xc4);
-
-
 const REGPINTYPES FLACEncodeInputTypes = {
     &MEDIATYPE_Audio,
 	&MEDIASUBTYPE_PCM

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -187,14 +187,14 @@
 
 //QUERY::: Do we need these ? Aren't we all friedns here ??
 //RESULT::: Keep them, set function must be kept... get could go... but keep for consistency
-sSpeexFormatBlock* SpeexDecodeFilter::getSpeexFormatBlock() 
+SPEEXFORMAT* SpeexDecodeFilter::getSpeexFormatBlock() 
 {
 	return mSpeexFormatInfo;
 }
 void SpeexDecodeFilter::setSpeexFormat(BYTE* inFormatBlock) 
 {
 	delete mSpeexFormatInfo;
-	mSpeexFormatInfo = new sSpeexFormatBlock;
+	mSpeexFormatInfo = new SPEEXFORMAT;
 
 	mSpeexFormatInfo->speexVersion = iLE_Math::charArrToULong(inFormatBlock + 28);
 	mSpeexFormatInfo->numChannels = iLE_Math::charArrToULong(inFormatBlock + 48);

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/SpeexDecodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -37,7 +37,7 @@
 #include <libilliCore/iLE_Math.h>
 
 //Forward Declarations
-struct sSpeexFormatBlock;
+struct SPEEXFORMAT;
 class SpeexDecodeInputPin;
 class SpeexDecodeOutputPin;
 
@@ -70,7 +70,7 @@
 	//TODO::: Do we need these ? Aren't they all friends ?? Should set be public?
 
 	///Gets the speex format block
-	virtual sSpeexFormatBlock* getSpeexFormatBlock();
+	virtual SPEEXFORMAT* getSpeexFormatBlock();
 
 	///Sets the speex format block
 	virtual void setSpeexFormat(BYTE* inFormatBlock);
@@ -84,5 +84,5 @@
 	virtual bool ConstructPins();
 
 	//Format Block
-	sSpeexFormatBlock* mSpeexFormatInfo;
+	SPEEXFORMAT* mSpeexFormatInfo;
 };

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/speexdecoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/speexdecoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexDecoder/speexdecoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -32,32 +32,5 @@
 
 #pragma once
 
-// {7605E26C-DE38-4b82-ADD8-FE2568CC0B25}
-DEFINE_GUID(CLSID_SpeexDecodeFilter, 
-0x7605e26c, 0xde38, 0x4b82, 0xad, 0xd8, 0xfe, 0x25, 0x68, 0xcc, 0xb, 0x25);
-
-// {60891713-C24F-4767-B6C9-6CA05B3338FC}
-DEFINE_GUID(MEDIATYPE_OggPacketStream, 
-0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
-
-// {95388704-162C-42a9-8149-C3577C12AAF9}
-DEFINE_GUID(FORMAT_OggIdentHeader, 
-0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
-
-// {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
-DEFINE_GUID(IID_IOggDecoder, 
-0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
-
-// {83D7F506-53ED-4f15-B6D8-7D8E9E72A918}
-DEFINE_GUID(IID_IOggOutputPin, 
-0x83d7f506, 0x53ed, 0x4f15, 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18);
-
-struct sSpeexFormatBlock 
-{
-	unsigned long speexVersion;
-	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned long numChannels;
-};
+#include "common/SpeexTypes.h"
+#include "common/OggTypes.h"

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -40,7 +40,7 @@
 #include "AbstractTransformFilter.h"
 
 //Forward Declarations
-struct sSpeexFormatBlock;
+struct SPEEXFORMAT;
 class SpeexEncodeInputPin;
 class SpeexEncodeOutputPin;
 
@@ -90,6 +90,6 @@
 	virtual bool ConstructPins();
 
 	//Member data
-	sSpeexFormatBlock mSpeexFormatBlock;
+	SPEEXFORMAT mSpeexFormatBlock;
 	
 };

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -52,10 +52,10 @@
 HRESULT SpeexEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
 {
 	if (inPosition == 0) {
-		sSpeexFormatBlock* locSpeexFormat = (sSpeexFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sSpeexFormatBlock));
+		SPEEXFORMAT* locSpeexFormat = (SPEEXFORMAT*)outMediaType->AllocFormatBuffer(sizeof(SPEEXFORMAT));
 		//TODO::: Check for null ?
 
-		memcpy((void*)locSpeexFormat, (const void*) &(((SpeexEncodeFilter*)mParentFilter)->mSpeexFormatBlock), sizeof(sSpeexFormatBlock));
+		memcpy((void*)locSpeexFormat, (const void*) &(((SpeexEncodeFilter*)mParentFilter)->mSpeexFormatBlock), sizeof(SPEEXFORMAT));
 		return S_OK;
 	} else {
         return S_FALSE;

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/SpeexEncodeOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -36,7 +36,7 @@
 #include "AbstractTransformOutputPin.h"
 
 class SpeexEncodeFilter;
-struct sSpeexFormatBlock;
+struct SPEEXFORMAT;
 
 class SpeexEncodeOutputPin
 	:	public	AbstractTransformOutputPin

Modified: trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/speexencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/speexencoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/speex/filters/dsfSpeexEncoder/speexencoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -35,15 +35,8 @@
 #include <pullpin.h>
 #include <initguid.h>
 
-struct sSpeexFormatBlock {
-	unsigned long speexVersion;
-	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned long numChannels;
+#include "common/SpeexTypes.h"
 
-};
 #include "AbstractTransformFilter.h"
 #include "AbstractTransformInputPin.h"
 #include "AbstractTransformOutputPin.h"
@@ -61,26 +54,6 @@
 	#endif
 #endif
 
-// {ED79AEC0-68AD-4be6-B06E-B4D3C8101624}
-DEFINE_GUID(CLSID_PropsSpeexEncoder, 
-0xed79aec0, 0x68ad, 0x4be6, 0xb0, 0x6e, 0xb4, 0xd3, 0xc8, 0x10, 0x16, 0x24);
-
-// {479038D2-57FF-41ee-B397-FB98199BF1E8}
-DEFINE_GUID(IID_ISpeexEncodeSettings, 
-0x479038d2, 0x57ff, 0x41ee, 0xb3, 0x97, 0xfb, 0x98, 0x19, 0x9b, 0xf1, 0xe8);
-
-
-// {7036C2FE-A209-464c-97AB-95B9260EDBF7}
-DEFINE_GUID(CLSID_SpeexEncodeFilter, 
-0x7036c2fe, 0xa209, 0x464c, 0x97, 0xab, 0x95, 0xb9, 0x26, 0xe, 0xdb, 0xf7);
-
-// {25A9729D-12F6-420e-BD53-1D631DC217DF}
-DEFINE_GUID(MEDIASUBTYPE_Speex, 
-0x25a9729d, 0x12f6, 0x420e, 0xbd, 0x53, 0x1d, 0x63, 0x1d, 0xc2, 0x17, 0xdf);
-
-// {78701A27-EFB5-4157-9553-38A7854E3E81}
-DEFINE_GUID(FORMAT_Speex, 
-0x78701a27, 0xefb5, 0x4157, 0x95, 0x53, 0x38, 0xa7, 0x85, 0x4e, 0x3e, 0x81);
 //This structure defines the type of input we accept on the input pin... Stream/Annodex
 
 const REGPINTYPES SpeexEncodeInputTypes = {
@@ -120,8 +93,6 @@
 	}
 };
 
-
-
 const REGFILTER2 SpeexEncodeFilterReg = {
 		1,
 		MERIT_DO_NOT_USE,
@@ -129,5 +100,3 @@
         SpeexEncodePinReg
 		
 };
-	   
-

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -1157,7 +1157,7 @@
 //	return FALSE;
 //}
 
-sTheoraFormatBlock* TheoraDecodeFilter::GetTheoraFormatBlock() 
+THEORAFORMAT* TheoraDecodeFilter::GetTheoraFormatBlock() 
 {
 	return m_theoraFormatInfo;
 }
@@ -1165,7 +1165,7 @@
 void TheoraDecodeFilter::SetTheoraFormat(BYTE* inFormatBlock) 
 {
 	delete m_theoraFormatInfo;
-	m_theoraFormatInfo = new sTheoraFormatBlock;			//Deelted in destructor.
+	m_theoraFormatInfo = new THEORAFORMAT;			//Deelted in destructor.
 
     // TODO: replace code blow with th_decode_headerin
 

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -87,7 +87,7 @@
 	virtual void ResetFrameCount();
 
     //Helpers
-    sTheoraFormatBlock* GetTheoraFormatBlock();
+    THEORAFORMAT* GetTheoraFormatBlock();
     void SetTheoraFormat(BYTE* inFormatBlock);
 
 	HRESULT CheckOutputType(const CMediaType* inMediaType);
@@ -153,5 +153,5 @@
 	__int64 m_lastSeenStartGranPos;
 
 	//Format Block
-	sTheoraFormatBlock* m_theoraFormatInfo;
+	THEORAFORMAT* m_theoraFormatInfo;
 };

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/stdafx.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/stdafx.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -48,3 +48,7 @@
 
 #include <atlbase.h>
 #include <atlcom.h>
+
+#include <streams.h>
+#include <pullpin.h>
+#include <dvdmedia.h>

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecodedllstuff.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecodedllstuff.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecodedllstuff.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -30,6 +30,7 @@
 //===========================================================================
 
 #include "stdafx.h"
+#include <initguid.h>
 #include "Theoradecoderdllstuff.h"
 #include "common/util.h"
 

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/theoradecoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -31,57 +31,5 @@
 
 #pragma once
 
-#include <streams.h>
-#include <pullpin.h>
-#include <initguid.h>
-#include <dvdmedia.h>
-
-#ifndef THEORADECODER_DLL
-	#define LIBOOOGG_API
-#else
-	#ifdef LIBOOOGG_EXPORTS
-		#define LIBOOOGG_API __declspec(dllexport)
-	#else
-		#define LIBOOOGG_API __declspec(dllimport)
-	#endif
-#endif
-
-// TheoraDecodeFilter {05187161-5C36-4324-A734-22BF37509F2D}
-static const GUID  CLSID_TheoraDecodeFilter =
-{ 0x5187161, 0x5c36, 0x4324, { 0xa7, 0x34, 0x22, 0xbf, 0x37, 0x50, 0x9f, 0x2d } };
-
-// OggPacketStream {60891713-C24F-4767-B6C9-6CA05B3338FC}
-static const GUID MEDIATYPE_OggPacketStream =
-{ 0x60891713, 0xc24f, 0x4767, { 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc } };
-
-// OggIdentHeader {95388704-162C-42a9-8149-C3577C12AAF9}
-static const GUID FORMAT_OggIdentHeader =
-{ 0x95388704, 0x162c, 0x42a9, { 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9 } };
-
-// IOggDecoder {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
-static const GUID IID_IOggDecoder =
-{ 0x43f0f818, 0x10b0, 0x4c86, { 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62 } };
-
-// IOggOutputPin {83D7F506-53ED-4f15-B6D8-7D8E9E72A918}
-static const GUID IID_IOggOutputPin =
-{ 0x83d7f506, 0x53ed, 0x4f15, { 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18 } };
-
-struct sTheoraFormatBlock 
-{
-	unsigned long theoraVersion;
-	unsigned long outerFrameWidth;
-	unsigned long outerFrameHeight;
-	unsigned long pictureWidth;
-	unsigned long pictureHeight;
-	unsigned long frameRateNumerator;
-	unsigned long frameRateDenominator;
-	unsigned long aspectNumerator;
-	unsigned long aspectDenominator;
-	unsigned long maxKeyframeInterval;
-	unsigned long targetBitrate;
-	unsigned char targetQuality;
-	unsigned char xOffset;
-	unsigned char yOffset;
-	unsigned char colourSpace;
-    unsigned char pixelFormat;
-};
+#include "common/OggTypes.h"
+#include "common/TheoraTypes.h"
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -37,7 +37,7 @@
 
 
 //Forward Declarations
-//struct sTheoraFormatBlock;
+//struct THEORAFORMAT;
 class TheoraEncodeInputPin;
 class TheoraEncodeOutputPin;
 
@@ -109,7 +109,7 @@
 	virtual bool ConstructPins();
 
 	//Member data
-	sTheoraFormatBlock mTheoraFormatBlock;
+	THEORAFORMAT mTheoraFormatBlock;
 
     bool mUsingQualityMode;
 	

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -43,20 +43,20 @@
 
 //bool TheoraEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
 //	TheoraEncodeFilter* locParentFilter = (TheoraEncodeFilter*)mParentFilter;
-//	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mTheoraFormatBlock), sizeof(sTheoraFormatBlock));
+//	memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mTheoraFormatBlock), sizeof(THEORAFORMAT));
 //	return true;
 //}
 //unsigned long TheoraEncodeOutputPin::FormatBufferSize() {
-//	return sizeof(sTheoraFormatBlock);
+//	return sizeof(THEORAFORMAT);
 //}
 
 HRESULT TheoraEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
 {
 	if (inPosition == 0) {
-		sTheoraFormatBlock* locTheoraFormat = (sTheoraFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sTheoraFormatBlock));
+		THEORAFORMAT* locTheoraFormat = (THEORAFORMAT*)outMediaType->AllocFormatBuffer(sizeof(THEORAFORMAT));
 		//TODO::: Check for null ?
 
-		memcpy((void*)locTheoraFormat, (const void*) &(((TheoraEncodeFilter*)mParentFilter)->mTheoraFormatBlock), sizeof(sTheoraFormatBlock));
+		memcpy((void*)locTheoraFormat, (const void*) &(((TheoraEncodeFilter*)mParentFilter)->mTheoraFormatBlock), sizeof(THEORAFORMAT));
 		return S_OK;
 	} else {
         return S_FALSE;

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -35,7 +35,7 @@
 
 
 class TheoraEncodeFilter;
-struct sTheoraFormatBlock;
+struct THEORAFORMAT;
 
 class TheoraEncodeOutputPin
 	:	public	AbstractTransformOutputPin

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/theoraencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/theoraencoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/theoraencoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -48,26 +48,8 @@
 	#endif
 #endif
 
-// {121EA765-6D3F-4519-9686-A0BA6E5281A2}
-DEFINE_GUID(CLSID_PropsTheoraEncoder, 
-0x121ea765, 0x6d3f, 0x4519, 0x96, 0x86, 0xa0, 0xba, 0x6e, 0x52, 0x81, 0xa2);
+#include "common/TheoraTypes.h"
 
-// {4F063B3A-B397-4c22-AFF4-2F8DB96D292A}
-DEFINE_GUID(IID_ITheoraEncodeSettings, 
-0x4f063b3a, 0xb397, 0x4c22, 0xaf, 0xf4, 0x2f, 0x8d, 0xb9, 0x6d, 0x29, 0x2a);
-
-// {5C769985-C3E1-4f95-BEE7-1101C465F5FC}
-DEFINE_GUID(CLSID_TheoraEncodeFilter, 
-0x5c769985, 0xc3e1, 0x4f95, 0xbe, 0xe7, 0x11, 0x1, 0xc4, 0x65, 0xf5, 0xfc);
-
-// {D124B2B1-8968-4ae8-B288-FE16EA34B0CE}
-DEFINE_GUID(MEDIASUBTYPE_Theora, 
-0xd124b2b1, 0x8968, 0x4ae8, 0xb2, 0x88, 0xfe, 0x16, 0xea, 0x34, 0xb0, 0xce);
-
-// {A99F116C-DFFA-412c-95DE-725F99874826}
-DEFINE_GUID(FORMAT_Theora, 
-0xa99f116c, 0xdffa, 0x412c, 0x95, 0xde, 0x72, 0x5f, 0x99, 0x87, 0x48, 0x26);
-
 const REGPINTYPES TheoraEncodeInputTypes = {
     &MEDIATYPE_Video,
 	&MEDIASUBTYPE_YV12
@@ -115,21 +97,3 @@
         TheoraEncodePinReg
 		
 };
-	   
-struct sTheoraFormatBlock {
-	unsigned long theoraVersion;
-	unsigned long outerFrameWidth;
-	unsigned long outerFrameHeight;
-	unsigned long pictureWidth;
-	unsigned long pictureHeight;
-	unsigned long frameRateNumerator;
-	unsigned long frameRateDenominator;
-	unsigned long aspectNumerator;
-	unsigned long aspectDenominator;
-	unsigned long maxKeyframeInterval;
-	unsigned long targetBitrate;
-	unsigned char targetQuality;
-	unsigned char xOffset;
-	unsigned char yOffset;
-	unsigned char colourSpace;
-};

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -1,6 +1,6 @@
 //===========================================================================
 //Copyright (C) 2003-2006 Zentaro Kavanagh
-//Copyrithg (C) 2009 Cristian Adam
+//Copyright (C) 2009-2010 Cristian Adam
 //
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
@@ -75,7 +75,7 @@
         FALSE,								//Cannot have more than one instance of this pin
         &GUID_NULL,							//Connects to filter (obsoleted)
         NULL,								//Connects to pin (obsoleted)
-        1,									//upport two media type
+        1,									//Support two media type
         &m_inputMediaTypes				    //Pointer to media type (Audio/Vorbis or Audio/Speex)
     } ,
 
@@ -108,15 +108,13 @@
 }
 #endif
 
-//*************************************************************************************************
-VorbisDecodeFilter::VorbisDecodeFilter()
-	:	AbstractTransformFilter(NAME("Vorbis Decoder"), CLSID_VorbisDecodeFilter)
-	,	mVorbisFormatInfo(NULL)
+VorbisDecodeFilter::VorbisDecodeFilter() :
+AbstractTransformFilter(NAME("Vorbis Decoder"), CLSID_VorbisDecodeFilter),
+mVorbisFormatInfo(NULL)
 {
     LOG(logINFO) << L"VorbisDecodeFilter object created!" << std::endl;
 
-	bool locWasConstructed = ConstructPins();
-	//TODO::: Error check !
+	ConstructPins();
 }
 
 STDMETHODIMP VorbisDecodeFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv)
@@ -135,48 +133,53 @@
 //    *outAllowTranscode = VARIANT_TRUE;
 //    return S_OK;
 //}
+
 bool VorbisDecodeFilter::ConstructPins() 
 {
-	//Vector to hold our set of media types we want to accept.
-	vector<CMediaType*> locAcceptableTypes;
+	// Vector to hold our set of media types we want to accept.
+    MediaTypesList acceptableTypes;
 
-	//Setup the media types for the output pin.
-	CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);		//Deleted in pin destructor
-	locAcceptMediaType->subtype = MEDIASUBTYPE_PCM;
-	locAcceptMediaType->formattype = FORMAT_WaveFormatEx;
-	
-	locAcceptableTypes.push_back(locAcceptMediaType);
+	// Setup the media types for the output pin, media types are deleted in pin destructor
+	CMediaType* mediaType = new CMediaType(&MEDIATYPE_Audio);
+	mediaType->subtype = MEDIASUBTYPE_PCM;
+	mediaType->formattype = FORMAT_WaveFormatEx;
+	acceptableTypes.push_back(mediaType);
 
-	//Second one the same type... they are actually different one is the extensible format. See CreateAndFill
-	locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);		//Deleted in pin destructor
-	locAcceptMediaType->subtype = MEDIASUBTYPE_PCM;
-	locAcceptMediaType->formattype = FORMAT_WaveFormatEx;
-	
-	locAcceptableTypes.push_back(locAcceptMediaType);
+	//Second one the same type... they are actually different one is the extensible 
+    // format. See CreateAndFill
+	mediaType = new CMediaType(&MEDIATYPE_Audio);
+	mediaType->subtype = MEDIASUBTYPE_PCM;
+	mediaType->formattype = FORMAT_WaveFormatEx;
+	acceptableTypes.push_back(mediaType);
 
-	//Output pin must be done first because it's passed to the input pin.
-	mOutputPin = new VorbisDecodeOutputPin(this, m_pLock, locAcceptableTypes);			//Deleted in base class destructor
+	// Output pin must be done first because it's passed to the input pin. 
+    // Deleted in base class destructor
+	mOutputPin = new VorbisDecodeOutputPin(this, m_pLock, acceptableTypes);			
 
-	//Clear out the vector, now we've already passed it to the output pin.
-	locAcceptableTypes.clear();
+	// Clear out the vector, now we've already passed it to the output pin.
+	acceptableTypes.clear();
 
 	//Setup the media Types for the input pin.
-	locAcceptMediaType = NULL;
-	locAcceptMediaType = new CMediaType(&MEDIATYPE_OggPacketStream);			//Deleted by pin
+    // OggPacketStream received from Ogg Demuxer filter
+	mediaType = new CMediaType(&MEDIATYPE_OggPacketStream);
+	mediaType->subtype = MEDIASUBTYPE_None;
+	mediaType->formattype = FORMAT_OggIdentHeader;
+    acceptableTypes.push_back(mediaType);
 
-	locAcceptMediaType->subtype = MEDIASUBTYPE_None;
-	locAcceptMediaType->formattype = FORMAT_OggIdentHeader;
-
-	locAcceptableTypes.push_back(locAcceptMediaType);
+    // Vorbis stream received from Vorbis Encoder
+    mediaType = new CMediaType(&MEDIATYPE_Audio);
+    mediaType->subtype = MEDIASUBTYPE_Vorbis;
+    mediaType->formattype = FORMAT_Vorbis;
+	acceptableTypes.push_back(mediaType);
 	
-	mInputPin = new VorbisDecodeInputPin(this, m_pLock, mOutputPin, locAcceptableTypes);	//Deleted in base class filter destructor.
+    //Deleted in base class filter destructor.
+	mInputPin = new VorbisDecodeInputPin(this, m_pLock, mOutputPin, acceptableTypes);	
 	return true;
 }
 
 VorbisDecodeFilter::~VorbisDecodeFilter(void)
 {
     LOG(logINFO) << L"VorbisDecodeFilter destroyed!" << std::endl;
-	
 	delete mVorbisFormatInfo;
 }
 
@@ -192,17 +195,20 @@
 	return pNewObject;
 } 
 
-//QUERY::: Do we need these ? Aren't we all friedns here ??
-//RESULT::: Keep them, set function must be kept... get could go... but keep for consistency
-sVorbisFormatBlock* VorbisDecodeFilter::getVorbisFormatBlock() 
+VORBISFORMAT* VorbisDecodeFilter::getVorbisFormatBlock() 
 {
 	return mVorbisFormatInfo;
 }
+
 void VorbisDecodeFilter::setVorbisFormat(BYTE* inFormatBlock) 
 {
+    if (!inFormatBlock)
+    {
+        return;
+    }
+
 	delete mVorbisFormatInfo;
-	mVorbisFormatInfo = new sVorbisFormatBlock;				//Deleted in destructor.
-	//*mVorbisFormatInfo = *inFormatBlock;
+	mVorbisFormatInfo = new VORBISFORMAT;
 
 	mVorbisFormatInfo->vorbisVersion = iLE_Math::charArrToULong(inFormatBlock + 7);
 	mVorbisFormatInfo->numChannels = inFormatBlock[11];
@@ -211,6 +217,25 @@
 	mVorbisFormatInfo->avgBitsPerSec = iLE_Math::charArrToULong(inFormatBlock + 20);
 	mVorbisFormatInfo->minBitsPerSec = iLE_Math::charArrToULong(inFormatBlock + 24);
 
+    PrintVorbisFormatInfo();
+}
+
+void VorbisDecodeFilter::setVorbisFormat(VORBISFORMAT* vorbisFormat)
+{
+    if (!vorbisFormat)
+    {
+        return;
+    }
+
+    delete mVorbisFormatInfo;
+    mVorbisFormatInfo = new VORBISFORMAT;
+
+    *mVorbisFormatInfo = *vorbisFormat;
+    PrintVorbisFormatInfo();
+}
+
+void VorbisDecodeFilter::PrintVorbisFormatInfo()
+{
     LOG(logINFO) << "Vorbis Version: " << mVorbisFormatInfo->vorbisVersion
         << " Channels: " << mVorbisFormatInfo->numChannels
         << " SamplesPerSec: " << mVorbisFormatInfo->samplesPerSec

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -1,6 +1,6 @@
 //===========================================================================
 //Copyright (C) 2003-2006 Zentaro Kavanagh
-//Copyright (C) 2009 Cristian Adam
+//Copyright (C) 2009-2010 Cristian Adam
 //
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
@@ -38,15 +38,13 @@
 //#include "wmpservices.h"
 
 //Forward Declarations
-struct sVorbisFormatBlock;
+struct VORBISFORMAT;
 class VorbisDecodeInputPin;
 class VorbisDecodeOutputPin;
 
 //Class Interface
-class VorbisDecodeFilter
-	//Base Classes
-	:	public AbstractTransformFilter
-    //,   public IWMPTranscodePolicy
+class VorbisDecodeFilter:	public AbstractTransformFilter
+                            //,   public IWMPTranscodePolicy
 {
 public:
 	//Friends
@@ -54,8 +52,8 @@
 	friend class VorbisDecodeOutputPin;
 
 	//Constructors and Destructors
-	VorbisDecodeFilter(void);
-	virtual ~VorbisDecodeFilter(void);
+	VorbisDecodeFilter();
+	virtual ~VorbisDecodeFilter();
 
     static const wchar_t* NAME;
     static const AMOVIESETUP_MEDIATYPE m_inputMediaTypes;
@@ -69,13 +67,12 @@
     //IWMPTranscodePolicy interface -- it's documented... but it doesn't really exist.
     //HRESULT allowTranscode(VARIANT_BOOL* outAllowTranscode);
 
-
 	///COM CreateInstance Function
 	static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 
-	//FIX::: Do we need these ? Aren't they all friends ??
-	virtual sVorbisFormatBlock* getVorbisFormatBlock();
+	virtual VORBISFORMAT* getVorbisFormatBlock();
 	virtual void setVorbisFormat(BYTE* inFormatBlock);
+    virtual void setVorbisFormat(VORBISFORMAT* vorbisFormat);
 
 #ifdef WINCE
 	virtual LPAMOVIESETUP_FILTER GetSetupData();
@@ -85,8 +82,10 @@
 	//VIRTUAL FUNCTIONS - AbstractTransformFilter
 	virtual bool ConstructPins();
 
+    void PrintVorbisFormatInfo();
+
 	//Format Block
-	sVorbisFormatBlock* mVorbisFormatInfo;
+	VORBISFORMAT* mVorbisFormatInfo;
 
     static const bool USE_CORRECT_VORBIS_CHANNEL_MAPPING = true;
 };

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -118,108 +118,107 @@
 {
 	CAutoLock locLock(mStreamLock);
 
-	HRESULT hr = CheckStreaming();
+    HRESULT hr = CheckStreaming();
 
-	if (hr != S_OK) 
+    if (hr != S_OK) 
     {
         //Not streaming - Bail out.
         return S_FALSE;
     }
 
-	BYTE* buffer = NULL;
-	hr = inSample->GetPointer(&buffer);
+    BYTE* buffer = NULL;
+    hr = inSample->GetPointer(&buffer);
 
-	if (hr != S_OK) 
+    if (hr != S_OK) 
     {
         LOG(logERROR) << __FUNCTIONW__ << " inSample->GetPointer failed, error code: 0x" << std::hex << hr;
-		return hr;
-	} 
+        return hr;
+    } 
 
-	REFERENCE_TIME tStart = -1;
-	REFERENCE_TIME tStop = -1;
-	__int64 sampleDuration = 0;
-	inSample->GetTime(&tStart, &tStop);
+    REFERENCE_TIME tStart = -1;
+    REFERENCE_TIME tStop = -1;
+    __int64 sampleDuration = 0;
+    inSample->GetTime(&tStart, &tStop);
 
-	hr = TransformData(buffer, inSample->GetActualDataLength());
-	if (hr != S_OK) 
+    hr = TransformData(buffer, inSample->GetActualDataLength());
+    if (hr != S_OK) 
     {
-		return S_FALSE;
-	}
-	if (tStop > 0) 
+        return S_FALSE;
+    }
+    if (tStop > 0) 
     {
-		//Can dump it all downstream now	
-		IMediaSample* sample;
-		unsigned long bytesCopied = 0;
-		unsigned long bytesToCopy = 0;
+        //Can dump it all downstream now	
+        IMediaSample* sample;
+        unsigned long bytesCopied = 0;
+        unsigned long bytesToCopy = 0;
 
-		tStart = convertGranuleToTime(tStop) - (((mDecodedByteCount / mFrameSize) * UNITS) / mSampleRate);
-
-		REFERENCE_TIME globalOffset = 0;
-		//Handle stream offsetting
-		if (!mSentStreamOffset && (mOggOutputPinInterface != NULL)) 
+        REFERENCE_TIME globalOffset = 0;
+        //Handle stream offsetting
+        if (!mSentStreamOffset && (mOggOutputPinInterface != NULL)) 
         {
-			mOggOutputPinInterface->notifyStreamBaseTime(tStart);
-			mSentStreamOffset = true;	
-		}
+            mOggOutputPinInterface->notifyStreamBaseTime(tStart);
+            mSentStreamOffset = true;	
+        }
 
-		if (mOggOutputPinInterface != NULL) 
+        if (mOggOutputPinInterface != NULL) 
         {
-			globalOffset = mOggOutputPinInterface->getGlobalBaseTime();
-		}
+            tStart = convertGranuleToTime(tStop) - (((mDecodedByteCount / mFrameSize) * UNITS) / mSampleRate);
+            globalOffset = mOggOutputPinInterface->getGlobalBaseTime();
+        }
 
-		do 
+        do 
         {
-			HRESULT hr = mOutputPin->GetDeliveryBuffer(&sample, NULL, NULL, NULL);
-			if (hr != S_OK) 
+            HRESULT hr = mOutputPin->GetDeliveryBuffer(&sample, NULL, NULL, NULL);
+            if (hr != S_OK) 
             {
-				return hr;
-			}
+                return hr;
+            }
 
-			BYTE* locBuffer = NULL;
-			hr = sample->GetPointer(&locBuffer);
-		
-			if (hr != S_OK) 
+            BYTE* locBuffer = NULL;
+            hr = sample->GetPointer(&locBuffer);
+
+            if (hr != S_OK) 
             {
-				return hr;
-			}
+                return hr;
+            }
 
             LOG(logDEBUG4) << __FUNCTIONW__ << " Sample Size: " << sample->GetSize();
-			bytesToCopy = sample->GetSize();
-            
+            bytesToCopy = sample->GetSize();
+
             if (mDecodedByteCount - bytesCopied < sample->GetSize()) 
             {
                 bytesToCopy = mDecodedByteCount - bytesCopied;
             }
 
             LOG(logDEBUG4) << __FUNCTIONW__ << " Bytes to copy: " << bytesToCopy;
-			LOG(logDEBUG4) << __FUNCTIONW__ << " Actual Buffer count = " << mOutputPin->actualBufferCount();
-			//bytesCopied += bytesToCopy;
+            LOG(logDEBUG4) << __FUNCTIONW__ << " Actual Buffer count = " << mOutputPin->actualBufferCount();
+            //bytesCopied += bytesToCopy;
 
-			sampleDuration = (((bytesToCopy/mFrameSize) * UNITS) / mSampleRate);
-			tStop = tStart + sampleDuration;
+            sampleDuration = (((bytesToCopy/mFrameSize) * UNITS) / mSampleRate);
+            tStop = tStart + sampleDuration;
 
-			//Adjust the time stamps for rate and seeking
-			REFERENCE_TIME adjustedStart = (tStart * RATE_DENOMINATOR) / mRateNumerator;
-			REFERENCE_TIME adjustedStop = (tStop * RATE_DENOMINATOR) / mRateNumerator;
-			adjustedStart -= (m_tStart + globalOffset);
-			adjustedStop -= (m_tStart + globalOffset);
+            //Adjust the time stamps for rate and seeking
+            REFERENCE_TIME adjustedStart = (tStart * RATE_DENOMINATOR) / mRateNumerator;
+            REFERENCE_TIME adjustedStop = (tStop * RATE_DENOMINATOR) / mRateNumerator;
+            adjustedStart -= (m_tStart + globalOffset);
+            adjustedStop -= (m_tStart + globalOffset);
 
-			__int64 seekStripOffset = 0;
-			if (adjustedStop < 0) 
+            __int64 seekStripOffset = 0;
+            if (adjustedStop < 0) 
             {
-				sample->Release();
-			} 
+                sample->Release();
+            } 
             else 
             {
-				if (adjustedStart < 0) 
+                if (adjustedStart < 0) 
                 {
-					seekStripOffset = (-adjustedStart) * mSampleRate;
-					seekStripOffset *= mFrameSize;
-					seekStripOffset /= UNITS;
-					seekStripOffset += (mFrameSize - (seekStripOffset % mFrameSize));
-					__int64 strippedDuration = (((seekStripOffset/mFrameSize) * UNITS) / mSampleRate);
-					adjustedStart += strippedDuration;
-				}					
+                    seekStripOffset = (-adjustedStart) * mSampleRate;
+                    seekStripOffset *= mFrameSize;
+                    seekStripOffset /= UNITS;
+                    seekStripOffset += (mFrameSize - (seekStripOffset % mFrameSize));
+                    __int64 strippedDuration = (((seekStripOffset/mFrameSize) * UNITS) / mSampleRate);
+                    adjustedStart += strippedDuration;
+                }					
 
                 LOG(logDEBUG4) << __FUNCTIONW__ << " Seek strip offset: " << seekStripOffset;
 
@@ -229,37 +228,37 @@
                 }
                 else
                 {
-				    //memcpy((void*)locBuffer, (const void*)&mDecodedBuffer[bytesCopied + seekStripOffset], bytesToCopy - seekStripOffset);
+                    //memcpy((void*)locBuffer, (const void*)&mDecodedBuffer[bytesCopied + seekStripOffset], bytesToCopy - seekStripOffset);
                     reorderChannels(locBuffer, &mDecodedBuffer[bytesCopied + seekStripOffset], bytesToCopy - seekStripOffset);
 
-				    sample->SetTime(&adjustedStart, &adjustedStop);
-				    sample->SetMediaTime(&tStart, &tStop);
-				    sample->SetSyncPoint(TRUE);
-				    sample->SetActualDataLength(bytesToCopy - seekStripOffset);
-				    hr = ((VorbisDecodeOutputPin*)(mOutputPin))->mDataQueue->Receive(sample);
-				    if (hr != S_OK) 
+                    sample->SetTime(&adjustedStart, &adjustedStop);
+                    sample->SetMediaTime(&tStart, &tStop);
+                    sample->SetSyncPoint(TRUE);
+                    sample->SetActualDataLength(bytesToCopy - seekStripOffset);
+                    hr = ((VorbisDecodeOutputPin*)(mOutputPin))->mDataQueue->Receive(sample);
+                    if (hr != S_OK) 
                     {
-					    return hr;
-				    }
-				    tStart += sampleDuration;
+                        return hr;
+                    }
+                    tStart += sampleDuration;
                 }
-			}
-			bytesCopied += bytesToCopy;
+            }
+            bytesCopied += bytesToCopy;
 
-		
-		} while(bytesCopied < mDecodedByteCount);
 
-		mDecodedByteCount = 0;
-		
-	}
-	return S_OK;
+        } while(bytesCopied < mDecodedByteCount);
+
+        mDecodedByteCount = 0;
+
+    }
+    return S_OK;
 }
 
 void VorbisDecodeInputPin::reorderChannels(unsigned char* inDestBuffer, const unsigned char* inSourceBuffer, unsigned long inNumBytes)
 {
     //memcpy((void*)locBuffer, (const void*)&mDecodedBuffer[bytesCopied + seekStripOffset], bytesToCopy - seekStripOffset);
 
-    if (((VorbisDecodeFilter*)m_pFilter)->USE_CORRECT_VORBIS_CHANNEL_MAPPING && 
+    if (GetFilter()->USE_CORRECT_VORBIS_CHANNEL_MAPPING && 
         (mNumChannels == 6  || mNumChannels == 3 || mNumChannels == 5)) 
     {
         //We only have to reorder the channels if we are using the extended format, we have declared that we want to map correctly
@@ -334,15 +333,28 @@
 	return S_OK;
 }
 
+VorbisDecodeFilter* VorbisDecodeInputPin::GetFilter()
+{
+    return static_cast<VorbisDecodeFilter*>(mParentFilter);
+}
 
 HRESULT VorbisDecodeInputPin::SetMediaType(const CMediaType* inMediaType) 
 {
 	//FIX:::Error checking
-
 	if (CheckMediaType(inMediaType) == S_OK) 
     {
-		((VorbisDecodeFilter*)mParentFilter)->setVorbisFormat(inMediaType->pbFormat);
-		LOG(logDEBUG) << "Set media type";
+        if (inMediaType->majortype == MEDIATYPE_OggPacketStream &&
+            inMediaType->formattype == FORMAT_OggIdentHeader &&
+            inMediaType->cbFormat == VORBIS_IDENT_HEADER_SIZE) 
+        {
+		    GetFilter()->setVorbisFormat(inMediaType->pbFormat);
+        }
+        else if (inMediaType->majortype == MEDIATYPE_Audio &&
+                 inMediaType->subtype == MEDIASUBTYPE_Vorbis &&
+                 inMediaType->formattype == FORMAT_Vorbis)
+        {
+            GetFilter()->setVorbisFormat(reinterpret_cast<VORBISFORMAT*>(inMediaType->pbFormat));
+        }
 	} 
     else 
     {
@@ -355,19 +367,21 @@
 {
 	if (AbstractTransformInputPin::CheckMediaType(inMediaType) == S_OK) 
     {
-		if (inMediaType->cbFormat == VORBIS_IDENT_HEADER_SIZE) 
+		if (inMediaType->majortype == MEDIATYPE_OggPacketStream &&
+            inMediaType->formattype == FORMAT_OggIdentHeader &&
+            inMediaType->cbFormat == VORBIS_IDENT_HEADER_SIZE) 
         {
-			if (strncmp((char*)inMediaType->pbFormat, "\001vorbis", 7) == 0) 
+			if (strncmp((char*)inMediaType->pbFormat, "\001vorbis", 7) != 0) 
             {
-				//TODO::: Possibly verify version
-				LOG(logDEBUG) << "Check media type ok";
-				return S_OK;
+                LOG(logDEBUG) << "Check media type failed";
+                return S_FALSE;
 			}
 		}
+        LOG(logDEBUG) << "Check media type ok";
+        return S_OK;
 	}
-	
     LOG(logDEBUG) << "Check media type failed";
-	return S_FALSE;
+    return S_FALSE;
 }
 
 HRESULT VorbisDecodeInputPin::GetAllocatorRequirements(ALLOCATOR_PROPERTIES *outRequestedProps)
@@ -495,6 +509,13 @@
 		mOggOutputPinInterface = NULL;
 	}
 	LOG(logDEBUG) << "Complete Connect";
-	
+
+    if (GetFilter()->getVorbisFormatBlock())
+    {
+        mNumChannels = GetFilter()->getVorbisFormatBlock()->numChannels;
+        mFrameSize = mNumChannels * SIZE_16_BITS;
+        mSampleRate = GetFilter()->getVorbisFormatBlock()->samplesPerSec;
+    }
+
     return AbstractTransformInputPin::CompleteConnect(inReceivePin);
 }

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -46,6 +46,7 @@
 #include "VorbisDecoder.h"
 #endif
 
+class VorbisDecodeFilter;
 class VorbisDecodeOutputPin;
 
 class VorbisDecodeInputPin 
@@ -109,7 +110,7 @@
 
     void reorderChannels(unsigned char* inDestBuffer, const unsigned char* inSourceBuffer, unsigned long inNumBytes);
 
-	
+	VorbisDecodeFilter* GetFilter();
 
 	//TODO::: Are these needed?
 	bool mBegun;

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -36,19 +36,19 @@
 #include "Vorbisdecodeoutputpin.h"
 
 VorbisDecodeOutputPin::VorbisDecodeOutputPin(VorbisDecodeFilter* inParentFilter, CCritSec* inFilterLock, 
-                                             vector<CMediaType*> inAcceptableMediaTypes) :	
+    const MediaTypesList& inAcceptableMediaTypes) :	
 AbstractTransformOutputPin(inParentFilter, inFilterLock, NAME("VorbisDecodeOutputPin"),	
-                           L"PCM Out", 65535, 20, inAcceptableMediaTypes)
+    L"PCM Out", 65535, 20, inAcceptableMediaTypes)
 {
 }
 
-VorbisDecodeOutputPin::~VorbisDecodeOutputPin(void)
+VorbisDecodeOutputPin::~VorbisDecodeOutputPin()
 {	
 }
 
 HRESULT VorbisDecodeOutputPin::DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES *inReqAllocProps)
 {
-    sVorbisFormatBlock* formatBlock = static_cast<VorbisDecodeFilter*>(m_pFilter)->getVorbisFormatBlock();
+    VORBISFORMAT* formatBlock = static_cast<VorbisDecodeFilter*>(m_pFilter)->getVorbisFormatBlock();
     if (formatBlock)
     {
         mDesiredBufferSize = formatBlock->numChannels * formatBlock->samplesPerSec * 2;
@@ -105,8 +105,14 @@
 
         formatEx->Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
 
-        formatEx->Format.nChannels = (WORD)((VorbisDecodeFilter*)m_pFilter)->mVorbisFormatInfo->numChannels;
-        formatEx->Format.nSamplesPerSec =  ((VorbisDecodeFilter*)m_pFilter)->mVorbisFormatInfo->samplesPerSec;
+        formatEx->Format.nChannels = 0;
+        formatEx->Format.nSamplesPerSec = 0;
+        if (GetFilter()->mVorbisFormatInfo)
+        {
+            formatEx->Format.nChannels = (WORD)GetFilter()->mVorbisFormatInfo->numChannels;
+            formatEx->Format.nSamplesPerSec =  GetFilter()->mVorbisFormatInfo->samplesPerSec;
+        }
+
         formatEx->Format.wBitsPerSample = 16;
 
         formatEx->Samples.wValidBitsPerSample = 16;
@@ -158,8 +164,13 @@
         WAVEFORMATEX* waveFormat = (WAVEFORMATEX*)mediaType.AllocFormatBuffer(sizeof(WAVEFORMATEX));
 
         waveFormat->wFormatTag = WAVE_FORMAT_PCM;
-        waveFormat->nChannels = static_cast<VorbisDecodeFilter*>(m_pFilter)->mVorbisFormatInfo->numChannels;
-        waveFormat->nSamplesPerSec =  static_cast<VorbisDecodeFilter*>(m_pFilter)->mVorbisFormatInfo->samplesPerSec;
+        waveFormat->nChannels = 0;
+        waveFormat->nSamplesPerSec = 0;
+        if (GetFilter()->mVorbisFormatInfo)
+        {
+            waveFormat->nChannels = GetFilter()->mVorbisFormatInfo->numChannels;
+            waveFormat->nSamplesPerSec =  GetFilter()->mVorbisFormatInfo->samplesPerSec;
+        }
         waveFormat->wBitsPerSample = 16;
         waveFormat->nBlockAlign = waveFormat->nChannels * (waveFormat->wBitsPerSample >> 3);
         waveFormat->nAvgBytesPerSec = (waveFormat->nChannels * (waveFormat->wBitsPerSample >> 3)) * waveFormat->nSamplesPerSec;
@@ -169,4 +180,9 @@
     }
 
     return S_FALSE;
+}
+
+VorbisDecodeFilter* VorbisDecodeOutputPin::GetFilter()
+{
+    return static_cast<VorbisDecodeFilter*>(m_pFilter);
 }
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -40,25 +40,25 @@
 #endif
 
 class VorbisDecodeFilter;
-class VorbisDecodeOutputPin :
-	public AbstractTransformOutputPin
+class VorbisDecodeOutputPin : public AbstractTransformOutputPin
 {
+    friend class VorbisDecodeInputPin;
+
 public:
-
     static const unsigned long NUM_BUFFERS = 16;
 
-	friend class VorbisDecodeInputPin;
-
 	DECLARE_IUNKNOWN
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
-	VorbisDecodeOutputPin(VorbisDecodeFilter* inParentFilter,CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes);
-	virtual ~VorbisDecodeOutputPin(void);
+    VorbisDecodeOutputPin(VorbisDecodeFilter* inParentFilter, CCritSec* inFilterLock, 
+                          const MediaTypesList& inAcceptableMediaTypes);
+	virtual ~VorbisDecodeOutputPin();
+
 protected:
 	virtual HRESULT CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition);
     virtual HRESULT DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES *inReqAllocProps);
 
 private:
     HRESULT FillMediaType(CMediaType& mediaType, bool useWaveFormatEx);
+    VorbisDecodeFilter* GetFilter();
 };
-

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -32,32 +32,5 @@
 
 #pragma once
 
-// {05A1D945-A794-44ef-B41A-2F851A117155}
-DEFINE_GUID(CLSID_VorbisDecodeFilter, 
-0x5a1d945, 0xa794, 0x44ef, 0xb4, 0x1a, 0x2f, 0x85, 0x1a, 0x11, 0x71, 0x55);
-
-// {60891713-C24F-4767-B6C9-6CA05B3338FC}
-DEFINE_GUID(MEDIATYPE_OggPacketStream, 
-0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
-
-// {95388704-162C-42a9-8149-C3577C12AAF9}
-DEFINE_GUID(FORMAT_OggIdentHeader, 
-0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
-
-// {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
-DEFINE_GUID(IID_IOggDecoder, 
-0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
-
-// {83D7F506-53ED-4f15-B6D8-7D8E9E72A918}
-DEFINE_GUID(IID_IOggOutputPin, 
-0x83d7f506, 0x53ed, 0x4f15, 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18);
-
-struct sVorbisFormatBlock 
-{
-	unsigned long vorbisVersion;
-	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned char numChannels;
-};
+#include "common/VorbisTypes.h"
+#include "common/OggTypes.h"

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -69,8 +69,7 @@
 VorbisEncodeFilter::VorbisEncodeFilter(void)
 	:	AbstractTransformFilter(NAME("Xiph.Org Vorbis Encoder"), CLSID_VorbisEncodeFilter)
 {
-	bool locWasConstructed = ConstructPins();
-	//Error checks ??
+	ConstructPins();
 }
 
 VorbisEncodeFilter::~VorbisEncodeFilter(void)
@@ -104,7 +103,7 @@
 	CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);		//Deleted in pin destructor
 	locAcceptMediaType->subtype = MEDIASUBTYPE_Vorbis;
 	locAcceptMediaType->formattype = FORMAT_Vorbis;
-	
+
 	locAcceptableTypes.push_back(locAcceptMediaType);
 
 	//Output pin must be done first because it's passed to the input pin.
@@ -114,12 +113,9 @@
 	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 VorbisEncodeInputPin(this, m_pLock, mOutputPin, locAcceptableTypes);	//Deleted in base class filter destructor.

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -40,7 +40,7 @@
 #include "AbstractTransformFilter.h"
 
 //Forward Declarations
-struct sVorbisFormatBlock;
+struct VORBISFORMAT;
 class VorbisEncodeInputPin;
 class VorbisEncodeOutputPin;
 
@@ -85,5 +85,5 @@
 	virtual bool ConstructPins();
 
 	//Member data
-	sVorbisFormatBlock mVorbisFormatBlock;
+	VORBISFORMAT mVorbisFormatBlock;
 };

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -54,10 +54,10 @@
 HRESULT VorbisEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
 {
 	if (inPosition == 0) {
-		sVorbisFormatBlock* locVorbisFormat = (sVorbisFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sVorbisFormatBlock));
+		VORBISFORMAT* locVorbisFormat = (VORBISFORMAT*)outMediaType->AllocFormatBuffer(sizeof(VORBISFORMAT));
 		//TODO::: Check for null ?
 
-		memcpy((void*)locVorbisFormat, (const void*) &(((VorbisEncodeFilter*)mParentFilter)->mVorbisFormatBlock), sizeof(sVorbisFormatBlock));
+		memcpy((void*)locVorbisFormat, (const void*) &(((VorbisEncodeFilter*)mParentFilter)->mVorbisFormatBlock), sizeof(VORBISFORMAT));
 		return S_OK;
 	} else {
         return S_FALSE;

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -35,7 +35,7 @@
 #include "AbstractTransformOutputPin.h"
 
 class VorbisEncodeFilter;
-struct sVorbisFormatBlock;
+struct VORBISFORMAT;
 
 class VorbisEncodeOutputPin
 	:	public AbstractTransformOutputPin

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -35,14 +35,7 @@
 #include <pullpin.h>
 #include <initguid.h>
 
-struct sVorbisFormatBlock {
-	unsigned long vorbisVersion;
-	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned char numChannels;
-};
+#include "common/VorbisTypes.h"
 
 #include "AbstractTransformFilter.h"
 #include "AbstractTransformInputPin.h"
@@ -61,28 +54,6 @@
 	#endif
 #endif
 
-// {A538F05F-DC08-4bf9-994F-18A86CCA6CC4}
-DEFINE_GUID(CLSID_PropsVorbisEncoder, 
-0xa538f05f, 0xdc08, 0x4bf9, 0x99, 0x4f, 0x18, 0xa8, 0x6c, 0xca, 0x6c, 0xc4);
-
-
-// {5C94FE86-B93B-467f-BFC3-BD6C91416F9B}
-DEFINE_GUID(CLSID_VorbisEncodeFilter, 
-0x5c94fe86, 0xb93b, 0x467f, 0xbf, 0xc3, 0xbd, 0x6c, 0x91, 0x41, 0x6f, 0x9b);
-
-// {8A0566AC-42B3-4ad9-ACA3-93B906DDF98A}
-DEFINE_GUID(MEDIASUBTYPE_Vorbis, 
-0x8a0566ac, 0x42b3, 0x4ad9, 0xac, 0xa3, 0x93, 0xb9, 0x6, 0xdd, 0xf9, 0x8a);
-
-// {44E04F43-58B3-4de1-9BAA-8901F852DAE4}
-DEFINE_GUID(FORMAT_Vorbis, 
-0x44e04f43, 0x58b3, 0x4de1, 0x9b, 0xaa, 0x89, 0x1, 0xf8, 0x52, 0xda, 0xe4);
-
-
-// {A4C6A887-7BD3-4b33-9A57-A3EB10924D3A}
-DEFINE_GUID(IID_IVorbisEncodeSettings, 
-0xa4c6a887, 0x7bd3, 0x4b33, 0x9a, 0x57, 0xa3, 0xeb, 0x10, 0x92, 0x4d, 0x3a);
-
 const REGPINTYPES VorbisEncodeInputTypes = {
     &MEDIATYPE_Audio,
 	&MEDIASUBTYPE_PCM
@@ -120,8 +91,6 @@
 	}
 };
 
-
-
 const REGFILTER2 VorbisEncodeFilterReg = {
 		1,
 		MERIT_DO_NOT_USE,

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -203,17 +203,17 @@
     
     //TODO: if we decide source filter should attempt to also
     //connect to Xiph Ogg Vorbis decoder filter:
-    //mt.majortype = VorbisTypes::MEDIATYPE_OggPacketStream;
-    //mt.subtype = MEDIASUBTYPE_None;
-    //mt.bFixedSizeSamples = FALSE;
-    //mt.bTemporalCompression = FALSE;
-    //mt.lSampleSize = 0;
-    //mt.formattype = VorbisTypes::FORMAT_OggIdentHeader;
-    //mt.pUnk = 0;
-    //mt.cbFormat = id_len;
-    //mt.pbFormat = const_cast<BYTE*>(id_hdr);
-    //
-    //mtv.Add(mt);
+    mt.majortype = VorbisTypes::MEDIATYPE_OggPacketStream;
+    mt.subtype = MEDIASUBTYPE_None;
+    mt.bFixedSizeSamples = FALSE;
+    mt.bTemporalCompression = FALSE;
+    mt.lSampleSize = 0;
+    mt.formattype = VorbisTypes::FORMAT_OggIdentHeader;
+    mt.pUnk = 0;
+    mt.cbFormat = id_len;
+    mt.pbFormat = const_cast<BYTE*>(id_hdr);
+
+    mtv.Add(mt);
 }
 
 
@@ -242,8 +242,8 @@
 }
 
 
-#if 0  //if we decide to support Xiph Ogg Vorbis decoder filter:
-HRESULT AudioStream::SetConnectionMediaType(const AM_MEDIA_TYPE&)
+#if 1  //if we decide to support Xiph Ogg Vorbis decoder filter:
+HRESULT AudioStream::SetConnectionMediaType(const AM_MEDIA_TYPE& mt)
 {
     if (mt.majortype == VorbisTypes::MEDIATYPE_OggPacketStream)
         m_preroll = &AudioStream::SendOggIdentPacket;
@@ -432,7 +432,7 @@
 }
 
 
-#if 0  //if we decide to support Xiph Ogg Vorbis decoder filter
+#if 1  //if we decide to support Xiph Ogg Vorbis decoder filter
 bool AudioStream::SendPreroll(IMediaSample* pSample)
 {
     assert(m_preroll);

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.hpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.hpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/libmkvparser/mkvparserstreamaudio.hpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -25,7 +25,7 @@
     void GetMediaTypes(CMediaTypes&) const;
     HRESULT QueryAccept(const AM_MEDIA_TYPE*) const;
 
-#if 0  //if we decide to support Xiph Ogg Vorbis decoder filter:    
+#if 1  //if we decide to support Xiph Ogg Vorbis decoder filter:    
     HRESULT SetConnectionMediaType(const AM_MEDIA_TYPE&);
 #endif
 
@@ -39,7 +39,7 @@
 
     void GetVorbisMediaTypes(CMediaTypes&) const;
     
-#if 0  //if we decide to support Xiph Ogg Vorbis decoder filter:    
+#if 1  //if we decide to support Xiph Ogg Vorbis decoder filter:    
     bool SendPreroll(IMediaSample*);        
     bool (AudioStream::*m_preroll)(IMediaSample*);
     bool DoNothing(IMediaSample*);

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8decoder/vp8decoder_2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8decoder/vp8decoder_2005.vcproj	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8decoder/vp8decoder_2005.vcproj	2010-06-21 21:11:20 UTC (rev 17302)
@@ -74,7 +74,7 @@
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="$(SolutionDir)vp8_sdk\lib\Win32"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="vp8decoder.def"
 				GenerateDebugInformation="true"
 				SubSystem="0"
@@ -162,7 +162,7 @@
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="$(SolutionDir)vp8_sdk\lib\Win32"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="vp8decoder.def"
 				GenerateDebugInformation="true"
 				SubSystem="0"

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8encoder/vp8encoder_2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8encoder/vp8encoder_2005.vcproj	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/vp8encoder/vp8encoder_2005.vcproj	2010-06-21 21:11:20 UTC (rev 17302)
@@ -74,7 +74,7 @@
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="$(SolutionDir)vp8_sdk\lib\Win32"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				IgnoreDefaultLibraryNames=""
 				ModuleDefinitionFile="vp8encoder.def"
 				GenerateDebugInformation="true"
@@ -163,7 +163,7 @@
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="$(SolutionDir)vp8_sdk\lib\Win32"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				IgnoreDefaultLibraryNames=""
 				ModuleDefinitionFile="vp8encoder.def"
 				GenerateDebugInformation="true"

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmmux/webmmux_2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmmux/webmmux_2005.vcproj	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmmux/webmmux_2005.vcproj	2010-06-21 21:11:20 UTC (rev 17302)
@@ -67,7 +67,7 @@
 				AdditionalDependencies="strmiids.lib"
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="webmmux.def"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
@@ -149,7 +149,7 @@
 				AdditionalDependencies="strmiids.lib"
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="webmmux.def"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"

Modified: trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmsplit/webmsplit_2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmsplit/webmsplit_2005.vcproj	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/codecs/webm/webmdshow/webmsplit/webmsplit_2005.vcproj	2010-06-21 21:11:20 UTC (rev 17302)
@@ -67,7 +67,7 @@
 				AdditionalDependencies="strmiids.lib"
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="webmsplit.def"
 				GenerateDebugInformation="true"
 				SubSystem="2"
@@ -148,7 +148,7 @@
 				AdditionalDependencies="strmiids.lib"
 				OutputFile="$(OutDir)\$(RootNameSpace).dll"
 				LinkIncremental="2"
-				GenerateManifest="false"
+				GenerateManifest="true"
 				ModuleDefinitionFile="webmsplit.def"
 				GenerateDebugInformation="true"
 				SubSystem="2"

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -1,34 +1,3 @@
 #pragma once
 
-// Stream subtype for Ogg byte streams. The filter can handle
-// MEDIASUBTYPE_NULL, but specifying MEDIASUBTYPE_Ogg can save
-// the filter graph the trouble of trying out all the available
-// filters.
-// {DD142C1E-0C1E-4381-A24E-0B2D80B6098A}
-DEFINE_GUID(MEDIASUBTYPE_Ogg, 
-0xdd142c1e, 0xc1e, 0x4381, 0xa2, 0x4e, 0xb, 0x2d, 0x80, 0xb6, 0x9, 0x8a);
-
-// {C9361F5A-3282-4944-9899-6D99CDC5370B}
-DEFINE_GUID(CLSID_OggDemuxFilter, 
-0xc9361f5a, 0x3282, 0x4944, 0x98, 0x99, 0x6d, 0x99, 0xcd, 0xc5, 0x37, 0xb);
-
-// {60891713-C24F-4767-B6C9-6CA05B3338FC}
-DEFINE_GUID(MEDIATYPE_OggPacketStream, 
-0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
-
-// {95388704-162C-42a9-8149-C3577C12AAF9}
-DEFINE_GUID(FORMAT_OggIdentHeader, 
-0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
-
-// {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
-DEFINE_GUID(IID_IOggDecoder, 
-0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
-
-// {83D7F506-53ED-4f15-B6D8-7D8E9E72A918}
-DEFINE_GUID(IID_IOggOutputPin, 
-0x83d7f506, 0x53ed, 0x4f15, 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18);
-
-// {EB5AED9C-8CD0-4c4b-B5E8-F5D10AD1314D}
-DEFINE_GUID(IID_IOggBaseTime, 
-0xeb5aed9c, 0x8cd0, 0x4c4b, 0xb5, 0xe8, 0xf5, 0xd1, 0xa, 0xd1, 0x31, 0x4d);
-
+#include "common/OggTypes.h"

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -87,7 +87,7 @@
 	if (inMediaType->majortype == MEDIATYPE_Video) {
 		if (inMediaType->subtype == MEDIASUBTYPE_Theora) {
 			//Theora	
-			sTheoraFormatBlock* locTheora = (sTheoraFormatBlock*)inMediaType->pbFormat;
+			THEORAFORMAT* locTheora = (THEORAFORMAT*)inMediaType->pbFormat;
 			//debugLog<<"Theo sample rate = "<<locTheora->frameRateNumerator<<" / "<<locTheora->frameRateDenominator<<endl;
 			//debugLog<<"Theo KFI = "<<locTheora->maxKeyframeInterval<<endl;
 			mMuxStream->setConversionParams(locTheora->frameRateNumerator, locTheora->frameRateDenominator, 10000000, locTheora->maxKeyframeInterval);
@@ -102,7 +102,7 @@
 	} else if (inMediaType->majortype == MEDIATYPE_Audio) {
 		if (inMediaType->subtype == MEDIASUBTYPE_Vorbis) {
 			//Vorbis
-			sVorbisFormatBlock* locVorbis = (sVorbisFormatBlock*)inMediaType->pbFormat;
+			VORBISFORMAT* locVorbis = (VORBISFORMAT*)inMediaType->pbFormat;
 			//debugLog<<"Vorbis sample rate = "<<locVorbis->samplesPerSec<<endl;
 			mMuxStream->setConversionParams(locVorbis->samplesPerSec, 1, 10000000);
 			mMuxStream->setNumHeaders(3);
@@ -110,13 +110,13 @@
 			
 		} else if (inMediaType->subtype == MEDIASUBTYPE_Speex) {
 			//Speex
-			sSpeexFormatBlock* locSpeex = (sSpeexFormatBlock*)inMediaType->pbFormat;
+			SPEEXFORMAT* locSpeex = (SPEEXFORMAT*)inMediaType->pbFormat;
 			mMuxStream->setConversionParams(locSpeex->samplesPerSec, 1, 10000000);
 			mMuxStream->setNumHeaders(2);
 			mPaginator.setNumHeaders(2);
 		} else if (inMediaType->subtype == MEDIASUBTYPE_OggFLAC_1_0) {
 			//We are connected to the encoder nd getting individual metadata packets.
-			sFLACFormatBlock* locFLAC = (sFLACFormatBlock*)inMediaType->pbFormat;
+			FLACFORMAT* locFLAC = (FLACFORMAT*)inMediaType->pbFormat;
 			mMuxStream->setConversionParams(locFLAC->samplesPerSec, 1, 10000000);
 			//debugLog<<"FLAC sample rate = "<<locFLAC->samplesPerSec<<endl;
 			//mNeedsFLACHeaderTweak = true;
@@ -124,12 +124,12 @@
 		} else if (inMediaType->subtype == MEDIASUBTYPE_FLAC) {
 			//We are connected directly to the demux and are getting metadata in one block
 			// Need to use the header splitter class.
-			sFLACFormatBlock* locFLAC = (sFLACFormatBlock*)inMediaType->pbFormat;
+			FLACFORMAT* locFLAC = (FLACFORMAT*)inMediaType->pbFormat;
 			mMuxStream->setConversionParams(locFLAC->samplesPerSec, 1, 10000000);
 			//debugLog<<"FLAC sample rate = "<<locFLAC->samplesPerSec<<endl;
 			mNeedsFLACHeaderTweak = true;
 		} else if (inMediaType->subtype == MEDIASUBTYPE_RawOggAudio) {
-			sOggRawAudioFormatBlock* locRawAudio = (sOggRawAudioFormatBlock*)inMediaType->pbFormat;
+			OGGRAWAUDIOFORMAT* locRawAudio = (OGGRAWAUDIOFORMAT*)inMediaType->pbFormat;
 			mMuxStream->setConversionParams(locRawAudio->samplesPerSec, 1, 10000000);
 			mMuxStream->setNumHeaders(locRawAudio->numHeaders);
 			mPaginator.setNumHeaders(locRawAudio->numHeaders);
@@ -138,7 +138,7 @@
 		
 	} else if (inMediaType->majortype == MEDIATYPE_Text) {
 		if (inMediaType->subtype == MEDIASUBTYPE_CMML) {
-			sCMMLFormatBlock* locCMML = (sCMMLFormatBlock*)inMediaType->pbFormat;
+			CMMLFORMAT* locCMML = (CMMLFORMAT*)inMediaType->pbFormat;
 			mMuxStream->setConversionParams(locCMML->granuleNumerator,locCMML->granuleDenominator, 10000000);
 			mMuxStream->setNumHeaders(1);
 			mPaginator.setNumHeaders(1);

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -55,72 +55,12 @@
     #endif
 #endif
 
+#include "common/OggTypes.h"
+#include "common/VorbisTypes.h"
+#include "common/TheoraTypes.h"
+#include "common/FlacTypes.h"
+#include "common/SpeexTypes.h"
 
-// {90D6513C-A665-4b16-ACA7-B3D1D4EFE58D}
-DEFINE_GUID(IID_IOggMuxProgress, 
-0x90d6513c, 0xa665, 0x4b16, 0xac, 0xa7, 0xb3, 0xd1, 0xd4, 0xef, 0xe5, 0x8d);
-
-
-
-// {30393ca2-c404-4744-a21e-90975700ea8f}
-DEFINE_GUID(CLSID_PropsOggMux,
-0x30393ca2, 0xc404, 0x4744, 0xa2, 0x1e, 0x90, 0x97, 0x57, 0x00, 0xea, 0x8f);
-
-// {3a2cf997-0aeb-4d3f-9846-b5db2ca4c80b}
-DEFINE_GUID(IID_IOggMuxSettings, 
-0x3a2cf997, 0x0aeb, 0x4d3f, 0x98, 0x46, 0xb5, 0xdb, 0x2c, 0xa4, 0xc8, 0x0b);
-
-//New section
-// {31CA0186-1FF0-4181-AA38-3CA4040BD260}
-DEFINE_GUID(CLSID_OggDemuxSourceFilter, 
-0x31ca0186, 0x1ff0, 0x4181, 0xaa, 0x38, 0x3c, 0xa4, 0x4, 0xb, 0xd2, 0x60);
-
-// {1F3EFFE4-0E70-47c7-9C48-05EB99E20011}
-DEFINE_GUID(CLSID_OggMuxFilter, 
-0x1f3effe4, 0xe70, 0x47c7, 0x9c, 0x48, 0x5, 0xeb, 0x99, 0xe2, 0x0, 0x11);
-
-// {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
-DEFINE_GUID(MEDIASUBTYPE_FLAC, 
-0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
-
-// {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
-DEFINE_GUID(MEDIASUBTYPE_OggFLAC_1_0, 
-0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
-
-
-// {8A0566AC-42B3-4ad9-ACA3-93B906DDF98A}
-DEFINE_GUID(MEDIASUBTYPE_Vorbis, 
-0x8a0566ac, 0x42b3, 0x4ad9, 0xac, 0xa3, 0x93, 0xb9, 0x6, 0xdd, 0xf9, 0x8a);
-
-// {25A9729D-12F6-420e-BD53-1D631DC217DF}
-DEFINE_GUID(MEDIASUBTYPE_Speex, 
-0x25a9729d, 0x12f6, 0x420e, 0xbd, 0x53, 0x1d, 0x63, 0x1d, 0xc2, 0x17, 0xdf);
-
-// {44E04F43-58B3-4de1-9BAA-8901F852DAE4}
-DEFINE_GUID(FORMAT_Vorbis, 
-0x44e04f43, 0x58b3, 0x4de1, 0x9b, 0xaa, 0x89, 0x1, 0xf8, 0x52, 0xda, 0xe4);
-
-// {78701A27-EFB5-4157-9553-38A7854E3E81}
-DEFINE_GUID(FORMAT_Speex, 
-0x78701a27, 0xefb5, 0x4157, 0x95, 0x53, 0x38, 0xa7, 0x85, 0x4e, 0x3e, 0x81);
-
-// {1CDC48AC-4C24-4b8b-982B-7007A29D83C4}
-DEFINE_GUID(FORMAT_FLAC, 
-0x1cdc48ac, 0x4c24, 0x4b8b, 0x98, 0x2b, 0x70, 0x7, 0xa2, 0x9d, 0x83, 0xc4);
-
-
-// {05187161-5C36-4324-A734-22BF37509F2D}
-DEFINE_GUID(CLSID_TheoraDecodeFilter, 
-0x5187161, 0x5c36, 0x4324, 0xa7, 0x34, 0x22, 0xbf, 0x37, 0x50, 0x9f, 0x2d);
-
-// {D124B2B1-8968-4ae8-B288-FE16EA34B0CE}
-DEFINE_GUID(MEDIASUBTYPE_Theora, 
-0xd124b2b1, 0x8968, 0x4ae8, 0xb2, 0x88, 0xfe, 0x16, 0xea, 0x34, 0xb0, 0xce);
-
-// {A99F116C-DFFA-412c-95DE-725F99874826}
-DEFINE_GUID(FORMAT_Theora, 
-0xa99f116c, 0xdffa, 0x412c, 0x95, 0xde, 0x72, 0x5f, 0x99, 0x87, 0x48, 0x26);
-
 // {BBCD12AC-0000-0010-8000-00aa00389b71}
 DEFINE_GUID(MEDIASUBTYPE_Schroedinger, 
 0xBBCD12AC, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
@@ -129,17 +69,13 @@
 DEFINE_GUID(FORMAT_Schroedinger,
 0xBBCD12AC, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
 
-//This structure defines the type of input we accept on the input pin... Stream/Annodex
-
 // {53696C76-6961-40b2-B136-436F6E726164}
 DEFINE_GUID(FORMAT_CMML, 
 0x53696c76, 0x6961, 0x40b2, 0xb1, 0x36, 0x43, 0x6f, 0x6e, 0x72, 0x61, 0x64);
 
-
 // {5A656E74-6172-6F26-B79C-D6416E647282}
 DEFINE_GUID(MEDIASUBTYPE_CMML, 
 0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
-//Structure defining the registration details of the filter
 
 // {37535B3C-F068-4f93-9763-E7208277D71F}
 DEFINE_GUID(MEDIASUBTYPE_RawOggAudio, 
@@ -200,62 +136,15 @@
 		
 };
 
-
-
-struct sVorbisFormatBlock {
-	unsigned long vorbisVersion;
+struct OGGRAWAUDIOFORMAT {
 	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned char numChannels;
-};
-
-struct sSpeexFormatBlock {
-	unsigned long speexVersion;
-	unsigned long samplesPerSec;
-	unsigned long minBitsPerSec;
-	unsigned long avgBitsPerSec;
-	unsigned long maxBitsPerSec;
-	unsigned long numChannels;
-
-};
-
-struct sFLACFormatBlock {
-	unsigned short numChannels;
-	unsigned long numBitsPerSample;
-	unsigned long samplesPerSec;
-
-};
-
-struct sTheoraFormatBlock {
-	unsigned long theoraVersion;
-	unsigned long outerFrameWidth;
-	unsigned long outerFrameHeight;
-	unsigned long pictureWidth;
-	unsigned long pictureHeight;
-	unsigned long frameRateNumerator;
-	unsigned long frameRateDenominator;
-	unsigned long aspectNumerator;
-	unsigned long aspectDenominator;
-	unsigned long maxKeyframeInterval;
-	unsigned long targetBitrate;
-	unsigned char targetQuality;
-	unsigned char xOffset;
-	unsigned char yOffset;
-	unsigned char colourSpace;
-    unsigned char pixelFormat;
-};
-struct sOggRawAudioFormatBlock {
-	unsigned long samplesPerSec;
 	unsigned long numHeaders;
 	unsigned long numChannels;
 	unsigned long bitsPerSample;
 	unsigned long maxFramesPerPacket;
-
-
 };
-struct sCMMLFormatBlock {
+
+struct CMMLFORMAT {
 	__int64 granuleNumerator;
 	__int64 granuleDenominator;
 	unsigned short granuleSplitBits;

Modified: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.cpp	2010-06-21 21:11:20 UTC (rev 17302)
@@ -33,26 +33,27 @@
 #include "AbstractTransformOutputPin.h"
 
 
-AbstractTransformOutputPin::AbstractTransformOutputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, TCHAR* inObjectName, LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, vector<CMediaType*> inAcceptableMediaTypes)
-	:	CBaseOutputPin(inObjectName, inParentFilter, inFilterLock, &mHR, inPinDisplayName)
+AbstractTransformOutputPin::AbstractTransformOutputPin(
+    AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, TCHAR* inObjectName, 
+    LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, const MediaTypesList& inAcceptableMediaTypes) :	
 
-	,	mParentFilter(inParentFilter)
-	,	mDataQueue(NULL)
-	
-	,	mDesiredBufferSize(inBuffSize)
-	,	mDesiredBufferCount(inNumBuffs)
+CBaseOutputPin(inObjectName, inParentFilter, inFilterLock, &mHR, inPinDisplayName),	
 
-	,	mActualBufferSize(0)
-	,	mActualBufferCount(0)
-
-	,	mAcceptableMediaTypes(inAcceptableMediaTypes)
+mParentFilter(inParentFilter),	
+mDataQueue(NULL),	
+mDesiredBufferSize(inBuffSize),	
+mDesiredBufferCount(inNumBuffs),	
+mActualBufferSize(0),	
+mActualBufferCount(0),	
+mAcceptableMediaTypes(inAcceptableMediaTypes)
 {
+}
 
-}
 AbstractTransformOutputPin::~AbstractTransformOutputPin(void)
 {	
 	ReleaseDelegate();
-	delete mDataQueue;
+
+    delete mDataQueue;
 	mDataQueue = NULL;
 
 	for (size_t i = 0; i < mAcceptableMediaTypes.size(); i++) {

Modified: trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/core/directshow/libDirectshowAbstracts/AbstractTransformOutputPin.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -37,8 +37,9 @@
 
 //STL Includes
 #include <vector>
-using namespace std;
 
+typedef std::vector<CMediaType*> MediaTypesList;
+
 //Forward Declarations
 class AbstractTransformFilter;
 
@@ -54,7 +55,8 @@
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
 	//Constructors
-	AbstractTransformOutputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, TCHAR* inObjectName, LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, vector<CMediaType*> inAcceptableMediaTypes);
+	AbstractTransformOutputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, TCHAR* inObjectName, 
+        LPCWSTR inPinDisplayName, int inBuffSize, int inNumBuffs, const MediaTypesList& inAcceptableMediaTypes);
 	virtual ~AbstractTransformOutputPin(void);
 
 	//Buffer control method
@@ -85,7 +87,7 @@
 	//Pin member data
 	AbstractTransformFilter* mParentFilter;
 	COutputQueue* mDataQueue;
-	vector<CMediaType*> mAcceptableMediaTypes;
+	MediaTypesList mAcceptableMediaTypes;
 	
 	HRESULT mHR;		//Is this even used ??
 
@@ -94,8 +96,4 @@
 	int mDesiredBufferCount;
 	int mActualBufferSize;
 	int mActualBufferCount;
-
-	
 };
-
-

Added: trunk/oggdsf/src/lib/helper/common/FlacTypes.h
===================================================================
--- trunk/oggdsf/src/lib/helper/common/FlacTypes.h	                        (rev 0)
+++ trunk/oggdsf/src/lib/helper/common/FlacTypes.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -0,0 +1,70 @@
+//===========================================================================
+//Copyright (C) 2010 Cristian Adam
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Cristian Adam nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+#ifndef FLACTYPES_H
+#define FLACTYPES_H
+
+struct FLACFORMAT 
+{
+    unsigned short numChannels;
+    unsigned long numBitsPerSample;
+    unsigned long samplesPerSec;
+};
+
+// {EE66A998-4E5C-4e23-A0F3-97C40D87EC48}
+DEFINE_GUID(CLSID_PropsFLACEncoder,
+0xee66a998, 0x4e5c, 0x4e23, 0xa0, 0xf3, 0x97, 0xc4, 0xd, 0x87, 0xec, 0x48);
+
+// {DF9C0DC3-1924-4bfe-8DC1-1084453A0F8F}
+DEFINE_GUID(IID_IFLACEncodeSettings,
+0xdf9c0dc3, 0x1924, 0x4bfe, 0x8d, 0xc1, 0x10, 0x84, 0x45, 0x3a, 0xf, 0x8f);
+
+// {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
+DEFINE_GUID(MEDIASUBTYPE_FLAC, 
+0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
+
+// {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
+DEFINE_GUID(MEDIASUBTYPE_OggFLAC_1_0, 
+0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
+
+// {1CDC48AC-4C24-4b8b-982B-7007A29D83C4}
+DEFINE_GUID(FORMAT_FLAC, 
+0x1cdc48ac, 0x4c24, 0x4b8b, 0x98, 0x2b, 0x70, 0x7, 0xa2, 0x9d, 0x83, 0xc4);
+
+// {77E3A6A3-2A24-43fa-B929-00747E4B560B}
+DEFINE_GUID(CLSID_FLACEncodeFilter, 
+0x77e3a6a3, 0x2a24, 0x43fa, 0xb9, 0x29, 0x0, 0x74, 0x7e, 0x4b, 0x56, 0xb);
+
+// {3376086C-D6F9-4ce4-8B89-33CD570106B5}
+DEFINE_GUID(CLSID_FLACDecodeFilter, 
+0x3376086c, 0xd6f9, 0x4ce4, 0x8b, 0x89, 0x33, 0xcd, 0x57, 0x1, 0x6, 0xb5);
+
+#endif // FLACTYPES_H
\ No newline at end of file

Added: trunk/oggdsf/src/lib/helper/common/OggTypes.h
===================================================================
--- trunk/oggdsf/src/lib/helper/common/OggTypes.h	                        (rev 0)
+++ trunk/oggdsf/src/lib/helper/common/OggTypes.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -0,0 +1,85 @@
+//===========================================================================
+//Copyright (C) 2010 Cristian Adam
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Cristian Adam nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+#ifndef OGGTYPES_H
+#define OGGTYPES_H
+
+// {60891713-C24F-4767-B6C9-6CA05B3338FC}
+DEFINE_GUID(MEDIATYPE_OggPacketStream, 
+0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
+
+// {95388704-162C-42a9-8149-C3577C12AAF9}
+DEFINE_GUID(FORMAT_OggIdentHeader, 
+0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
+
+// {43F0F818-10B0-4c86-B9F1-F6B6E2D33462}
+DEFINE_GUID(IID_IOggDecoder, 
+0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
+
+// {83D7F506-53ED-4f15-B6D8-7D8E9E72A918}
+DEFINE_GUID(IID_IOggOutputPin, 
+0x83d7f506, 0x53ed, 0x4f15, 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18);
+
+// {90D6513C-A665-4b16-ACA7-B3D1D4EFE58D}
+DEFINE_GUID(IID_IOggMuxProgress, 
+0x90d6513c, 0xa665, 0x4b16, 0xac, 0xa7, 0xb3, 0xd1, 0xd4, 0xef, 0xe5, 0x8d);
+
+// {30393ca2-c404-4744-a21e-90975700ea8f}
+DEFINE_GUID(CLSID_PropsOggMux,
+0x30393ca2, 0xc404, 0x4744, 0xa2, 0x1e, 0x90, 0x97, 0x57, 0x00, 0xea, 0x8f);
+
+// {3a2cf997-0aeb-4d3f-9846-b5db2ca4c80b}
+DEFINE_GUID(IID_IOggMuxSettings, 
+0x3a2cf997, 0x0aeb, 0x4d3f, 0x98, 0x46, 0xb5, 0xdb, 0x2c, 0xa4, 0xc8, 0x0b);
+
+// Stream subtype for Ogg byte streams. The filter can handle
+// MEDIASUBTYPE_NULL, but specifying MEDIASUBTYPE_Ogg can save
+// the filter graph the trouble of trying out all the available
+// filters.
+
+// {DD142C1E-0C1E-4381-A24E-0B2D80B6098A}
+DEFINE_GUID(MEDIASUBTYPE_Ogg, 
+0xdd142c1e, 0xc1e, 0x4381, 0xa2, 0x4e, 0xb, 0x2d, 0x80, 0xb6, 0x9, 0x8a);
+
+// {C9361F5A-3282-4944-9899-6D99CDC5370B}
+DEFINE_GUID(CLSID_OggDemuxFilter, 
+0xc9361f5a, 0x3282, 0x4944, 0x98, 0x99, 0x6d, 0x99, 0xcd, 0xc5, 0x37, 0xb);
+
+// {EB5AED9C-8CD0-4c4b-B5E8-F5D10AD1314D}
+DEFINE_GUID(IID_IOggBaseTime, 
+0xeb5aed9c, 0x8cd0, 0x4c4b, 0xb5, 0xe8, 0xf5, 0xd1, 0xa, 0xd1, 0x31, 0x4d);
+
+// {1F3EFFE4-0E70-47c7-9C48-05EB99E20011}
+DEFINE_GUID(CLSID_OggMuxFilter, 
+0x1f3effe4, 0xe70, 0x47c7, 0x9c, 0x48, 0x5, 0xeb, 0x99, 0xe2, 0x0, 0x11);
+
+
+#endif // OGGTYPES_H
\ No newline at end of file

Added: trunk/oggdsf/src/lib/helper/common/SpeexTypes.h
===================================================================
--- trunk/oggdsf/src/lib/helper/common/SpeexTypes.h	                        (rev 0)
+++ trunk/oggdsf/src/lib/helper/common/SpeexTypes.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -0,0 +1,69 @@
+//===========================================================================
+//Copyright (C) 2010 Cristian Adam
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Cristian Adam nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+#ifndef SPEEXTYPES_H
+#define SPEEXTYPES_H
+
+struct SPEEXFORMAT 
+{
+    unsigned long speexVersion;
+    unsigned long samplesPerSec;
+    unsigned long minBitsPerSec;
+    unsigned long avgBitsPerSec;
+    unsigned long maxBitsPerSec;
+    unsigned long numChannels;
+};
+
+// {ED79AEC0-68AD-4be6-B06E-B4D3C8101624}
+DEFINE_GUID(CLSID_PropsSpeexEncoder, 
+0xed79aec0, 0x68ad, 0x4be6, 0xb0, 0x6e, 0xb4, 0xd3, 0xc8, 0x10, 0x16, 0x24);
+
+// {479038D2-57FF-41ee-B397-FB98199BF1E8}
+DEFINE_GUID(IID_ISpeexEncodeSettings, 
+0x479038d2, 0x57ff, 0x41ee, 0xb3, 0x97, 0xfb, 0x98, 0x19, 0x9b, 0xf1, 0xe8);
+
+// {25A9729D-12F6-420e-BD53-1D631DC217DF}
+DEFINE_GUID(MEDIASUBTYPE_Speex, 
+0x25a9729d, 0x12f6, 0x420e, 0xbd, 0x53, 0x1d, 0x63, 0x1d, 0xc2, 0x17, 0xdf);
+
+// {78701A27-EFB5-4157-9553-38A7854E3E81}
+DEFINE_GUID(FORMAT_Speex, 
+0x78701a27, 0xefb5, 0x4157, 0x95, 0x53, 0x38, 0xa7, 0x85, 0x4e, 0x3e, 0x81);
+
+// {7036C2FE-A209-464c-97AB-95B9260EDBF7}
+DEFINE_GUID(CLSID_SpeexEncodeFilter, 
+0x7036c2fe, 0xa209, 0x464c, 0x97, 0xab, 0x95, 0xb9, 0x26, 0xe, 0xdb, 0xf7);
+
+// {7605E26C-DE38-4b82-ADD8-FE2568CC0B25}
+DEFINE_GUID(CLSID_SpeexDecodeFilter, 
+0x7605e26c, 0xde38, 0x4b82, 0xad, 0xd8, 0xfe, 0x25, 0x68, 0xcc, 0xb, 0x25);
+
+#endif // SPEEXTYPES_H
\ No newline at end of file

Added: trunk/oggdsf/src/lib/helper/common/TheoraTypes.h
===================================================================
--- trunk/oggdsf/src/lib/helper/common/TheoraTypes.h	                        (rev 0)
+++ trunk/oggdsf/src/lib/helper/common/TheoraTypes.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -0,0 +1,79 @@
+//===========================================================================
+//Copyright (C) 2010 Cristian Adam
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Cristian Adam nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+#ifndef THEORATYPES_H
+#define THEORATYPES_H
+
+struct THEORAFORMAT 
+{
+    unsigned long theoraVersion;
+    unsigned long outerFrameWidth;
+    unsigned long outerFrameHeight;
+    unsigned long pictureWidth;
+    unsigned long pictureHeight;
+    unsigned long frameRateNumerator;
+    unsigned long frameRateDenominator;
+    unsigned long aspectNumerator;
+    unsigned long aspectDenominator;
+    unsigned long maxKeyframeInterval;
+    unsigned long targetBitrate;
+    unsigned char targetQuality;
+    unsigned char xOffset;
+    unsigned char yOffset;
+    unsigned char colourSpace;
+    unsigned char pixelFormat;
+};
+
+// {121EA765-6D3F-4519-9686-A0BA6E5281A2}
+DEFINE_GUID(CLSID_PropsTheoraEncoder, 
+0x121ea765, 0x6d3f, 0x4519, 0x96, 0x86, 0xa0, 0xba, 0x6e, 0x52, 0x81, 0xa2);
+
+// {4F063B3A-B397-4c22-AFF4-2F8DB96D292A}
+DEFINE_GUID(IID_ITheoraEncodeSettings, 
+0x4f063b3a, 0xb397, 0x4c22, 0xaf, 0xf4, 0x2f, 0x8d, 0xb9, 0x6d, 0x29, 0x2a);
+
+// {5C769985-C3E1-4f95-BEE7-1101C465F5FC}
+DEFINE_GUID(CLSID_TheoraEncodeFilter, 
+0x5c769985, 0xc3e1, 0x4f95, 0xbe, 0xe7, 0x11, 0x1, 0xc4, 0x65, 0xf5, 0xfc);
+
+// TheoraDecodeFilter {05187161-5C36-4324-A734-22BF37509F2D}
+DEFINE_GUID(CLSID_TheoraDecodeFilter,
+0x5187161, 0x5c36, 0x4324, 0xa7, 0x34, 0x22, 0xbf, 0x37, 0x50, 0x9f, 0x2d);
+
+// {D124B2B1-8968-4ae8-B288-FE16EA34B0CE}
+DEFINE_GUID(MEDIASUBTYPE_Theora, 
+0xd124b2b1, 0x8968, 0x4ae8, 0xb2, 0x88, 0xfe, 0x16, 0xea, 0x34, 0xb0, 0xce);
+
+// {A99F116C-DFFA-412c-95DE-725F99874826}
+DEFINE_GUID(FORMAT_Theora, 
+0xa99f116c, 0xdffa, 0x412c, 0x95, 0xde, 0x72, 0x5f, 0x99, 0x87, 0x48, 0x26);
+
+#endif // THEORATYPES_H

Added: trunk/oggdsf/src/lib/helper/common/VorbisTypes.h
===================================================================
--- trunk/oggdsf/src/lib/helper/common/VorbisTypes.h	                        (rev 0)
+++ trunk/oggdsf/src/lib/helper/common/VorbisTypes.h	2010-06-21 21:11:20 UTC (rev 17302)
@@ -0,0 +1,70 @@
+//===========================================================================
+//Copyright (C) 2010 Cristian Adam
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Cristian Adam nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
+
+#ifndef VORBISTYPES_H
+#define VORBISTYPES_H
+
+struct VORBISFORMAT 
+{
+    unsigned long vorbisVersion;
+    unsigned long samplesPerSec;
+    unsigned long minBitsPerSec;
+    unsigned long avgBitsPerSec;
+    unsigned long maxBitsPerSec;
+    unsigned char numChannels;
+};
+
+// {A538F05F-DC08-4bf9-994F-18A86CCA6CC4}
+DEFINE_GUID(CLSID_PropsVorbisEncoder, 
+0xa538f05f, 0xdc08, 0x4bf9, 0x99, 0x4f, 0x18, 0xa8, 0x6c, 0xca, 0x6c, 0xc4);
+
+// {5C94FE86-B93B-467f-BFC3-BD6C91416F9B}
+DEFINE_GUID(CLSID_VorbisEncodeFilter, 
+0x5c94fe86, 0xb93b, 0x467f, 0xbf, 0xc3, 0xbd, 0x6c, 0x91, 0x41, 0x6f, 0x9b);
+
+// {8A0566AC-42B3-4ad9-ACA3-93B906DDF98A}
+DEFINE_GUID(MEDIASUBTYPE_Vorbis, 
+0x8a0566ac, 0x42b3, 0x4ad9, 0xac, 0xa3, 0x93, 0xb9, 0x6, 0xdd, 0xf9, 0x8a);
+
+// {44E04F43-58B3-4de1-9BAA-8901F852DAE4}
+DEFINE_GUID(FORMAT_Vorbis, 
+0x44e04f43, 0x58b3, 0x4de1, 0x9b, 0xaa, 0x89, 0x1, 0xf8, 0x52, 0xda, 0xe4);
+
+// {A4C6A887-7BD3-4b33-9A57-A3EB10924D3A}
+DEFINE_GUID(IID_IVorbisEncodeSettings, 
+0xa4c6a887, 0x7bd3, 0x4b33, 0x9a, 0x57, 0xa3, 0xeb, 0x10, 0x92, 0x4d, 0x3a);
+
+// {05A1D945-A794-44ef-B41A-2F851A117155}
+DEFINE_GUID(CLSID_VorbisDecodeFilter, 
+0x5a1d945, 0xa794, 0x44ef, 0xb4, 0x1a, 0x2f, 0x85, 0x1a, 0x11, 0x71, 0x55);
+
+
+#endif // VORBISTYPES_H
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj	2010-06-21 18:39:26 UTC (rev 17301)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj	2010-06-21 21:11:20 UTC (rev 17302)
@@ -626,11 +626,11 @@
 				>
 			</File>
 			<File
-				RelativePath=".\VideoTagBehavior.rgs"
+				RelativePath=".\Res\VideoTagBehavior.rgs"
 				>
 			</File>
 			<File
-				RelativePath=".\Res\VideoTagBehavior.rgs"
+				RelativePath=".\VideoTagBehavior.rgs"
 				>
 			</File>
 		</Filter>



More information about the commits mailing list