[xiph-commits] r16705 - trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2

cristianadam at svn.xiph.org cristianadam at svn.xiph.org
Sun Nov 15 14:35:31 PST 2009


Author: cristianadam
Date: 2009-11-15 14:35:31 -0800 (Sun, 15 Nov 2009)
New Revision: 16705

Removed:
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.h
Modified:
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/DataSourceFactory.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ICustomSource.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/IOggBaseTime.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/dsfOggDemux2-2005.vcproj
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/stdafx.h
Log:
Refactored filter registration, logging and support for windows mobile.

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/DataSourceFactory.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/DataSourceFactory.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/DataSourceFactory.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -53,7 +53,7 @@
 		//return new HTTPFileSource;
 		return new HTTPStreamingFileSource;
 #ifdef WINCE
-	} else if (locType == "\\") {
+	} else if (locType == L"\\") {
 		//WinCE absolute file path
 		return new FilterFileSource;
 #endif

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ICustomSource.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ICustomSource.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ICustomSource.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,6 +1,9 @@
 #pragma once
+
 #include "IFilterDataSource.h"
-class ICustomSource {
+
+DECLARE_INTERFACE_(ICustomSource, IUnknown)
+{
 public:
 	virtual HRESULT setCustomSourceAndLoad(IFilterDataSource* inDataSource) = 0;
-};
\ No newline at end of file
+};

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/IOggBaseTime.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/IOggBaseTime.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/IOggBaseTime.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,8 +1,8 @@
+#pragma once
 
-#pragma once
-class IOggBaseTime {
+DECLARE_INTERFACE_(IOggBaseTime, IUnknown)
+{
 public:
 	
 	virtual __int64 getGlobalBaseTime() = 0;
-
-};
\ No newline at end of file
+};

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,5 +1,6 @@
 //===========================================================================
 //Copyright (C) 2003, 2004, 2005 Zentaro Kavanagh
+//Copyright (C) 2009 Cristian Adam
 //
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
@@ -31,103 +32,77 @@
 #include "StdAfx.h"
 #include "OggDemuxPacketSourceFilter.h"
 #include "OggStreamMapper.h"
+#include "ds_guids.h"
+#include "common/Log.h"
+#include "common/util.h"
 
 // This template lets the Object factory create us properly and work with COM infrastructure.
 CFactoryTemplate g_Templates[] = 
 {
     { 
-		L"OggDemuxFilter",						// Name
-	    &CLSID_OggDemuxPacketSourceFilter,            // CLSID
+        OggDemuxPacketSourceFilter::NAME,			// Name
+	    &CLSID_OggDemuxPacketSourceFilter,          // CLSID
 	    OggDemuxPacketSourceFilter::CreateInstance,	// Method to create an instance of MyComponent
-        NULL,									// Initialization function
-#ifdef WINCE
-		&OggDemuxPacketSourceFilterReg
-#else
-        NULL									// Set-up information (for filters)
-#endif
+        NULL,									    // Initialization function
+        &OggDemuxPacketSourceFilter::m_filterReg    // Set-up information (for filters)
     }
-	
-	//,
-
-	//{ 
-	//	L"illiminable About Page",				// Name
-	//    &CLSID_PropsAbout,						// CLSID
-	//    PropsAbout::CreateInstance,				// Method to create an instance of MyComponent
- //       NULL,									// Initialization function
- //       NULL									// Set-up information (for filters)
- //   }
-
 };
 
 // Generic way of determining the number of items in the template
 int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]); 
 
+const wchar_t* OggDemuxPacketSourceFilter::NAME = L"Xiph.Org Ogg Demux Source";
 
+const AMOVIESETUP_PIN OggDemuxPacketSourceFilter::m_pinReg = 
+{	
+    L"Ogg Packet Out",					//Name (obsoleted)
+    FALSE,								//Renders from this pin ?? Not sure about this.
+    TRUE,								//Is an output pin
+    TRUE,								//Can have zero instances of this pin
+    TRUE,								//Can have more than one instance of this pin
+    &GUID_NULL,							//Connects to filter (obsoleted)
+    NULL,								//Connects to pin (obsoleted)
+    1,									//Only support one media type
+    &m_mediaTypes	                    //Pointer to media type (Audio/Vorbis or Audio/Speex)	
+};
+
+const AMOVIESETUP_FILTER OggDemuxPacketSourceFilter::m_filterReg = 
+{
+    &CLSID_OggDemuxPacketSourceFilter,  // Filter CLSID.
+    NAME,                               // Filter name.
+    MERIT_NORMAL,                       // Merit.
+    1,                                  // Number of pin types.
+    &m_pinReg                           // Pointer to pin information.
+};
+
+const AMOVIESETUP_MEDIATYPE OggDemuxPacketSourceFilter::m_mediaTypes = 
+{
+    &MEDIATYPE_OggPacketStream,
+    &MEDIASUBTYPE_None
+};
+
+
 #ifdef WINCE
 LPAMOVIESETUP_FILTER OggDemuxPacketSourceFilter::GetSetupData()
 {	
 	return (LPAMOVIESETUP_FILTER)&OggDemuxPacketSourceFilterReg;	
 }
 #endif
+
 //COM Creator Function
 CUnknown* WINAPI OggDemuxPacketSourceFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) 
 {
-	OggDemuxPacketSourceFilter *pNewObject = new OggDemuxPacketSourceFilter();
-    if (pNewObject == NULL) {
+    util::ConfigureLogSettings();
+
+    OggDemuxPacketSourceFilter *pNewObject = new (std::nothrow) OggDemuxPacketSourceFilter();
+    if (pNewObject == NULL) 
+    {
         *pHr = E_OUTOFMEMORY;
     }
     return pNewObject;
 } 
-//COM Interface query function
-STDMETHODIMP OggDemuxPacketSourceFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv)
-{
 
-	//TODO::: Possibly want to add a check when someone queries for ICustomSource and then disallow IFileSource
-	//			and vice versa, but that could cause a problem if applications just want to query out of
-	//			curiosity but not actually use it.
-	//
-	//			For now, using ICustomSource is pretty much unsupported, so if you are using it, you just have to
-	//			be careful you don't try and load a file twice by accident.
-	if ((riid == IID_IFileSourceFilter)) {
-		*ppv = (IFileSourceFilter*)this;
-		((IUnknown*)*ppv)->AddRef();
-		return NOERROR;
-	} else if (riid == IID_ICustomSource) {
-		*ppv = (ICustomSource*)this;
-		//((IUnknown*)*ppv)->AddRef();
-		return NOERROR;
-
-
-	//} else if (riid == IID_IMediaSeeking) {
-	//	*ppv = (IMediaSeeking*)this;
-	//	((IUnknown*)*ppv)->AddRef();
-	//	return NOERROR;
-	/*} else if (riid == IID_ISpecifyPropertyPages) {
-		*ppv = (ISpecifyPropertyPages*)this;
-		((IUnknown*)*ppv)->AddRef();
-		return NOERROR;
-	*/
-	}  else if (riid == IID_IAMFilterMiscFlags) {
-		*ppv = (IAMFilterMiscFlags*)this;
-		((IUnknown*)*ppv)->AddRef();
-		return NOERROR;
-	//} else if (riid == IID_IAMMediaContent) {
-	//	//debugLog<<"Queries for IAMMediaContent///"<<endl;
-	//	*ppv = (IAMMediaContent*)this;
-	//	((IUnknown*)*ppv)->AddRef();
-	//	return NOERROR;
-	}  else if (riid == IID_IOggBaseTime) {
-		*ppv = (IOggBaseTime*)this;
-		//((IUnknown*)*ppv)->AddRef();
-		return NOERROR;
-	}
-
-
-	
-
-	return CBaseFilter::NonDelegatingQueryInterface(riid, ppv); 
-}
-OggDemuxPacketSourceFilter::OggDemuxPacketSourceFilter(void)
+OggDemuxPacketSourceFilter::OggDemuxPacketSourceFilter()
 	:	CBaseFilter(NAME("OggDemuxPacketSourceFilter"), NULL, m_pLock, CLSID_OggDemuxPacketSourceFilter)
 	,	mDataSource(NULL)
 	,	mSeenAllBOSPages(false)
@@ -136,12 +111,9 @@
 	,	mJustReset(true)
 	,	mSeekTable(NULL)
 	,	mGlobalBaseTime(0)
-
 	,	mUsingCustomSource(false)
-
 {
-    //debugLog.open(L"c:\\demux.log", ios_base::out);
-	debugLog<<L"Constructor"<<endl;
+	LOG(logDEBUG) << L"Creating OggDemuxPacketSourceFilter object";
 
 	//Why do we do this, should the base class do it ?
 	m_pLock = new CCritSec;
@@ -151,20 +123,16 @@
 	mStreamLock = new CCritSec;
 
 	mStreamMapper = new OggStreamMapper(this, m_pLock);
-
-	
 }
 
-OggDemuxPacketSourceFilter::~OggDemuxPacketSourceFilter(void)
+OggDemuxPacketSourceFilter::~OggDemuxPacketSourceFilter()
 {
-	debugLog<<L"Destructor"<<endl;
-	debugLog.close();
-	delete mStreamMapper;
+	LOG(logDEBUG) << L"Destroying OggDemuxPacketSourceFilter";
+
+    delete mStreamMapper;
 	delete mSeekTable;
 	//TODO::: Delete the locks
 
-
-
 	delete mDemuxLock;
 	delete mStreamLock;
 	delete mSourceFileLock;
@@ -175,40 +143,78 @@
 		delete mDataSource;
 	}
 }
+
+STDMETHODIMP OggDemuxPacketSourceFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv)
+{
+    LOG(logDEBUG) << L"NonDelegatingQueryInterface: " << riid;
+
+    //TODO::: Possibly want to add a check when someone queries for ICustomSource and then disallow IFileSource
+    //			and vice versa, but that could cause a problem if applications just want to query out of
+    //			curiosity but not actually use it.
+    //
+    //			For now, using ICustomSource is pretty much unsupported, so if you are using it, you just have to
+    //			be careful you don't try and load a file twice by accident.
+
+    if (riid == IID_IFileSourceFilter) 
+    {
+        return GetInterface((IFileSourceFilter*)this, ppv);
+    } 
+    else if (riid == IID_ICustomSource) 
+    {
+        return GetInterface((ICustomSource*)this, ppv);
+    }  
+    else if (riid == IID_IAMFilterMiscFlags) 
+    {
+        return GetInterface((IAMFilterMiscFlags*)this, ppv);
+    }  
+    else if (riid == IID_IOggBaseTime) 
+    {
+        return GetInterface((IOggBaseTime*)this, ppv);
+    }
+
+    return CBaseFilter::NonDelegatingQueryInterface(riid, ppv); 
+}
+
 //IMEdiaStreaming
 STDMETHODIMP OggDemuxPacketSourceFilter::Run(REFERENCE_TIME tStart) 
 {
 	CAutoLock locLock(m_pLock);
-    debugLog<<L"Run ------- "<<endl;
-	return CBaseFilter::Run(tStart);
-
+    LOG(logDEBUG) << "Run: " << ReferenceTime(tStart);
 	
+    return CBaseFilter::Run(tStart);
+}
 
