[xiph-commits] r7947 - in trunk/oggdsf: sln/oggdsf_all src/lib/codecs/flac/filters/dsfFLACEncoder src/lib/codecs/flac/libs src/lib/codecs/flac/libs/libFLACHelper src/lib/core/directshow/dsfOggMux

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Sat Oct 9 06:49:32 PDT 2004


Author: illiminable
Date: 2004-10-09 06:49:31 -0700 (Sat, 09 Oct 2004)
New Revision: 7947

Added:
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.cpp
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.h
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/ReadMe.txt
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/libFLACHelper.vcproj
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.cpp
   trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.h
Modified:
   trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
Log:
* Helper class to do header jimmying for flac.
* New GUID to distinguish new FLAC from FLAC classic.

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-10-09 13:49:31 UTC (rev 7947)
@@ -1189,6 +1189,10 @@
 		{AD2DC5BB-AC7B-482D-9472-19BB98A833CE} = {AD2DC5BB-AC7B-482D-9472-19BB98A833CE}
 	EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libFLACHelper", "..\..\src\lib\codecs\flac\libs\libFLACHelper\libFLACHelper.vcproj", "{7F213248-16F2-4AAE-B941-C402670082BC}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfiguration) = preSolution
 		Debug = Debug
@@ -2316,6 +2320,22 @@
 		{190C8AE5-75B0-4714-BC0A-4992F3524F35}.Release_SSE.Build.0 = Release|Win32
 		{190C8AE5-75B0-4714-BC0A-4992F3524F35}.Release_SSE2.ActiveCfg = Release|Win32
 		{190C8AE5-75B0-4714-BC0A-4992F3524F35}.Release_SSE2.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Debug.ActiveCfg = Debug|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Debug.Build.0 = Debug|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Debug Unicode.ActiveCfg = Debug|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Debug Unicode.Build.0 = Debug|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.MakeFile.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.MakeFile.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release Unicode.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release Unicode.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_NoDotNET.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_NoDotNET.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_SSE.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_SSE.Build.0 = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_SSE2.ActiveCfg = Release|Win32
+		{7F213248-16F2-4AAE-B941-C402670082BC}.Release_SSE2.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionItems) = postSolution
 	EndGlobalSection

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeFilter.cpp	2004-10-09 13:49:31 UTC (rev 7947)
@@ -75,7 +75,7 @@
 {
 
 	CMediaType* locOutputMediaType = new CMediaType(&MEDIATYPE_Audio);
-	locOutputMediaType->subtype = MEDIASUBTYPE_FLAC;
+	locOutputMediaType->subtype = MEDIASUBTYPE_OggFLAC_1_0;
 	locOutputMediaType->formattype = FORMAT_FLAC;
 	//Output pin must be done first because it's passed to the input pin.
 	mOutputPin = new FLACEncodeOutputPin(this, m_pLock, locOutputMediaType);

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-10-09 13:49:31 UTC (rev 7947)
@@ -34,6 +34,8 @@
 
 FLACEncodeInputPin::FLACEncodeInputPin(AbstractAudioEncodeFilter* inParentFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin)
 	:	AbstractAudioEncodeInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("FLACEncodeInputPin"), L"PCM In")