-}
-STDMETHODIMP OggDemuxPacketSourceFilter::Pause(void) 
+STDMETHODIMP OggDemuxPacketSourceFilter::Pause() 
 {
 	CAutoLock locLock(m_pLock);
-    debugLog<<L"Pause post-lock"<<endl;
-	if (m_State == State_Stopped) {
-        debugLog<<L"Pause -- was stopped"<<endl;
-		if (ThreadExists() == FALSE) {
-            debugLog<<L"Pause -- CREATING THREAD"<<endl;
+    LOG(logDEBUG) << L"Pause";
+
+	if (m_State == State_Stopped) 
+    {
+        LOG(logDEBUG) <<L"Pause -- was stopped";
+
+		if (ThreadExists() == FALSE) 
+        {
+            LOG(logDEBUG) << L"Pause -- CREATING THREAD";
 			Create();
 		}
-        debugLog<<L"Pause -- RUNNING THREAD"<<endl;
+
+        LOG(logDEBUG) << L"Pause -- RUNNING THREAD";
 		CallWorker(THREAD_RUN);
 	}
-	HRESULT locHR = CBaseFilter::Pause();
 
-    debugLog<<L"Pause ()() COMPLETE"<<endl;
+	HRESULT hr = CBaseFilter::Pause();
+
+    LOG(logDEBUG) << L"Pause() COMPLETE. Base class returned: 0x" << std::hex << hr;
 	
-	return locHR;
-	
+	return hr;	
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::Stop(void) 
 {
 	CAutoLock locLock(m_pLock);
-    debugLog<<L"Stop -- KILLING!! THREAD"<<endl;
+    LOG(logDEBUG) << L"Stop -- Closing worker THREAD";
+
 	CallWorker(THREAD_EXIT);
 	Close();
 	DeliverBeginFlush();
@@ -216,138 +222,161 @@
 	DeliverEndFlush();
 	
 	return CBaseFilter::Stop();
+}
 
-
-}
 void OggDemuxPacketSourceFilter::DeliverBeginFlush() 
 {
 	CAutoLock locLock(m_pLock);
-    debugLog<<"%%% Begin Flush"<<endl;
+    LOG(logDEBUG) << L"DeliverBeginFlush";
 	
-	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) {
+	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) 
+    {
 		mStreamMapper->getPinByIndex(i)->DeliverBeginFlush();
 	}
 
 	//Should this be here or endflush or neither ?
-	
-	//debugLog<<"Calling reset stream from begin flush"<<endl;
 	resetStream();
 }
 
 void OggDemuxPacketSourceFilter::DeliverEndFlush() 
 {
 	CAutoLock locLock(m_pLock);
-    debugLog<<L"$$$ End Flush"<<endl;
-	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) {
+    LOG(logDEBUG) << L"DeliverEndFlush";
+
+	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) 
+    {
 		//mStreamMapper->getOggStream(i)->flush();
 		mStreamMapper->getPinByIndex(i)->DeliverEndFlush();
 	}
+}
 
-}
 void OggDemuxPacketSourceFilter::DeliverEOS() 
 {
 	//mStreamMapper->toStartOfData();
     CAutoLock locStreamLock(mStreamLock);
-    debugLog<<L"### Deliver EOS"<<endl;
-	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) {
+    LOG(logDEBUG) <<L"Deliver EOS";
+	
+    for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) 
+    {
 		//mStreamMapper->getOggStream(i)->flush();
 		mStreamMapper->getPinByIndex(i)->DeliverEndOfStream();
-		
 	}
-	//debugLog<<"Calling reset stream from DeliverEOS"<<endl;
-	resetStream();
+
+    resetStream();
 }
 
 void OggDemuxPacketSourceFilter::DeliverNewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) 
 {
     CAutoLock locStreamLock(mStreamLock);
-	debugLog<<L"Deliver New Segment"<<endl;
-	for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) {
+	LOG(logDEBUG) << L"DeliverNewSegment";
+	
+    for (unsigned long i = 0; i < mStreamMapper->numPins(); i++) 
+    {
 		mStreamMapper->getPinByIndex(i)->DeliverNewSegment(tStart, tStop, dRate);
 	}
 }
 