+	,	mTweakedHeaders(false)
+	,	mHeadersSeen(0)
 	
 {
 	//debugLog.open("C:\\temp\\FLACenc.log", ios_base::out);
@@ -204,6 +206,40 @@
 	//This is called back with encoded data after raw data is fed in by stream_encoder_process or
 	// stream_encoder_process_interleaved.
 
+	//if (mHeadersSeen == 0) {
+	//	//We haven't converted the headers yet
+	//	//This should be a 4 byte fLaC
+	//	ASSERT (inNumBytes == 4);
+	//	mHeadersSeen ++;
+	//	//Do nothing.
+	//	return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+	//} else if (mHeadersSeen == 1) {
+	//	//This should be the stream info header
+
+	//	//Get a pointer to a new sample stamped with our time
+	//	IMediaSample* locSample;
+	//	HRESULT locHR = mOutputPin->GetDeliveryBuffer(&locSample, &locFrameStart, &locFrameEnd, NULL);
+
+	//	if (FAILED(locHR)) {
+	//		//We get here when the application goes into stop mode usually.
+	//		//locThis->debugLog<<"Getting buffer failed"<<endl;
+	//		return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
+	//	}	
+	//	
+	//	BYTE* locBuffer = NULL;
+
+	//	//Make our pointers set to point to the samples buffer
+	//	locSample->GetPointer(&locBuffer);
+
+	//	locBuffer[0] = '\177';
+	//	locBuffer[1] = 'F';
+	//	locBuffer[2] = 'L';
+	//	locBuffer[3] = 'A';
+	//	locBuffer[4] = 'C';
+	//	locBuffer[5] = 1;
+	//	locBuffer[6] = 0;
+
+
 	LONGLONG locFrameStart = mUptoFrame;
 	if (inNumSamples != 0) {
 		mUptoFrame += inNumSamples;

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-10-09 13:49:31 UTC (rev 7947)
@@ -71,6 +71,8 @@
 protected:
 	HRESULT mHR;
 	
+	bool mTweakedHeaders;
+	unsigned long mHeadersSeen;
 	//bool mBegun;
 	//SpeexDecodeOutputPin* mOutputPin;
 	//__int64 mUptoFrame;

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-10-09 13:49:31 UTC (rev 7947)
@@ -65,6 +65,10 @@
 DEFINE_GUID(MEDIASUBTYPE_FLAC, 
 0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
 
+// {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
+DEFINE_GUID(MEDIASUBTYPE_OggFLAC_1_0, 
+0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
+
 // {77E3A6A3-2A24-43fa-B929-00747E4B560B}
 DEFINE_GUID(CLSID_FLACEncodeFilter, 
 0x77e3a6a3, 0x2a24, 0x43fa, 0xb9, 0x29, 0x0, 0x74, 0x7e, 0x4b, 0x56, 0xb);
@@ -76,6 +80,7 @@
 
 
 
+
 const REGPINTYPES FLACEncodeInputTypes = {
     &MEDIATYPE_Audio,
 	&MEDIASUBTYPE_PCM
@@ -83,7 +88,7 @@
 
 const REGPINTYPES FLACEncodeOutputTypes = {
 	&MEDIATYPE_Audio,
-	&MEDIASUBTYPE_FLAC
+	&MEDIASUBTYPE_OggFLAC_1_0
 };
 
 const REGFILTERPINS FLACEncodePinReg[] = {

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.cpp	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.cpp	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,136 @@
+#include "StdAfx.h"
+#include ".\flacheadertweaker.h"
+
+FLACHeaderTweaker::FLACHeaderTweaker(void)
+	:	mSeenAllHeaders(false)
+
+{
+}
+
+FLACHeaderTweaker::~FLACHeaderTweaker(void)
+{
+	deleteOldHeaders();
+	deleteNewHeaders();
+}
+
+FLACHeaderTweaker::eFLACAcceptHeaderResult FLACHeaderTweaker::acceptHeader(OggPacket* inHeader) {
+	const unsigned char MORE_HEADERS_MASK = 128;
+	if (!mSeenAllHeaders) {
+		
+		mOldHeaderList.push_back(inHeader);
+		if ((inHeader->packetData()[0] & MORE_HEADERS_MASK)  != 0) {
+			//Last header
+			mSeenAllHeaders = true;
+			if (createNewHeaderList()) {
+				return LAST_HEADER_ACCEPTED;
+			} else {
+				return HEADER_ERROR;
+			}
+		} else {
+			//Still more headers to come...
+			return HEADER_ACCEPTED;
+		}
+	} else {
+		return ALL_HEADERS_ALREADY_SEEN;
+	}
+
+}
+
+bool FLACHeaderTweaker::createNewHeaderList() {
+	
+	
+	
+	unsigned char* locFirstPackBuff = new unsigned char[51];
+	locFirstPackBuff[0] = '\177';
+	locFirstPackBuff[1] = 'F';
+	locFirstPackBuff[2] = 'L';
+	locFirstPackBuff[3] = 'A';
+	locFirstPackBuff[4] = 'C';
+	locFirstPackBuff[5] = 1;
+	locFirstPackBuff[6] = 0;
+	locFirstPackBuff[7] = 0; //Num header HIGH BYTE
+	locFirstPackBuff[8] = mOldHeaderList.size() - 1; //Num headers LOW BYTE
+	locFirstPackBuff[9] = 'f';
+	locFirstPackBuff[10] = 'L';
+	locFirstPackBuff[11] = 'a';
+	locFirstPackBuff[12] = 'C';
+
+	memcpy((void*)(locFirstPackBuff + 13), (const void*) mOldHeaderList[1]->packetData(), 38);
+
+	mNewHeaderList.empty();
+	mNewHeaderList.clear();
+	mNewHeaderList.push_back(new OggPacket(locFirstPackBuff, 51, false, false));
+	locFirstPackBuff = NULL;
+
+	bool locFoundComment = false;
+	int locCommentNo = -1;
+
+	//Start at 2, 0 is just fLaC, 1 is the stream info
+	for (int i = 2; i < mOldHeaderList.size(); i++) {
+		//Loop through to find the comment packet...
+		if ( (( (mOldHeaderList[i]->packetData()[0]) << 1) >> 1) == 4) {
+			//It's the comment packet.
+			locFoundComment = true;
+			locCommentNo = i;
+			mNewHeaderList.push_back(mOldHeaderList[i]->clone());
+		}
+	}
+
+	if (locFoundComment != true) {
+		//Maybe make one... for now bail out !
+		throw 0;
+	}
+
+	for (int i = 2; i < mOldHeaderList.size(); i++) {
+		if (i != locFoundComment) {
+			//If it's not the comment packet we already added, put it in the list.
+			mNewHeaderList.push_back(mOldHeaderList[i]->clone());
+		}
+	}
+
+	for (int i = 1; i < mNewHeaderList.size(); i++) {
+		//Loop through the new headers and make sure the flags are set right.
+		if (i != mNewHeaderList.size() -1) {
+			//Clear the first bit
+			mNewHeaderList[i]->packetData()[0] = mNewHeaderList[i]->packetData()[0] & 127;
+		} else {
+			//Set the first bit on the last header
+			mNewHeaderList[i]->packetData()[0] = mNewHeaderList[i]->packetData()[0] | 128;
+		}
+	}
+
+	deleteOldHeaders();
+
+	return true;
+
+
+}
+
+void FLACHeaderTweaker::deleteOldHeaders() {
+	int locSize = mOldHeaderList.size();
+	for (int i = 0; i < locSize; i++) {
+		delete mOldHeaderList[i];		
+	}
+
+	mOldHeaderList.empty();
+}
+
+void FLACHeaderTweaker::deleteNewHeaders() {
+	int locSize = mNewHeaderList.size();
+	for (int i = 0; i < locSize; i++) {
+		delete mNewHeaderList[i];		
+	}
+
+	mNewHeaderList.empty();
+}
+
+unsigned long FLACHeaderTweaker::numNewHeaders() {
+	return mNewHeaderList.size();
+}
+OggPacket* FLACHeaderTweaker::getHeader(unsigned long inHeaderNo) {
+	if (inHeaderNo < mNewHeaderList.size() ) {
+		return mNewHeaderList[inHeaderNo];
+	} else {
+		return NULL;
+	}
+}
\ No newline at end of file

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.h	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/FLACHeaderTweaker.h	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,34 @@
+#pragma once
+#include "dllstuff.h"
+#include "OggPacket.h"
+#include <vector>
+using namespace std;
+class FLACHeaderTweaker
+{
+public:
+	FLACHeaderTweaker(void);
+	~FLACHeaderTweaker(void);
+
+	enum eFLACAcceptHeaderResult {
+		HEADER_ACCEPTED = 0,
+		LAST_HEADER_ACCEPTED = 1,
+		HEADER_ERROR = 100,
+		ALL_HEADERS_ALREADY_SEEN = 101
+	};
+
+	 eFLACAcceptHeaderResult acceptHeader(OggPacket* inHeader);
+
+	 unsigned long numNewHeaders();
+	 OggPacket* getHeader(unsigned long inHeaderNo);
+protected:
+	 bool createNewHeaderList();
+	 void deleteOldHeaders();
+	 void deleteNewHeaders();
+
+
+	vector<OggPacket*> mOldHeaderList;
+	vector<OggPacket*> mNewHeaderList;
+
+
+	bool mSeenAllHeaders;
+};

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/ReadMe.txt
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/ReadMe.txt	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/ReadMe.txt	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,29 @@
+========================================================================
+    STATIC LIBRARY : libFLACHelper Project Overview
+========================================================================
+
+AppWizard has created this libFLACHelper library project for you. 
+This file contains a summary of what you will find in each of the files that
+make up your libFLACHelper application.
+
+
+libFLACHelper.vcproj
+    This is the main project file for VC++ projects generated using an Application Wizard. 
+    It contains information about the version of Visual C++ that generated the file, and 
+    information about the platforms, configurations, and project features selected with the
+    Application Wizard.
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named libFLACHelper.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/libFLACHelper.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/libFLACHelper.vcproj	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/libFLACHelper.vcproj	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.10"
+	Name="libFLACHelper"
+	ProjectGUID="{7F213248-16F2-4AAE-B941-C402670082BC}"
+	Keyword="Win32Proj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="4"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\..\..\..\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="TRUE"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="5"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="4"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLibrarianTool"
+				OutputFile="$(OutDir)/libFLACHelper.lib"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="4"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="..\..\..\..\core\ogg\libOOOgg;..\..\..\..\helper\libilliCore"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="4"
+				UsePrecompiledHeader="3"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="3"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLibrarianTool"
+				OutputFile="$(OutDir)/libFLACHelper.lib"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+			<File
+				RelativePath=".\FLACHeaderTweaker.cpp">
+			</File>
+			<File
+				RelativePath=".\stdafx.cpp">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+			<File
+				RelativePath=".\FLACHeaderTweaker.h">
+			</File>
+			<File
+				RelativePath=".\stdafx.h">
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.cpp	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.cpp	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libFLACHelper.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Added: trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.h	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libFLACHelper/stdafx.h	2004-10-09 13:49:31 UTC (rev 7947)
@@ -0,0 +1,11 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+
+// TODO: reference additional headers your program requires here

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h	2004-10-09 10:49:39 UTC (rev 7946)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h	2004-10-09 13:49:31 UTC (rev 7947)
@@ -82,6 +82,9 @@
 DEFINE_GUID(FORMAT_FLAC, 
 0x1cdc48ac, 0x4c24, 0x4b8b, 0x98, 0x2b, 0x70, 0x7, 0xa2, 0x9d, 0x83, 0xc4);
 
+// {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
+DEFINE_GUID(FORMAT_OggFLAC_1_0, 
+0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
 
 // {05187161-5C36-4324-A734-22BF37509F2D}
 DEFINE_GUID(CLSID_TheoraDecodeFilter, 



More information about the commits mailing list