-void OggDemuxPacketSourceFilter::resetStream() {
-	{
-        
+void OggDemuxPacketSourceFilter::resetStream() 
+{
+	{   
 		CAutoLock locDemuxLock(mDemuxLock);
 		CAutoLock locSourceLock(mSourceFileLock);
-        debugLog<<L"---RESET STREAM::: post locks"<<endl;
+        LOG(logDEBUG) << L"---RESET STREAM::: post locks";
 
 		mOggBuffer.clearData();
 
-
-
 		//For a custom data source, we send it a clear request to reset any error state.
 		//For normal source, we close down the source and re-open it.
 		mDataSource->clear();
 
-		if (!mUsingCustomSource) {
+		if (!mUsingCustomSource) 
+        {
 			mDataSource->close();
 			delete mDataSource;
 			mDataSource = NULL;
 
 			//Before opening make the interface
-			mDataSource = DataSourceFactory::createDataSource(mFileName);
+			mDataSource = DataSourceFactory::createDataSource(m_fileName);
 
-			mDataSource->open(mFileName);
+			mDataSource->open(m_fileName);
 		}
-		mDataSource->seek(0);   //Should always be zero for now.
+		
+        mDataSource->seek(0);   //Should always be zero for now.
 
 		//TODO::: Should be doing stuff with the demux state here ? or packetiser ?>?
 		
 		mJustReset = true;   //TODO::: Look into this !
-        debugLog<<L"---RESET STREAM::: JUST RESET = TRUE"<<endl;
+        LOG(logDEBUG) << L"---RESET STREAM::: JUST RESET = TRUE";
 	}
 }
+
 bool OggDemuxPacketSourceFilter::acceptOggPage(OggPage* inOggPage)
 {
-	if (!mSeenAllBOSPages) {
-		if (!inOggPage->header()->isBOS()) {
+	if (!mSeenAllBOSPages) 
+    {
+		if (!inOggPage->header()->isBOS()) 
+        {
 			mSeenAllBOSPages = true;
 			mBufferedPages.push_back(inOggPage);
 			return true;
-		} else {
-			debugLog<<"Found BOS"<<endl;
+		} 
+        else 
+        {
+			LOG(logDEBUG) << "Found BOS";
 			return mStreamMapper->acceptOggPage(inOggPage);
 		}
-	} else if (!mSeenPositiveGranulePos) {
-		if (inOggPage->header()->GranulePos() > 0) {
+	} 
+    else if (!mSeenPositiveGranulePos) 
+    {
+		if (inOggPage->header()->GranulePos() > 0) 
+        {
 			mSeenPositiveGranulePos = true;
 		}
-		mBufferedPages.push_back(inOggPage);
+		
+        mBufferedPages.push_back(inOggPage);
 		return true;
-	} else {
+	} 
+    else 
+    {
 		//OGGCHAIN::: Here, need to check for an eos, and reset stream, else do it in strmapper
 		return mStreamMapper->acceptOggPage(inOggPage);
 	}
 }
+
 HRESULT OggDemuxPacketSourceFilter::SetUpPins()
 {
-	
 	CAutoLock locDemuxLock(mDemuxLock);
 	CAutoLock locSourceLock(mSourceFileLock);
 	
-	debugLog<<L"Setup Pins - Post lock"<<endl;
+	LOG(logDEBUG) << L"Setup Pins - Post lock";
+
 	unsigned short locRetryCount = 0;
 	const unsigned short RETRY_THRESHOLD = 3;
 
 	//For custom sources, we expect that the source will be provided open and ready
-	if (!mUsingCustomSource) {
+	if (!mUsingCustomSource) 
+    {
 		//Create and open a data source if we are using the standard source.
 
-		debugLog<<L"Pre data source creation"<<endl;
-		//mDataSource = DataSourceFactory::createDataSource(StringHelper::toNarrowStr(mFileName).c_str());
-        mDataSource = DataSourceFactory::createDataSource(mFileName);
-		debugLog<<L"Post data source creation"<<endl;
-		if (mDataSource == NULL) {
+		LOG(logDEBUG) << L"Pre data source creation";
+
+		//mDataSource = DataSourceFactory::createDataSource(StringHelper::toNarrowStr(m_fileName).c_str());
+        mDataSource = DataSourceFactory::createDataSource(m_fileName);
+
+		LOG(logDEBUG) << L"Post data source creation";
+
+		if (mDataSource == NULL) 
+        {
 			return VFW_E_CANNOT_RENDER;
 		}
 		
-		if (!mDataSource->open(mFileName)) {
+		if (!mDataSource->open(m_fileName)) 
+        {
 			return VFW_E_CANNOT_RENDER;
 		}
-	} else {
+	} 
+    else 
+    {
 		//For custom sources seek to the start, just in case
 		mDataSource->seek(0);
 	}
@@ -361,26 +390,35 @@
 	unsigned long locNumRead = 0;
 
 	//Feed the data in until we have seen all BOS pages.
-	while(!mSeenPositiveGranulePos) {			//mStreamMapper->allStreamsReady()) {
+	while (!mSeenPositiveGranulePos) 
+    {			
+        //mStreamMapper->allStreamsReady()) {
 	
 		locNumRead = mDataSource->read(locBuff, SETUP_BUFFER_SIZE);
 	
-		if (locNumRead > 0) {
+		if (locNumRead > 0) 
+        {
 			mOggBuffer.feed((const unsigned char*)locBuff, locNumRead);
 		}
 
-		if (mDataSource->isEOF() || mDataSource->isError()) {
-			if (mDataSource->isError() && (mDataSource->shouldRetryAt() != L"") && (locRetryCount < RETRY_THRESHOLD) && (!mUsingCustomSource)) {
+		if (mDataSource->isEOF() || mDataSource->isError()) 
+        {
+			if (mDataSource->isError() && (mDataSource->shouldRetryAt() != L"") && (locRetryCount < RETRY_THRESHOLD) && !mUsingCustomSource) 
+            {
 				mOggBuffer.clearData();
 				wstring locNewLocation = mDataSource->shouldRetryAt();
+
 				//debugLog<<"Retrying at : "<<locNewLocation<<endl;
 				delete mDataSource;
 				mDataSource = DataSourceFactory::createDataSource(locNewLocation);
 				mDataSource->open(locNewLocation);
 				locRetryCount++;
-			//This prevents us dying on small files, if we hit eof but we also saw a +'ve gran pos, this file is ok.
-			} else if (!(mDataSource->isEOF() && mSeenPositiveGranulePos)) {
-				debugLog<<L"Bailing out"<<endl;
+			    //This prevents us dying on small files, if we hit eof but we also saw a +'ve gran pos, this file is ok.
+			} 
+            else if (!(mDataSource->isEOF() && mSeenPositiveGranulePos)) 
+            {
+				LOG(logDEBUG) << L"Bailing out";
+
 				delete[] locBuff;
 				return VFW_E_CANNOT_RENDER;
 			}
@@ -393,48 +431,57 @@
 	//mDataSource->clear();
 	mDataSource->seek(0);			//TODO::: This is bad for streams.
 
-	debugLog<<"COMPLETED SETUP"<<endl;
+	LOG(logDEBUG) << "COMPLETED SETUP";
+
 	delete[] locBuff;
-	return S_OK;
-
-
+	
+    return S_OK;
 }
 
 vector<OggPage*> OggDemuxPacketSourceFilter::getMatchingBufferedPages(unsigned long inSerialNo)
 {
 	vector<OggPage*> locList;
-	for (size_t i = 0; i < mBufferedPages.size(); i++) {
-		if (mBufferedPages[i]->header()->StreamSerialNo() == inSerialNo) {
+	for (size_t i = 0; i < mBufferedPages.size(); i++) 
+    {
+		if (mBufferedPages[i]->header()->StreamSerialNo() == inSerialNo) 
+        {
 			locList.push_back(mBufferedPages[i]->clone());
 		}
 	}
-	return locList;
+	
+    return locList;
 }
+
 void OggDemuxPacketSourceFilter::removeMatchingBufferedPages(unsigned long inSerialNo)
 {
 	vector<OggPage*> locNewList;
 	int locSize = mBufferedPages.size();
-	for (int i = 0; i < locSize; i++) {
-		if (mBufferedPages[i]->header()->StreamSerialNo() != inSerialNo) {
+	
+    for (int i = 0; i < locSize; i++) 
+    {
+		if (mBufferedPages[i]->header()->StreamSerialNo() != inSerialNo) 
+        {
 			locNewList.push_back(mBufferedPages[i]);
-		} else {
+		} 
+        else 
+        {
 			delete mBufferedPages[i];
 		}
 	}
+
 	mBufferedPages = locNewList;
-
 }
 
-
-
 int OggDemuxPacketSourceFilter::GetPinCount() 
 {
 	//TODO::: Implement
 	return mStreamMapper->numPins();
 }
+
 CBasePin* OggDemuxPacketSourceFilter::GetPin(int inPinNo) 
 {
-	if (inPinNo < 0) {
+	if (inPinNo < 0) 
+    {
 		return NULL;
 	}
 	return mStreamMapper->getPinByIndex(inPinNo);
@@ -444,78 +491,52 @@
 {
 	CAutoLock locLock(m_pLock);
 	mDataSource = inDataSource;
-	mFileName = L"";
+	m_fileName = L"";
 	mUsingCustomSource = true;
 
 	return SetUpPins();
 }
+
 //IFileSource Interface
 STDMETHODIMP OggDemuxPacketSourceFilter::GetCurFile(LPOLESTR* outFileName, AM_MEDIA_TYPE* outMediaType) 
 {
     CheckPointer(outFileName, E_POINTER);
     *outFileName = NULL;
 
-    if (!mFileName.empty()) {
-    	unsigned int size  = sizeof(WCHAR) * (mFileName.size() + 1);
+    if (!m_fileName.empty()) 
+    {
+    	unsigned int size  = sizeof(WCHAR) * (m_fileName.size() + 1);
 
         *outFileName = (LPOLESTR) CoTaskMemAlloc(size);
-        if (*outFileName != NULL) {
-              CopyMemory(*outFileName, mFileName.c_str(), size);
+        if (*outFileName != NULL) 
+        {
+            CopyMemory(*outFileName, m_fileName.c_str(), size);
         }
     }
 	
 	return S_OK;
 }
 
-
 STDMETHODIMP OggDemuxPacketSourceFilter::Load(LPCOLESTR inFileName, const AM_MEDIA_TYPE* inMediaType) 
 {
-	
-	////Initialise the file here and setup all the streams
 	CAutoLock locLock(m_pLock);
-
-	debugLog<<L"Load - post lock"<<endl;
-
 	
-	mFileName = inFileName;
+	m_fileName = inFileName;
 
-	debugLog<<L"File :"<<mFileName<<endl;
+    LOG(logINFO) << L"OggDemuxPacketSourceFilter::Load(" << m_fileName << L")";
 
-	if (mFileName.find(L"XsZZfQ__WiiPFD.anx") == mFileName.size() - 18){
-		mFileName = mFileName.substr(0, mFileName.size() - 18);
-		
+	if (m_fileName.find(L"XsZZfQ__WiiPFD.anx") == m_fileName.size() - 18)
+    {
+		m_fileName = m_fileName.substr(0, m_fileName.size() - 18);	
 	}
 
-	//debugLog<<"Loading : "<<StringHelper::toNarrowStr(mFileName)<<endl;
-
-	//debugLog << "Opening source file : "<<StringHelper::toNarrowStr(mFileName)<<endl;
-	//mSeekTable = new AutoOggSeekTable(StringHelper::toNarrowStr(mFileName));
-	//mSeekTable->buildTable();
-	//
-	HRESULT locHR = SetUpPins();
-
-	if (locHR == S_OK) {
-		//mSeekTable = new AutoOggChainGranuleSeekTable(StringHelper::toNarrowStr(mFileName));
-		//int locNumPins = GetPinCount();
-
-		//OggDemuxPacketSourcePin* locPin = NULL;
-		//for (int i = 0; i < locNumPins; i++) {
-		//	locPin = (OggDemuxPacketSourcePin*)GetPin(i);
-		//	
-		//	
-		//	mSeekTable->addStream(locPin->getSerialNo(), locPin->getDecoderInterface());
-		//}
-		//mSeekTable->buildTable();
-
-		debugLog<<L"Load OK"<<endl;
-		return S_OK;
-	} else {
-		debugLog<<L"Load Fail "<<locHR<<endl;
-		return locHR;
+	HRESULT hr = SetUpPins();
+	if (FAILED(hr)) 
+    {
+        LOG(logDEBUG) << L"Load failed, error: 0x" << std::hex << hr;
 	}
 
-	//TODO:::
-	//return S_OK;
+    return hr;
 }
 
 //IAMFilterMiscFlags Interface
@@ -525,69 +546,75 @@
 }
 
 //CAMThread Stuff
-DWORD OggDemuxPacketSourceFilter::ThreadProc(void) {
-	
-	while(true) {
+DWORD OggDemuxPacketSourceFilter::ThreadProc(void) 
+{	
+	while(true) 
+    {
 		DWORD locThreadCommand = GetRequest();
 	
-		switch(locThreadCommand) {
+		switch(locThreadCommand) 
+        {
 			case THREAD_EXIT:
 	
 				Reply(S_OK);
-                debugLog<<L"Thread Proc --- THREAD IS EXITING"<<endl;
+                LOG(logDEBUG) << L"Thread Proc --- THREAD IS EXITING";
 				return S_OK;
 
 			case THREAD_RUN:
 	
 				Reply(S_OK);
 				DataProcessLoop();
-                debugLog<<L"Thread Proc --- Data Process Loop has returnsed"<<endl;
+                LOG(logDEBUG) << L"Thread Proc --- Data Process Loop has returned";
 				break;
 		}
 	}
+
 	return S_OK;
 }
 
 void OggDemuxPacketSourceFilter::notifyPinConnected()
 {
-	debugLog<<L"Notify pin connected"<<endl;
-	if (mStreamMapper->allStreamsReady()) {
+	LOG(logDEBUG) << L"Notify pin connected";
+	if (mStreamMapper->allStreamsReady()) 
+    {
 		//Setup the seek table.
-		if (mSeekTable == NULL) {
+		if (mSeekTable == NULL) 
+        {
 			//CUSTOM SOURCE:::
-			if (!mUsingCustomSource) {
-				debugLog<<L"Setting up seek table"<<endl;
+			if (!mUsingCustomSource) 
+            {
+				LOG(logDEBUG) << L"Setting up seek table";
 				//ZZUNICODE:::
-				//mSeekTable = new AutoOggChainGranuleSeekTable(StringHelper::toNarrowStr(mFileName));
-				mSeekTable = new AutoOggChainGranuleSeekTable(mFileName);
-				debugLog<<L"After Setting up seek table"<<endl;
-			} else {
+				//mSeekTable = new AutoOggChainGranuleSeekTable(StringHelper::toNarrowStr(m_fileName));
+				mSeekTable = new AutoOggChainGranuleSeekTable(m_fileName);
+				LOG(logDEBUG) << L"After Setting up seek table";
+			} 
+            else 
+            {
 				mSeekTable = new CustomOggChainGranuleSeekTable(mDataSource);
 			}
 			int locNumPins = GetPinCount();
 
 			OggDemuxPacketSourcePin* locPin = NULL;
-			for (int i = 0; i < locNumPins; i++) {
+			for (int i = 0; i < locNumPins; i++) 
+            {
 				locPin = (OggDemuxPacketSourcePin*)GetPin(i);
 				
-				debugLog<<L"Adding decoder interface to sek table"<<endl;
+				LOG(logDEBUG) << L"Adding decoder interface to seek table";
 				mSeekTable->addStream(locPin->getSerialNo(), locPin->getDecoderInterface());
 			}
-			debugLog<<L"Pre seek table build"<<endl;
-//#ifndef WINCE
+			LOG(logDEBUG) << L"Pre seek table build";
 			mSeekTable->buildTable();
-//#else
-			//mSeekTable->disableTable();
-//#endif
-			debugLog<<L"Post seek table build"<<endl;
+			
+            LOG(logDEBUG) << L"Post seek table build";
 		}
 	}
 }
+
 HRESULT OggDemuxPacketSourceFilter::DataProcessLoop() 
 {
 	//Mess with the locking mechanisms at your own risk.
 
-
 	//debugLog<<"Starting DataProcessLoop :"<<endl;
 	DWORD locCommand = 0;
 	char* locBuff = new  char[4096];			//Deleted before function returns...
@@ -604,9 +631,12 @@
 	}
 
 	bool continueLooping = true;
-	while(continueLooping) {
-		if(CheckRequest(&locCommand) == TRUE) {
-			debugLog<<L"DataProcessLoop : Thread Command issued... leaving loop."<<endl;
+	while (continueLooping) 
+    {
+		if (CheckRequest(&locCommand) == TRUE) 
+        {
+			LOG(logDEBUG) << L"DataProcessLoop : Thread Command issued... leaving loop.";
+
 			delete[] locBuff;
 			return S_OK;
 		}
@@ -614,7 +644,6 @@
 		{
 			CAutoLock locSourceLock(mSourceFileLock);
 
-
 			locBytesRead = mDataSource->read(locBuff, 4096);
 			mJustReset = false;
 		}
@@ -625,15 +654,17 @@
 			{
 				CAutoLock locDemuxLock(mDemuxLock);
 				//CAutoLock locStreamLock(mStreamLock);
-				if (mJustReset) {		//To avoid blocking problems... restart the loop if it was just reset while waiting for lock.
-					debugLog<<L"DataProcessLoop : Detected JustRest condition"<<endl;
+                //To avoid blocking problems... restart the loop if it was just reset while waiting for lock.
+				if (mJustReset) 
+                {		
+                    LOG(logDEBUG) << L"DataProcessLoop : Detected JustRest condition";
 					continue;
 				}
 				locFeedResult = mOggBuffer.feed((const unsigned char*)locBuff, locBytesRead);
 				locKeepGoing = ((locFeedResult == (OggDataBuffer::FEED_OK)) || (locFeedResult == OggDataBuffer::PROCESS_DISPATCH_FALSE));;
 				if (locFeedResult != OggDataBuffer::FEED_OK)
 				{
-					debugLog << L"Feed result = "<<locFeedResult<<endl;
+					LOG(logDEBUG) << L"Feed result = "<<locFeedResult;
 					break;
 				}
 			}
@@ -655,219 +686,262 @@
 			continueLooping = false;
 		}
 
-		if (locIsEOF) {
+		if (locIsEOF) 
+        {
 			//debugLog << "DataProcessLoop : EOF"<<endl;
             CAutoLock locStreamLock(mStreamLock);
-			debugLog<<L"DataProcessLoop : EOF Deliver EOS"<<endl;
+			LOG(logDEBUG) << L"DataProcessLoop : EOF Deliver EOS";
 			DeliverEOS();
 		}
 	}
 
-	debugLog<<L"DataProcessLoop : Left loop., balinig out"<<endl;
+	LOG(logDEBUG) << L"DataProcessLoop : Left loop., baling out";
 
-	//Shuold we flush ehre ?
+	//should we flush here ?
 	delete[] locBuff;
 	
 	//return value ??
 	return S_OK;
 }
 
-
-
-
 STDMETHODIMP OggDemuxPacketSourceFilter::GetCapabilities(DWORD* inCapabilities) 
 {
-	if ((mSeekTable != NULL) && (mSeekTable->enabled()))  {
-		//debugLog<<"GetCaps "<<mSeekingCap<<endl;
-		*inCapabilities = mSeekingCap;
-		return S_OK;
-	} else {
-		//debugLog<<"Get Caps failed !!!!!!!"<<endl;
-		*inCapabilities = 0;
-		return S_OK;;
-	}
+	if (mSeekTable == NULL || !mSeekTable->enabled())  
+    {
+        *inCapabilities = 0;
+        return S_OK;;
+    }
+
+	*inCapabilities = mSeekingCap;
+    return S_OK;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::GetDuration(LONGLONG* outDuration) 
+
+STDMETHODIMP OggDemuxPacketSourceFilter::GetDuration(LONGLONG* pDuration) 
 {
-	if ((mSeekTable != NULL) && (mSeekTable->enabled())) {
-		//debugLog<<"GetDuration = " << mSeekTable->fileDuration()<<" ds units"<<endl;
-		*outDuration = mSeekTable->fileDuration();
-		return S_OK;
-	} else {
-		return E_NOTIMPL;
-	}
+	if (mSeekTable == NULL || !mSeekTable->enabled()) 
+    {
+        return E_NOTIMPL;
+    }
 
+	*pDuration = mSeekTable->fileDuration();
 
+    LOG(logDEBUG) << "IMediaSeeking::GetDuration([out] " << ToString(*pDuration) << ") -> 0x" << std::hex << S_OK;
+
+    return S_OK;
 }
 	 
 STDMETHODIMP OggDemuxPacketSourceFilter::CheckCapabilities(DWORD *pCapabilities)
 {
-	//debugLog<<"CheckCaps	: Not impl"<<endl;
+    HRESULT result = S_OK;
 
-	//TODO:::
-	return E_NOTIMPL;
+    DWORD dwActual;
+    GetCapabilities(&dwActual);
+    if (*pCapabilities & (~dwActual))
+    {
+        result = S_FALSE;
+    }
+
+    LOG(logDEBUG) << "IMediaSeeking::CheckCapabilities([out]  " << *pCapabilities << ") -> 0x" << std::hex << result;
+
+    return result;
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::IsFormatSupported(const GUID *pFormat)
 {
-	//ASSERT(pFormat != NULL);
-	if (*pFormat == TIME_FORMAT_MEDIA_TIME) {
-		//debugLog<<"IsFormatSupported	: TRUE"<<endl;
-		return S_OK;
-	} else {
-		//debugLog<<"IsFormatSupported	: FALSE !!!"<<endl;
-		return S_FALSE;
-	}
+    HRESULT result = S_FALSE;
 
+    if (*pFormat == TIME_FORMAT_MEDIA_TIME) 
+    {
+        result = S_OK;
+    } 
 
-	
+    LOG(logDEBUG) << "IMediaSeeking::IsFormatSupported([in] " << ToString(*pFormat) << ") -> 0x" << std::hex << result;
+
+    return result;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::QueryPreferredFormat(GUID *pFormat){
-	//debugLog<<"QueryPrefferedTimeFormat	: MEDIA TIME"<<endl;
+
+STDMETHODIMP OggDemuxPacketSourceFilter::QueryPreferredFormat(GUID *pFormat)
+{
 	*pFormat = TIME_FORMAT_MEDIA_TIME;
+
+    LOG(logDEBUG) << "IMediaSeeking::QueryPreferredFormat([out] " << ToString(*pFormat) << ") -> 0x" << std::hex << S_OK; 
+
 	return S_OK;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::SetTimeFormat(const GUID *pFormat){
-	//debugLog<<"SetTimeForamt : NOT IMPL"<<endl;
-	return E_NOTIMPL;
+
+STDMETHODIMP OggDemuxPacketSourceFilter::SetTimeFormat(const GUID *pFormat)
+{
+    LOG(logDEBUG) << "IMediaSeeking::SetTimeFormat([in] " << ToString(pFormat) << ") -> 0x" << std::hex << E_NOTIMPL; 
+	
+    return E_NOTIMPL;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::GetTimeFormat( GUID *pFormat){
+
+STDMETHODIMP OggDemuxPacketSourceFilter::GetTimeFormat( GUID *pFormat)
+{
 	*pFormat = TIME_FORMAT_MEDIA_TIME;
-	return S_OK;
+
+    LOG(logDEBUG) << "IMediaSeeking::GetTimeFormat([out] " << ToString(*pFormat) << ") -> 0x" << std::hex << S_OK; 
+
+    return S_OK;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::GetStopPosition(LONGLONG *pStop){
-	if ((mSeekTable != NULL) && (mSeekTable->enabled()))  {
 
-		//debugLog<<"GetStopPos = " << mSeekTable->fileDuration()<<" ds units"<<endl;
-		*pStop = mSeekTable->fileDuration();
-		return S_OK;
-	} else {
-		//debugLog<<"GetStopPos NOT IMPL"<<endl;
-		return E_NOTIMPL;
-	}
+STDMETHODIMP OggDemuxPacketSourceFilter::GetStopPosition(LONGLONG *pStop)
+{
+	if (mSeekTable == NULL || !mSeekTable->enabled())  
+    {
+        return E_NOTIMPL;
+    }
 
+    *pStop = mSeekTable->fileDuration();
 
+    LOG(logDEBUG) << "IMediaSeeking::GetStopPosition([out] " << ToString(*pStop) << ") -> 0x" << std::hex << S_OK;
 
+	return S_OK;
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::GetCurrentPosition(LONGLONG *pCurrent)
 {
-	//TODO::: Implement this properly
-
-	//debugLog<<"GetCurrentPos = NOT_IMPL"<<endl;
 	return E_NOTIMPL;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat){
-	//debugLog<<"ConvertTimeForamt : NOT IMPL"<<endl;
-	return E_NOTIMPL;
+
+STDMETHODIMP OggDemuxPacketSourceFilter::ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
+{
+    LOG(logDEBUG) << "IMediaSeeking::ConvertTimeFormat([out] " << ToString(pTarget) 
+        << ", [in] " << ToString(pTargetFormat) << ", [in] " << ToString(Source)
+        << ", [in] " << ToString(pSourceFormat) << ") -> 0x" << std::hex << E_NOTIMPL;
+
+    return E_NOTIMPL;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags){
 
+STDMETHODIMP OggDemuxPacketSourceFilter::SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags)
+{
+    CAutoLock locLock(m_pLock);
 
-	CAutoLock locLock(m_pLock);
+    LOG(logDEBUG) << "IMediaSeeking::SetPositions([in, out] " << ToString(pCurrent) << ", [in] " << dwCurrentFlags
+        << ", [in, out] " << ToString(pStop) << ", [in] " << dwStopFlags << ") -> 0x" << std::hex << S_OK;
+
+    if (mSeekTable == NULL || !mSeekTable->enabled())  
+    {
+        return E_NOTIMPL;
+    }
 	
-	if ((mSeekTable != NULL) && (mSeekTable->enabled()))  {
+	CAutoLock locSourceLock(mSourceFileLock);
+	DeliverBeginFlush();
 	
-		
-		CAutoLock locSourceLock(mSourceFileLock);
-		DeliverBeginFlush();
-		
+	//Find the byte position for this time.
+	if (*pCurrent > mSeekTable->fileDuration()) 
+    {
+		*pCurrent = mSeekTable->fileDuration();
+	} 
+    else if (*pCurrent < 0) 
+    {
+		*pCurrent = 0;
+	}
 
-		//Find the byte position for this time.
-		if (*pCurrent > mSeekTable->fileDuration()) {
-			*pCurrent = mSeekTable->fileDuration();
-		} else if (*pCurrent < 0) {
-			*pCurrent = 0;
-		}
-
-		OggGranuleSeekTable::tSeekPair locStartPos = mSeekTable->seekPos(*pCurrent);
+	OggGranuleSeekTable::tSeekPair locStartPos = mSeekTable->seekPos(*pCurrent);
 		
-		
-		//For now, seek to the position directly, later we will discard the preroll
-		//Probably don't ever want to do this. We want to record the desired time,
-		//	and it will be up to the decoders to drop anything that falss before it.
-		//*pCurrent = locStartPos.first;
-
-		{
-			//debugLog<<"       : Delivering End Flush..."<<endl;
-			DeliverEndFlush();
-			//debugLog<<"       : End flush Delviered."<<endl;
-			DeliverNewSegment(*pCurrent, mSeekTable->fileDuration(), 1.0);
-		}
-
-		//.second is the file position.
-		mDataSource->seek(locStartPos.second.first);
+	//For now, seek to the position directly, later we will discard the preroll
+	//Probably don't ever want to do this. We want to record the desired time,
+	//	and it will be up to the decoders to drop anything that falls before it.
 	
-		return S_OK;
-	} else {
-		//debugLog<<"Seek not IMPL"<<endl;
-		return E_NOTIMPL;
-	}
+    DeliverEndFlush();
+	DeliverNewSegment(*pCurrent, mSeekTable->fileDuration(), 1.0);
 
+	//.second is the file position.
+	mDataSource->seek(locStartPos.second.first);
 
+	return S_OK;
+}
 
-}
 STDMETHODIMP OggDemuxPacketSourceFilter::GetPositions(LONGLONG *pCurrent, LONGLONG *pStop)
 {
-	//debugLog<<"Getpos : Not IMPL"<<endl;
-	//debugLog<<"GetPos : Current = HARDCODED 2 secs , Stop = "<<mSeekTable->fileDuration()/UNITS <<" secs."<<endl;
 	return E_NOTIMPL;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest){
-	//debugLog<<"****GetAvailable : NOT IMPL"<<endl;
-	if ((mSeekTable != NULL) && (mSeekTable->enabled()))  {
-		//debugLog<<"Get Avail ok"<<endl;
-		*pEarliest = 0;
-		//debugLog<<"+++++ Duration is "<<mSeekTable->fileDuration()<<endl;
-		*pLatest = mSeekTable->fileDuration();
-		return S_OK;
-	} else {
-		return E_NOTIMPL;
-	}
 
+STDMETHODIMP OggDemuxPacketSourceFilter::GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest)
+{
+    if (mSeekTable == NULL || !mSeekTable->enabled())  
+    {
+        return E_NOTIMPL;
+    }
 
+    *pEarliest = 0;
+    *pLatest = mSeekTable->fileDuration();
+
+    LOG(logDEBUG) << "IMediaSeeking::GetAvailable([out] " << ToString(*pEarliest) << ", [out] " << ToString(*pLatest)
+        << ") -> 0x" << std::hex << S_OK;
+
+    return S_OK;
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::SetRate(double dRate)
 {
-	//debugLog<<"Set RATE : NOT IMPL"<<endl;
+    HRESULT result = VFW_E_UNSUPPORTED_AUDIO;
 
-	return E_NOTIMPL;
+    if (dRate == 1.00f)
+    {
+        result = S_OK;
+    }
+    else if (dRate <= 0.00f)
+    {
+        result = E_INVALIDARG;
+    }
+
+    LOG(logDEBUG) << "IMediaSeeking::SetRate([in] " << std::setprecision(3) << std::showpoint
+        << dRate << ") -> 0x" << std::hex << result;
+
+    return result;
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::GetRate(double *dRate)
 {
+    *dRate = 1.0;
 
-	*dRate = 1.0;
-	return S_OK;;
+    LOG(logDEBUG) << "IMediaSeeking::GetRate([out] " << std::setprecision(3) << std::showpoint
+        << *dRate << ") -> 0x" << std::hex << S_OK;
+
+    return S_OK;
 }
+
 STDMETHODIMP OggDemuxPacketSourceFilter::GetPreroll(LONGLONG *pllPreroll)
 {
+    *pllPreroll = 0;
 
-	*pllPreroll = 0;
-	//debugLog<<"GetPreroll : HARD CODED TO 0"<<endl;
-	return S_OK;
+    LOG(logDEBUG) << "IMediaSeeking::GetPreroll([out] " << ToString(*pllPreroll) << ") -> 0x" << std::hex << S_OK;
+
+    return S_OK;
 }
-STDMETHODIMP OggDemuxPacketSourceFilter::IsUsingTimeFormat(const GUID *pFormat) {
-	if (*pFormat == TIME_FORMAT_MEDIA_TIME) {
-		//debugLog<<"IsUsingTimeFormat : MEDIA TIME TRUE"<<endl;
-		return S_OK;
-	} else {
-		//debugLog<<"IsUsingTimeFormat : MEDIA TIME FALSE !!!!"<<endl;
-		return S_FALSE;
-	}
 
+STDMETHODIMP OggDemuxPacketSourceFilter::IsUsingTimeFormat(const GUID *pFormat) 
+{
+    HRESULT result = S_FALSE;
 
+    if (*pFormat == TIME_FORMAT_MEDIA_TIME) 
+    {
+        result = S_OK;
+    }
+
+    LOG(logDEBUG) << "IMediaSeeking::IsUsingTimeFormat([in] " << ToString(*pFormat) << ") -> 0x" << std::hex << result;
+
+    return result;
 }
 
-
-//HHHH:::
 bool OggDemuxPacketSourceFilter::notifyStreamBaseTime(__int64 inStreamBaseTime)
 {
-	if (inStreamBaseTime > mGlobalBaseTime) {
+	if (inStreamBaseTime > mGlobalBaseTime) 
+    {
 		mGlobalBaseTime = inStreamBaseTime;
 	}
-	return true;
+	
+    return true;
 }
+
 __int64 OggDemuxPacketSourceFilter::getGlobalBaseTime()
 {
 	return mGlobalBaseTime;
 }
 
-
+CCritSec* OggDemuxPacketSourceFilter::streamLock()
+{
+    return mStreamLock;
+}

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,5 +1,6 @@
 //===========================================================================
 //Copyright (C) 2003, 2004, 2005 Zentaro Kavanagh
+//Copyright (C) 2009 Cristian Adam
 //
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
@@ -42,29 +43,35 @@
 
 class OggStreamMapper;
 
-class OggDemuxPacketSourceFilter
-	:	public CBaseFilter
-	,	public CAMThread
-	,	public IFileSourceFilter
-	,	public IOggCallback
-	,	public IOggBaseTime
-	,	public ICustomSource
-	,	public BasicSeekPassThrough
-	//,	public ISpecifyPropertyPages
-	,	public IAMFilterMiscFlags
-	//,	public IAMMediaContent
+class OggDemuxPacketSourceFilter:	
+    public CBaseFilter,	
+    public CAMThread,	
+    public IFileSourceFilter,	
+    public IOggCallback,	
+    public IOggBaseTime,	
+    public ICustomSource,	
+    public BasicSeekPassThrough,	
+    public IAMFilterMiscFlags
 {
 public:
-	OggDemuxPacketSourceFilter(void);
-	virtual ~OggDemuxPacketSourceFilter(void);
-	enum eThreadCommands {
+	OggDemuxPacketSourceFilter();
+	virtual ~OggDemuxPacketSourceFilter();
+
+    enum eThreadCommands 
+    {
 		THREAD_EXIT = 0,
 		THREAD_PAUSE = 1,
 		THREAD_RUN = 2
 	};
+
 	//Com Stuff
 	DECLARE_IUNKNOWN
 
+    static const wchar_t* NAME;
+    static const AMOVIESETUP_MEDIATYPE m_mediaTypes;
+    static const AMOVIESETUP_PIN m_pinReg;
+    static const AMOVIESETUP_FILTER m_filterReg;
+
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 	static CUnknown * WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 
@@ -121,16 +128,14 @@
 	vector<OggPage*> getMatchingBufferedPages(unsigned long inSerialNo);
 	void removeMatchingBufferedPages(unsigned long inSerialNo);
 
-	CCritSec* streamLock()			{		return mStreamLock;		}
+	CCritSec* streamLock();
 
 	virtual void notifyPinConnected();
-
-	//HHHH:::
 	virtual bool notifyStreamBaseTime(__int64 inStreamBaseTime);
 
 	//IOggBaseTime Interface
 	virtual __int64 getGlobalBaseTime();
-	//
+
 protected:
 	static const unsigned long SETUP_BUFFER_SIZE = 24;
 	virtual HRESULT SetUpPins();
@@ -147,7 +152,7 @@
 	CCritSec* mDemuxLock;
 	CCritSec* mStreamLock;
 
-	wstring mFileName;
+	wstring m_fileName;
 
 	bool mSeenAllBOSPages;
 	bool mSeenPositiveGranulePos;
@@ -160,19 +165,7 @@
 
 	AutoOggChainGranuleSeekTable* mSeekTable;
 
-	//Custom source
 	bool mUsingCustomSource;
-	//bool mQueriedIFileSource;
-	//bool mQueriedICustomSource;
-	//
-
-
 	bool mJustReset;
-
-	//HHHH:::
 	__int64 mGlobalBaseTime;
-
-	wfstream debugLog;
-
-	//double mPlaybackRate;
 };

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -29,6 +29,7 @@
 //SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 //===========================================================================
 #include "StdAfx.h"
+#include "ds_guids.h"
 #include ".\OggDemuxPacketsourcepin.h"
 
 OggDemuxPacketSourcePin::	OggDemuxPacketSourcePin(		TCHAR* inObjectName

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,38 +1,44 @@
 #include "StdAfx.h"
 #include ".\oggstreammapper.h"
 
-OggStreamMapper::OggStreamMapper(OggDemuxPacketSourceFilter* inParentFilter, CCritSec* inParentFilterLock)
-	:	mStreamState(eStreamState::STRMAP_READY)
-	,	mParentFilter(inParentFilter)
-	,	mParentFilterLock(inParentFilterLock)
-	,	mFishHeadPacket(NULL)
-	,	mSkeletonSerialNo(0)
+OggStreamMapper::OggStreamMapper(OggDemuxPacketSourceFilter* inParentFilter, CCritSec* inParentFilterLock):	
+mStreamState(STRMAP_READY),	
+mParentFilter(inParentFilter),	
+mParentFilterLock(inParentFilterLock),	
+mFishHeadPacket(NULL),	
+mSkeletonSerialNo(0)
 {
 }
 
 OggStreamMapper::~OggStreamMapper(void)
 {
-	for (size_t i = 0; i < mPins.size(); i++) {
+	for (size_t i = 0; i < mPins.size(); i++) 
+    {
 		delete mPins[i];
 	}
 }
+
 OggDemuxPacketSourcePin* OggStreamMapper::getPinByIndex(unsigned long inIndex)
 {
-	if (inIndex < mPins.size()) {
+	if (inIndex < mPins.size()) 
+    {
 		return mPins[inIndex];
-	} else {
-		return NULL;
-	}
+	} 
+
+	return NULL;
 }
 bool OggStreamMapper::acceptOggPage(OggPage* inOggPage)
 {
-	
-	switch (mStreamState) {
+	switch (mStreamState) 
+    {
 		case STRMAP_READY:
 			//WARNING::: Partial fall through
-			if (inOggPage->header()->isBOS()) {
+			if (inOggPage->header()->isBOS()) 
+            {
 				mStreamState = STRMAP_PARSING_BOS_PAGES;
-			} else {
+			} 
+            else 
+            {
 				mStreamState = STRMAP_ERROR;
 				delete inOggPage;
 				return false;
@@ -40,30 +46,39 @@
 			//Partial fall through
 		case STRMAP_PARSING_BOS_PAGES:
 			//WARNING::: Partial fall through
-			if (!allStreamsReady()) {
-				if (inOggPage->header()->isBOS()) {
+			if (!allStreamsReady()) 
+            {
+				if (inOggPage->header()->isBOS()) 
+                {
 					return addNewPin(inOggPage);
-				} else {
+				} 
+                else 
+                {
 					mStreamState = STRMAP_DATA;
 				}
 			}
 			//Partial fall through
 		case STRMAP_DATA:
 			{
-				if (mFishHeadPacket != NULL) {
-					if (inOggPage->header()->StreamSerialNo() == mSkeletonSerialNo) {
-						int x= 2;
-					}
-				}
+                // TODO: remove useless code
+				// if (mFishHeadPacket != NULL) 
+                // {
+				//	if (inOggPage->header()->StreamSerialNo() == mSkeletonSerialNo) 
+                //  {
+				//		int x = 2;
+				//	}
+				// }
 				OggDemuxPacketSourcePin* locPin = getMatchingPin(inOggPage->header()->StreamSerialNo());
-				if (locPin != NULL) {
+				if (locPin != NULL) 
+                {
 					return locPin->acceptOggPage(inOggPage);
-				} else {
+				} 
+                else 
+                {
 					//Ignore unknown streams
 					delete inOggPage;
 					return true;
 				}
-				
 			}
 			break;
 		case STRMAP_FINISHED:
@@ -71,18 +86,16 @@
         default:
 		
 			return false;
-			
 	}
-	
-
 }
 
 bool OggStreamMapper::allStreamsReady()
 {
 	bool locAllReady = true;
 	//OggDemuxPacketSourcePin* locPin = NULL;
-	for (size_t i = 0; i < mPins.size(); i++) {
-		locAllReady = locAllReady && (mPins[i]->isStreamReady());
+	for (size_t i = 0; i < mPins.size(); i++) 
+    {
+		locAllReady = locAllReady && mPins[i]->isStreamReady();
 	}	
 
 	return locAllReady && (mPins.size() > 0);
@@ -92,10 +105,14 @@
 {
 	StampedOggPacket* locPacket = inOggPage->getStampedPacket(0);
 
-	if (locPacket == NULL) {
+	if (locPacket == NULL) 
+    {
 		return false;
-	} else {
-		if ((strncmp((const char*)locPacket->packetData(), "fishead\0", 8)) == 0) {
+	} 
+    else 
+    {
+		if ((strncmp((const char*)locPacket->packetData(), "fishead\0", 8)) == 0) 
+        {
 			return true;
 		}
 	}
@@ -109,13 +126,17 @@
 	delete inOggPage;
 	return true;
 }
+
 bool OggStreamMapper::addNewPin(OggPage* inOggPage)
 {
 	//FISH::: Catch the fishead here.
 
-	if (isFishHead(inOggPage)) {
+	if (isFishHead(inOggPage)) 
+    {
 		return handleFishHead(inOggPage);
-	} else {
+	} 
+    else 
+    {
 		OggDemuxPacketSourcePin* locNewPin = new OggDemuxPacketSourcePin(NAME("OggPageSourcePin"), mParentFilter, mParentFilterLock, inOggPage->getPacket(0)->clone(), inOggPage->header()->StreamSerialNo());
 		//locNewPin->AddRef();
 		delete inOggPage;
@@ -127,11 +148,13 @@
 OggDemuxPacketSourcePin* OggStreamMapper::getMatchingPin(unsigned long inSerialNo)
 {
 	OggDemuxPacketSourcePin* locPin = NULL;
-	for (size_t i = 0; i < mPins.size(); i++) {
+	for (size_t i = 0; i < mPins.size(); i++) 
+    {
 		locPin = mPins[i];
-		if (locPin->getSerialNo() == inSerialNo) {
+		if (locPin->getSerialNo() == inSerialNo) 
+        {
 			return locPin;
 		}
 	}
 	return NULL;
-}
\ No newline at end of file
+}

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,15 +1,9 @@
 #pragma once
 
-//#include "OggDemuxPacketSourcePin.h"
-//#include "OggDemuxPacketSourceFilter.h"
-
 #include <libOOOgg/IOggCallback.h>
 #include <vector>
-using namespace std;
 
-
-class OggStreamMapper
-	:	public IOggCallback
+class OggStreamMapper:	public IOggCallback
 {
 public:
 
@@ -37,7 +31,7 @@
 
 protected:
 	eStreamState mStreamState;
-	vector<OggDemuxPacketSourcePin*> mPins;
+    std::vector<OggDemuxPacketSourcePin*> mPins;
 	OggDemuxPacketSourceFilter* mParentFilter;
 	CCritSec* mParentFilterLock;
 

Deleted: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,349 +0,0 @@
-//===========================================================================
-//Copyright (C) 2003, 2004, 2005 Zentaro Kavanagh
-//
-//Redistribution and use in source and binary forms, with or without
-//modification, are permitted provided that the following conditions
-//are met:
-//
-//- Redistributions of source code must retain the above copyright
-//  notice, this list of conditions and the following disclaimer.
-//
-//- Redistributions in binary form must reproduce the above copyright
-//  notice, this list of conditions and the following disclaimer in the
-//  documentation and/or other materials provided with the distribution.
-//
-//- Neither the name of Zentaro Kavanagh nor the names of contributors 
-//  may be used to endorse or promote products derived from this software 
-//  without specific prior written permission.
-//
-//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
-//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//===========================================================================
-#include "stdafx.h"
-#include "regwrap.h"
-
-RegWrap::RegWrap(void)
-{
-}
-
-RegWrap::~RegWrap(void)
-{
-}
-
-#ifdef UNICODE
-LONG RegWrap::addKeyVal(HKEY inHive, wstring inKeyName, wstring inValueName, wstring inValue) 
-#else
-LONG RegWrap::addKeyVal(HKEY inHive, string inKeyName, string inValueName, string inValue) 
-#endif
-{
-	//Open or create keyname
-	//Add a value called ValueName with value inValue.
-
-	//LONG RegCreateKeyEx(
-	//	HKEY hKey,
-	//	LPCTSTR lpSubKey,
-	//	DWORD Reserved,
-	//	LPTSTR lpClass,
-	//	DWORD dwOptions,
-	//	REGSAM samDesired,
-	//	LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-	//	PHKEY phkResult,
-	//	LPDWORD lpdwDisposition
-	//);
-
-
-	//LONG RegSetValueEx(
-	//	HKEY hKey,
-	//	LPCTSTR lpValueName,
-	//	DWORD Reserved,
-	//	DWORD dwType,
-	//	const BYTE* lpData,
-	//	DWORD cbData
-	//);
-
-
-	//fstream debugLog;
-	//debugLog.open("G:\\reg.log", ios_base::out);
-	//debugLog <<"Key = "<<inKeyName<<endl<<"ValueName = "<<inValueName<<endl<<"Value = "<<inValue<<endl;
-	HKEY locKey;
-	DWORD locDisp;
-	LONG retVal = RegCreateKeyEx(	inHive,
-									inKeyName.c_str(),
-									NULL,
-									NULL,
-									REG_OPTION_NON_VOLATILE,
-									KEY_ALL_ACCESS,
-									NULL,
-									&locKey,
-									&locDisp);
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Create Failed"<<endl;
-		return retVal;
-	}
-
-	retVal = RegSetValueEx(		locKey,
-								inValueName.c_str(),
-								NULL,
-								REG_SZ,
-								(const BYTE*)inValue.c_str(),
-								(DWORD)(inValue.length()+1));
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Set Value Failed"<<endl;
-		return retVal;
-	}
-	
-	RegCloseKey(locKey);
-
-	//debugLog.close();
-	return retVal;
-
-}
-#ifdef UNICODE
-bool RegWrap::deleteKeyRecurse(HKEY inHive, wstring inKeyName, wstring inSubKeyToDelete) 
-#else
-bool RegWrap::deleteKeyRecurse(HKEY inHive, string inKeyName, string inSubKeyToDelete) 
-#endif
-
-{
-
-#ifndef WINCE
-	HKEY locKey;
-	LONG retVal;
-
-	retVal = RegOpenKeyEx(	inHive,
-							inKeyName.c_str(),
-							NULL,
-							KEY_ALL_ACCESS,
-							&locKey);
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Key not found"<<endl;
-		return false;
-	}
-
-	retVal = SHDeleteKey(locKey, inSubKeyToDelete.c_str());
-	RegCloseKey(locKey);
-#endif
-	return true;
-
-}
-
-
-#ifdef UNICODE
-//NOTE::: For various reasons this is all ansi, all strings are internal, not user created.
-// ---- No longer true
-bool RegWrap::removeKeyVal(HKEY inHive, wstring inKeyName, wstring inValueName) 
-#else
-bool RegWrap::removeKeyVal(HKEY inHive, string inKeyName, string inValueName) 
-#endif
-{
-	//LONG RegDeleteValue(
-	//	HKEY hKey,
-	//	LPCTSTR lpValueName
-	//);
-
-	HKEY locKey;
-	LONG retVal;
-
-	retVal = RegOpenKeyEx(	inHive,
-							inKeyName.c_str(),
-							NULL,
-							KEY_ALL_ACCESS,
-							&locKey);
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Key not found"<<endl;
-		return false;
-	}
-
-	retVal = RegDeleteValue(locKey, inValueName.c_str());
-	RegCloseKey(locKey);
-	if (retVal != ERROR_SUCCESS) {
-		return false;
-	} else {
-		return true;
-	}
-}
-
-#ifdef UNICODE
-bool RegWrap::valueExists(HKEY inHive, wstring inKeyName, wstring inValueName) 
-#else
-bool RegWrap::valueExists(HKEY inHive, string inKeyName, string inValueName) 
-#endif
-{
-
-	//LONG RegQueryValueEx(
-	//	HKEY hKey,
-	//	LPCTSTR lpValueName,
-	//	LPDWORD lpReserved,
-	//	LPDWORD lpType,
-	//	LPBYTE lpData,
-	//	LPDWORD lpcbData
-	//);
-
-	//LONG RegOpenKeyEx(
-	//	HKEY hKey,
-	//	LPCTSTR lpSubKey,
-	//	DWORD ulOptions,
-	//	REGSAM samDesired,
-	//	PHKEY phkResult
-	//);
-
-	//fstream debugLog;
-	//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Descriptions
-	//debugLog.open("G:\\val.log", ios_base::out);
-	HKEY locKey;
-	LONG retVal;
-	//debugLog<<"Querying : Key = "<<inKeyName<<endl<<"Value = "<<inValueName<<endl;
-
-	retVal = RegOpenKeyEx(	inHive,
-							inKeyName.c_str(),
-							NULL,
-							KEY_ALL_ACCESS,
-							&locKey);
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Key not found"<<endl;
-		return false;
-	}
-
-	retVal = RegQueryValueEx(	locKey,
-								inValueName.c_str(),
-								NULL,
-								NULL,
-								NULL,
-								NULL);
-
-	RegCloseKey(locKey);
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Value not found"<<endl;
-		return false;
-	} else {
-		//debugLog<<"Value found"<<endl;
-		return true;
-	}
-
-}
-#ifdef UNICODE
-wstring RegWrap::findNextEmptyMediaPlayerDesc() 
-#else
-string RegWrap::findNextEmptyMediaPlayerDesc() 
-#endif
-{
-	char locNum[6];
-#ifdef UNICODE
-	wstring foundNum = L"";
-#else
-	string foundNum = "";
-#endif
-	for (long i = 1; i < 24; i++) {
-		_itoa(i, (char*)&locNum, 10);
-#ifdef UNICODE
-		string locTemp = locNum;
-		wstring locNumString = StringHelper::toWStr(locTemp);
-#else
-		string locNumString = locNum;
-#endif
-		if (!RegWrap::valueExists(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Descriptions"), /*(char*)&locNum)*/ locNumString)) {
-			foundNum = locNumString; //(char*)&locNum;
-			break;
-		}
-
-	}
-	return foundNum;
-}
-
-bool RegWrap::removeMediaDesc() 
-{
-	//NOTE::: This function is deliberately all ansi
-	HKEY locKey;
-	LONG retVal;
-
-	retVal = RegOpenKeyEx(	HKEY_LOCAL_MACHINE,
-							TEXT("SOFTWARE\\illiminable\\oggcodecs"),
-							NULL,
-							KEY_ALL_ACCESS,
-							&locKey);
-
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Key not found"<<endl;
-		return false;
-	}
-
-
-
-	DWORD locBuffSize = 64;
-	char locBuff[64];
-
-	retVal = RegQueryValueEx(	locKey,
-								TEXT("MediaDescNum"),
-								NULL,
-								NULL,
-								(BYTE*)&locBuff,
-								&locBuffSize);
-
-
-#ifdef UNICODE
-	wstring locBuffStr = (wchar_t*)locBuff;
-#else
-	string locBuffStr = locBuff;
-#endif
-
-	RegCloseKey(locKey);
-	if (retVal != ERROR_SUCCESS) {
-		//debugLog<<"Value not found"<<endl;
-		return false;
-	} else {
-		RegWrap::removeKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Descriptions"), locBuffStr.c_str());
-		RegWrap::removeKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\MUIDescriptions"), locBuffStr.c_str());
-		RegWrap::removeKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Types"), locBuffStr.c_str());
-		RegWrap::removeKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\illiminable\\oggcodecs"), TEXT("MediaDescNum"));
-		//debugLog<<"Value found"<<endl;
-		return true;
-		
-	}
-
-
-}
-
-#ifdef UNICODE
-bool RegWrap::addMediaPlayerDesc(wstring inDesc, wstring inExts) 
-#else
-bool RegWrap::addMediaPlayerDesc(string inDesc, string inExts) 
-#endif
-{
-	if (!RegWrap::valueExists(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\illiminable\\oggcodecs"), TEXT("MediaDescNum"))) {
-#ifdef UNICODE
-	wstring locDescNum;
-	wstring locFull;
-#else
-	string locDescNum;
-	string locFull;
-#endif
-		locDescNum = TEXT("");
-		locFull = inDesc+ TEXT(" (") + inExts + TEXT(")");
-		locDescNum = RegWrap::findNextEmptyMediaPlayerDesc();
-		if (locDescNum == TEXT("")) {
-			return false;
-		}
-		RegWrap::addKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\illiminable\\oggcodecs"), TEXT("MediaDescNum"), locDescNum.c_str());
-		RegWrap::addKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Descriptions"), locDescNum, locFull.c_str());
-		RegWrap::addKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\MUIDescriptions"), locDescNum, inDesc.c_str());
-		RegWrap::addKeyVal(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\MediaPlayer\\Player\\Extensions\\Types"), locDescNum, inExts.c_str());
-		return true;
-	} else {
-		return false;
-	}
-
-}
\ No newline at end of file

Deleted: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/RegWrap.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,33 +0,0 @@
-#pragma once
-#include <shlwapi.h>
-
-//This class really shouldn't be part of this project, but i got lazy !
-//This is a pretty inefficient way to do it but its easy.
-#include <stdlib.h>
-#include <string>
-using namespace std;
-class OGG_DEMUX2_API RegWrap
-{
-public:
-	RegWrap(void);
-	~RegWrap(void);
-
-#ifdef UNICODE
-	static LONG		addKeyVal(HKEY inHive, wstring inKeyName, wstring inValueName, wstring inValue);
-	static bool		valueExists(HKEY inHive, wstring inKeyName, wstring inValueName);
-	static wstring	findNextEmptyMediaPlayerDesc();
-	static bool		addMediaPlayerDesc(wstring inDesc, wstring inExts);
-	static bool		removeKeyVal(HKEY inHive, wstring inKeyName, wstring inValueName);
-	static bool		deleteKeyRecurse(HKEY inHive, wstring inKeyName, wstring inSubKeyToDelete);
-
-#else
-	static LONG		addKeyVal(HKEY inHive, string inKeyName, string inValueName, string inValue);
-	static bool		valueExists(HKEY inHive, string inKeyName, string inValueName);
-	static string	findNextEmptyMediaPlayerDesc();
-	static bool		addMediaPlayerDesc(string inDesc, string inExts);
-	static bool		removeKeyVal(HKEY inHive, string inKeyName, string inValueName);
-	static bool		deleteKeyRecurse(HKEY inHive, string inKeyName, string inSubKeyToDelete);
-#endif
-
-	static bool		removeMediaDesc();
-};

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,3 +1,3 @@
 #include "Stdafx.h"
 #include <initguid.h>
-#include "ds_guids.h"
\ No newline at end of file
+#include "ds_guids.h"

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/ds_guids.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,209 +1,30 @@
 #pragma once
 
-
-
-//// {4BB64C4A-1674-436b-A49D-D6B3B64DBD60}
-//DEFINE_GUID(CLSID_PropsAbout, 
-//0x4bb64c4a, 0x1674, 0x436b, 0xa4, 0x9d, 0xd6, 0xb3, 0xb6, 0x4d, 0xbd, 0x60);
-
-
-
-//************* Old GUID
-////New section
-//// {31CA0186-1FF0-4181-AA38-3CA4040BD260}
-//DEFINE_GUID(CLSID_OggDemuxSourceFilter, 
-//0x31ca0186, 0x1ff0, 0x4181, 0xaa, 0x38, 0x3c, 0xa4, 0x4, 0xb, 0xd2, 0x60);
-//**********************************
-
-
 // {C9361F5A-3282-4944-9899-6D99CDC5370B}
-//DEFINE_GUID(CLSID_OggDemuxPacketSourceFilter, 
-//0xc9361f5a, 0x3282, 0x4944, 0x98, 0x99, 0x6d, 0x99, 0xcd, 0xc5, 0x37, 0xb);
+DEFINE_GUID(CLSID_OggDemuxPacketSourceFilter, 
+0xc9361f5a, 0x3282, 0x4944, 0x98, 0x99, 0x6d, 0x99, 0xcd, 0xc5, 0x37, 0xb);
 
-static const GUID CLSID_OggDemuxPacketSourceFilter =  
-{ 0xc9361f5a, 0x3282, 0x4944, { 0x98, 0x99, 0x6d, 0x99, 0xcd, 0xc5, 0x37, 0xb } };
-
-//static const GUID <<name>> = 
-//{ 0xb15c4790, 0xc332, 0x4162, { 0xb7, 0xd, 0xb4, 0x3e, 0x5a, 0x69, 0xd8, 0x51 } };
-
-
 // {60891713-C24F-4767-B6C9-6CA05B3338FC}
-//DEFINE_GUID(MEDIATYPE_OggPacketStream, 
-//0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
+DEFINE_GUID(MEDIATYPE_OggPacketStream, 
+0x60891713, 0xc24f, 0x4767, 0xb6, 0xc9, 0x6c, 0xa0, 0x5b, 0x33, 0x38, 0xfc);
 
-static const 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);
+DEFINE_GUID(FORMAT_OggIdentHeader, 
+0x95388704, 0x162c, 0x42a9, 0x81, 0x49, 0xc3, 0x57, 0x7c, 0x12, 0xaa, 0xf9);
 
-static const 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);
+DEFINE_GUID(IID_IOggDecoder, 
+0x43f0f818, 0x10b0, 0x4c86, 0xb9, 0xf1, 0xf6, 0xb6, 0xe2, 0xd3, 0x34, 0x62);
 
-static const 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);
-static const GUID IID_IOggOutputPin =
-{ 0x83d7f506, 0x53ed, 0x4f15, { 0xb6, 0xd8, 0x7d, 0x8e, 0x9e, 0x72, 0xa9, 0x18 } };
+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);
+DEFINE_GUID(IID_IOggBaseTime, 
+0xeb5aed9c, 0x8cd0, 0x4c4b, 0xb5, 0xe8, 0xf5, 0xd1, 0xa, 0xd1, 0x31, 0x4d);
 
-static const GUID IID_IOggBaseTime =
-{ 0xeb5aed9c, 0x8cd0, 0x4c4b, { 0xb5, 0xe8, 0xf5, 0xd1, 0xa, 0xd1, 0x31, 0x4d } };
-
 // {23EF732D-DAAF-41ee-85FB-BB97B1D01FF3}
-//DEFINE_GUID(IID_ICustomSource, 
-//0x23ef732d, 0xdaaf, 0x41ee, 0x85, 0xfb, 0xbb, 0x97, 0xb1, 0xd0, 0x1f, 0xf3);
-static const GUID  IID_ICustomSource =
-{ 0x23ef732d, 0xdaaf, 0x41ee, { 0x85, 0xfb, 0xbb, 0x97, 0xb1, 0xd0, 0x1f, 0xf3 } };
+DEFINE_GUID(IID_ICustomSource, 
+0x23ef732d, 0xdaaf, 0x41ee, 0x85, 0xfb, 0xbb, 0x97, 0xb1, 0xd0, 0x1f, 0xf3);
 
-//// {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
-//DEFINE_GUID(MEDIASUBTYPE_FLAC, 
-//0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
-//
-//
-//// {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);
-
-//This structure defines the type of input we accept on the input pin... Stream/Annodex
-
-
-//Structure defining the registration details of the filter
-
-#ifdef WINCE
-
-
-const AMOVIESETUP_MEDIATYPE OggDemuxPacketSourceOutputTypes = {
-    &MEDIATYPE_OggPacketStream,
-	&MEDIASUBTYPE_None
-};
-
-
-const AMOVIESETUP_PIN OggDemuxPacketSourcePinReg = {
-	
-    L"Ogg Packet Out",					//Name (obsoleted)
-	FALSE,								//Renders from this pin ?? Not sure about this.
-	TRUE,								//Is an output pin
-	TRUE,								//Can have zero instances of this pin
-	TRUE,								//Can have more than one instance of this pin
-	&GUID_NULL,							//Connects to filter (obsoleted)
-	NULL,								//Connects to pin (obsoleted)
-	1,									//upport two media type
-	&OggDemuxPacketSourceOutputTypes				//Pointer to media type (Audio/Vorbis or Audio/Speex)
-	
-};
-
-
-
-
-
-
-
-
-
-
-
-static const AMOVIESETUP_FILTER OggDemuxPacketSourceFilterReg = {
-    &CLSID_OggDemuxPacketSourceFilter,      // Filter CLSID.
-    L"Ogg Demux Packet Source Filter",              // Filter name.
-    MERIT_NORMAL,           // Merit.
-    1,                      // Number of pin types.
-    &OggDemuxPacketSourcePinReg                // Pointer to pin information.
-};
-#else
-const REGFILTER2 OggDemuxPacketSourceFilterReg = {
-		1,
-		MERIT_NORMAL,
-		0,
-        NULL
-		
-};
-#endif
-
-
-//struct sVorbisFormatBlock {
-//	unsigned long vorbisVersion;
-//	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;
-//};

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/dsfOggDemux2-2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/dsfOggDemux2-2005.vcproj	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/dsfOggDemux2-2005.vcproj	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,586 +1,2205 @@
 <?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject ProjectType="Visual C++" Version="8,00" Name="dsfOggDemux2" ProjectGUID="{304B710A-7355-471C-A4A8-9E8F6D640E6D}" RootNamespace="dsfOggDemux2" Keyword="Win32Proj" TargetFrameworkVersion="131072">
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="dsfOggDemux2"
+	ProjectGUID="{304B710A-7355-471C-A4A8-9E8F6D640E6D}"
+	RootNamespace="dsfOggDemux2"
+	Keyword="Win32Proj"
+	>
 	<Platforms>
-		<Platform Name="Win32"/>
-		<Platform Name="x64"/>
-		<Platform Name="Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"/>
-		<Platform Name="Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"/>
-		<Platform Name="Windows Mobile 6 Professional SDK (ARMV4I)"/>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+		<Platform
+			Name="Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+		/>
+		<Platform
+			Name="Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+		/>
+		<Platform
+			Name="Windows Mobile 6 Professional SDK (ARMV4I)"
+		/>
 	</Platforms>
 	<ToolFiles>
 	</ToolFiles>
 	<Configurations>
-		<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool"/>
-			<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="4" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="2" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="1"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				MinimalRebuild="true"
+				ExceptionHandling="2"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="4"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb"
+				SubSystem="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="1"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Debug|x64"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				MinimalRebuild="true"
+				ExceptionHandling="2"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb"
+				SubSystem="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" EnableEnhancedInstructionSet="1" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="1"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Debug|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				MinimalRebuild="true"
+				ExceptionHandling="2"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb"
+				SubSystem="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE2|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" EnableEnhancedInstructionSet="2" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="1"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Debug|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				MinimalRebuild="true"
+				ExceptionHandling="2"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb"
+				SubSystem="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="3"/>
-			<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="2" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb" SubSystem="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="17"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCWebDeploymentTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				MinimalRebuild="true"
+				ExceptionHandling="2"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb"
+				SubSystem="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Debug|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" MinimalRebuild="true" ExceptionHandling="2" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="2" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb" SubSystem="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Debug|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" MinimalRebuild="true" ExceptionHandling="2" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="2" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb" SubSystem="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release|x64"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" MinimalRebuild="true" ExceptionHandling="2" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="2" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/dsfOggDemux2.pdb" SubSystem="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="3"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="17"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCWebDeploymentTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Release|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Strmiids.lib Ole32.Lib OleAut32.Lib Ws2.lib"
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE|Win32"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				EnableEnhancedInstructionSet="1"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE|x64"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE|x64" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="3"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="17"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCWebDeploymentTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Release_SSE|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE|Windows Mobile 6 Professional SDK (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE2|Win32"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				EnableEnhancedInstructionSet="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE2|x64" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="3"/>
-			<Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" CallingConvention="2"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="17"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCManifestTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCFxCopTool"/>
-			<Tool Name="VCAppVerifierTool"/>
-			<Tool Name="VCWebDeploymentTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
+		<Configuration
+			Name="Release_SSE2|x64"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_BIND_TO_CURRENT_CRT_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS"
+				ExceptionHandling="2"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+				CallingConvention="2"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE2|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE2|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE2|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE2|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
-		<Configuration Name="Release_SSE2|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="1" WholeProgramOptimization="1">
-			<Tool Name="VCPreBuildEventTool"/>
-			<Tool Name="VCCustomBuildTool"/>
-			<Tool Name="VCXMLDataGeneratorTool"/>
-			<Tool Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool Name="VCMIDLTool" TargetEnvironment="1"/>
-			<Tool Name="VCCLCompilerTool" ExecutionBucket="7" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper" PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)" ExceptionHandling="2" RuntimeLibrary="2" UsePrecompiledHeader="2" WarningLevel="4" DebugInformationFormat="3"/>
-			<Tool Name="VCManagedResourceCompilerTool"/>
-			<Tool Name="VCResourceCompilerTool"/>
-			<Tool Name="VCPreLinkEventTool"/>
-			<Tool Name="VCLinkerTool" AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib " OutputFile="$(OutDir)/dsfOggDemux2.dll" LinkIncremental="1" AdditionalLibraryDirectories="" ModuleDefinitionFile="dsfOggDemux2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/dsfOggDemux2.lib" TargetMachine="0"/>
-			<Tool Name="VCALinkTool"/>
-			<Tool Name="VCXDCMakeTool"/>
-			<Tool Name="VCBscMakeTool"/>
-			<Tool Name="VCCodeSignTool"/>
-			<Tool Name="VCPostBuildEventTool"/>
-			<DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles=""/>
-			<DebuggerTool/>
+		<Configuration
+			Name="Release_SSE2|Windows Mobile 6 Professional SDK (ARMV4I)"
+			OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BASECLASSES_WINCE)&quot;;..\..\ogg;..\libDirectshowAbstracts;..\..\..\helper"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_WINDOWS;_USRDLL;DSFOGGDEMUX2_EXPORTS;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);$(PLATFORMDEFINES)"
+				ExceptionHandling="2"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="2"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib Ole32.Lib AdvAPI32.Lib OleAut32.Lib user32.lib WSock32.Lib ShLwApi.Lib "
+				OutputFile="$(OutDir)/dsfOggDemux2.dll"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories=""
+				ModuleDefinitionFile="dsfOggDemux2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(OutDir)/dsfOggDemux2.lib"
+				TargetMachine="0"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCCodeSignTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
+			/>
+			<DebuggerTool
+			/>
 		</Configuration>
 	</Configurations>
 	<References>
 	</References>
 	<Files>
-		<Filter Name="Source Files" Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File RelativePath=".\CustomOggChainGranuleSeekTable.cpp">
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\CustomOggChainGranuleSeekTable.cpp"
+				>
 			</File>
-			<File RelativePath=".\DataSourceFactory.cpp">
+			<File
+				RelativePath=".\DataSourceFactory.cpp"
+				>
 			</File>
-			<File RelativePath=".\ds_guids.cpp">
+			<File
+				RelativePath=".\ds_guids.cpp"
+				>
+				<FileConfiguration
+					Name="Release|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="2"
+					/>
+				</FileConfiguration>
 			</File>
-			<File RelativePath=".\dsfOggDemux2.def">
+			<File
+				RelativePath=".\dsfOggDemux2.def"
+				>
 			</File>
-			<File RelativePath=".\FilterFileSource.cpp">
+			<File
+				RelativePath=".\FilterFileSource.cpp"
+				>
 			</File>
-			<File RelativePath=".\HTTPSocket.cpp">
+			<File
+				RelativePath=".\HTTPSocket.cpp"
+				>
 			</File>
-			<File RelativePath=".\HTTPStreamingFileSource.cpp">
+			<File
+				RelativePath=".\HTTPStreamingFileSource.cpp"
+				>
 			</File>
-			<File RelativePath=".\OggDemuxPacketSourceFilter.cpp">
+			<File
+				RelativePath=".\OggDemuxPacketSourceFilter.cpp"
+				>
 			</File>
-			<File RelativePath=".\OggDemuxPacketSourcePin.cpp">
+			<File
+				RelativePath=".\OggDemuxPacketSourcePin.cpp"
+				>
 			</File>
-			<File RelativePath=".\oggdllstuff.cpp">
+			<File
+				RelativePath=".\oggdllstuff.cpp"
+				>
 			</File>
-			<File RelativePath=".\OggStreamMapper.cpp">
+			<File
+				RelativePath=".\OggStreamMapper.cpp"
+				>
 			</File>
-			<File RelativePath=".\RegWrap.cpp">
+			<File
+				RelativePath=".\SingleMediaFileCache.cpp"
+				>
 			</File>
-			<File RelativePath=".\SingleMediaFileCache.cpp">
-			</File>
-			<File RelativePath=".\stdafx.cpp">
-				<FileConfiguration Name="Debug|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+			<File
+				RelativePath=".\stdafx.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE2|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE|Windows Mobile 6 Professional SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE|Windows Mobile 6 Professional SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE2|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE2|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE2|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE2|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE2|Windows Mobile 5.0 Pocket PC SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE2|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE2|Windows Mobile 5.0 Smartphone SDK 2 (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_SSE2|Windows Mobile 6 Professional SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_SSE2|Windows Mobile 6 Professional SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|Pocket PC 2003 (ARMV4)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Pocket PC 2003 (ARMV4)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_CE_ARM|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_CE_ARM|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_CE_ARM|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_CE_ARM|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_WM5_PPC_ARM|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_WM5_PPC_ARM|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_WM5_PPC_ARM|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_WM5_PPC_ARM|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_WM5_PPC_ARM|Win32">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_WM5_PPC_ARM|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_WM5_PPC_ARM|x64">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_WM5_PPC_ARM|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
-				<FileConfiguration Name="Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
-					<Tool Name="VCCLCompilerTool" UsePrecompiledHeader="1"/>
+				<FileConfiguration
+					Name="Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
 				</FileConfiguration>
 			</File>
 		</Filter>
-		<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-			<File RelativePath=".\CustomOggChainGranuleSeekTable.h">
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\CustomOggChainGranuleSeekTable.h"
+				>
 			</File>
-			<File RelativePath=".\DataSourceFactory.h">
+			<File
+				RelativePath=".\DataSourceFactory.h"
+				>
 			</File>
-			<File RelativePath=".\ds_guids.h">
+			<File
+				RelativePath=".\ds_guids.h"
+				>
 			</File>
-			<File RelativePath=".\FilterFileSource.h">
+			<File
+				RelativePath=".\FilterFileSource.h"
+				>
 			</File>
-			<File RelativePath=".\HTTPSocket.h">
+			<File
+				RelativePath=".\HTTPSocket.h"
+				>
 			</File>
-			<File RelativePath=".\HTTPStreamingFileSource.h">
+			<File
+				RelativePath=".\HTTPStreamingFileSource.h"
+				>
 			</File>
-			<File RelativePath=".\ICustomSource.h">
+			<File
+				RelativePath=".\ICustomSource.h"
+				>
 			</File>
-			<File RelativePath=".\IFilterDataSource.h">
+			<File
+				RelativePath=".\IFilterDataSource.h"
+				>
 			</File>
-			<File RelativePath=".\IOggBaseTime.h">
+			<File
+				RelativePath=".\IOggBaseTime.h"
+				>
 			</File>
-			<File RelativePath=".\IOggDecoder.h">
+			<File
+				RelativePath=".\IOggDecoder.h"
+				>
 			</File>
-			<File RelativePath=".\IOggFilterSeeker.h">
+			<File
+				RelativePath=".\IOggFilterSeeker.h"
+				>
 			</File>
-			<File RelativePath=".\IOggOutputPin.h">
+			<File
+				RelativePath=".\IOggOutputPin.h"
+				>
 			</File>
-			<File RelativePath=".\OggDemuxPacketSourceFilter.h">
+			<File
+				RelativePath=".\OggDemuxPacketSourceFilter.h"
+				>
 			</File>
-			<File RelativePath=".\OggDemuxPacketSourcePin.h">
+			<File
+				RelativePath=".\OggDemuxPacketSourcePin.h"
+				>
 			</File>
-			<File RelativePath=".\oggdllstuff.h">
+			<File
+				RelativePath=".\oggdllstuff.h"
+				>
 			</File>
-			<File RelativePath=".\OggStreamMapper.h">
+			<File
+				RelativePath=".\OggStreamMapper.h"
+				>
 			</File>
-			<File RelativePath=".\RegWrap.h">
+			<File
+				RelativePath=".\SingleMediaFileCache.h"
+				>
 			</File>
-			<File RelativePath=".\SingleMediaFileCache.h">
+			<File
+				RelativePath=".\stdafx.h"
+				>
 			</File>
-			<File RelativePath=".\stdafx.h">
-			</File>
 		</Filter>
-		<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
 		</Filter>
-		<File RelativePath=".\ReadMe.txt">
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
 		</File>
-		<File RelativePath="..\..\..\codecs\flac\filters\dsfNativeFLACSource\ReadMe.txt">
+		<File
+			RelativePath="..\..\..\codecs\flac\filters\dsfNativeFLACSource\ReadMe.txt"
+			>
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp	2009-11-15 22:35:31 UTC (rev 16705)
@@ -1,5 +1,6 @@
 //===========================================================================
 //Copyright (C) 2003, 2004, 2005 Zentaro Kavanagh
+//Copyright (C) 2009 Cristian Adam
 //
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
@@ -29,111 +30,26 @@
 //SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 //===========================================================================
 #include "stdafx.h"
+#include "ds_guids.h"
+#include "common/util.h"
 
-#include "oggdllstuff.h"
-#include "RegWrap.h"
+util::ComInitializer g_comInit;
 
-//#define DONT_TOUCH_REGISTRY
-
-
 extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);
+
 BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
 {
+    util::GetHModule() = (HMODULE) hModule;
+
     return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
 }
 
-
-//The folowing two functions do the registration and deregistration of the dll and it's contained com objects.
 STDAPI DllRegisterServer()
 {
-	
-	//TO DO::: Should we be releasing the filter mapper even when we return early ?
-    HRESULT hr;
-
-	//MessageBox(NULL, L"Ogg", L"Ogg", MB_OK);
-    
-	
-#ifdef WINCE
-	hr = AMovieDllRegisterServer();//AMovieDLLRegisterServer(TRUE);
-#else
-    hr = AMovieDllRegisterServer2(TRUE);
-#endif
-	if (FAILED(hr)) {
-		
-        return hr;
-	}
-	
-#ifdef WINCE
-
-#else
-	IFilterMapper2* locFilterMapper = NULL;
-    hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (void **)&locFilterMapper);
-
-	
-	if (FAILED(hr)) {
-        return hr;
-	}
-	
-	hr = locFilterMapper->RegisterFilter(
-		CLSID_OggDemuxPacketSourceFilter,						// Filter CLSID. 
-		L"Ogg Demux Packet Source Filter",							// Filter name.
-        NULL,										// Device moniker. 
-        &CLSID_LegacyAmFilterCategory,				// Direct Show general category
-        NULL,							// Instance data. ???????
-        &OggDemuxPacketSourceFilterReg								// Pointer to filter information.
-    );
-
-#if (!defined(DONT_TOUCH_REGISTRY))
-	//Only call once... if you need multiple you have to fix the hack job in RegWrap !
-	RegWrap::addMediaPlayerDesc(TEXT("Ogg File"),  TEXT("*.ogg;*.ogv;*.oga;*.spx"));
-	RegWrap::deleteKeyRecurse(HKEY_CLASSES_ROOT, TEXT(".OGG"), TEXT("ShellEx"));
-#endif
-
-
-
-
-    locFilterMapper->Release();
-#endif //WINCE
-    return hr;
-
+    return AMovieDllRegisterServer2(TRUE);
 }
 
 STDAPI DllUnregisterServer()
 {
-#if (!defined(DONT_TOUCH_REGISTRY))
-	//This is not a general purpose function.
-	RegWrap::removeMediaDesc();
-#endif
-   HRESULT hr;
-    
-
-#ifdef WINCE
-	hr = AMovieDllUnregisterServer();//AMovieDLLRegisterServer(TRUE);
-#else
-    hr = AMovieDllRegisterServer2(TRUE);
-#endif
-	if (FAILED(hr)) {
-		
-        return hr;
-	}
-#ifdef WINCE
-
-#else
-	IFilterMapper2* locFilterMapper = NULL;
-    hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,
-            IID_IFilterMapper2, (void **)&locFilterMapper);
-
-	if (FAILED(hr)) {
-        return hr;
-	}
-	
-
-    hr = locFilterMapper->UnregisterFilter(&CLSID_LegacyAmFilterCategory, 
-            NULL, CLSID_OggDemuxPacketSourceFilter);
-
-	//
-    locFilterMapper->Release();
-#endif //WINCE
-    return hr;
-
+    return AMovieDllRegisterServer2(FALSE);
 }

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -43,10 +43,6 @@
 #include <streams.h>
 #include <pullpin.h>
 
-#ifndef WINCE
-#include <initguid.h>
-#endif
-
 //#pragma warning( pop )
 
 #ifndef OGGDEMUX_DLL

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/stdafx.h	2009-11-15 22:20:28 UTC (rev 16704)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/stdafx.h	2009-11-15 22:35:31 UTC (rev 16705)
@@ -40,6 +40,8 @@
 // Windows Header Files:
 #include <windows.h>
 
+#include <tchar.h>
+
 // TODO: reference additional headers your program requires here
 #include <vector>
 #include <fstream>
@@ -48,15 +50,13 @@
 
 #include "oggdllstuff.h"
 #include "OggDemuxPacketSourceFilter.h"
-#include "ds_guids.h"
 #include "OggDemuxPacketSourcePin.h"
 
 #include <Dshow.h>
-//#include <Initguid.h>
 #include <Qnetwork.h>
-//#include "OggStreamMapper.h"
-//#include "OggStream.h"
-//#include "StreamHeaders.h"
 
+#include "common/Log.h"
 
+#include <atlbase.h>
+#include <atlcom.h>
 



More information about the commits mailing list