[xiph-commits] r7273 - in trunk/oggdsf: sln/oggdsf_all

illiminable at dactyl.lonelymoon.com illiminable
Thu Jul 22 22:26:36 PDT 2004


src/lib/codecs/flac/filters/dsfFLACEncoder
Message-ID: <20040723052636.6E9EB9AAAB at dactyl.lonelymoon.com>

Author: illiminable
Date: Thu Jul 22 22:26:36 2004
New Revision: 7273

Modified:
trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
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/dsfFLACEncoder.vcproj
trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
Log:
* Added more flac specific code.
* Fixed some build settings, include paths etc.
* Added GUIDs

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-07-23 04:56:06 UTC (rev 7272)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-07-23 05:26:34 UTC (rev 7273)
@@ -1034,6 +1034,9 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfFLACEncoder", "..\..\src\lib\codecs\flac\filters\dsfFLACEncoder\dsfFLACEncoder.vcproj", "{7143478E-0C1A-4C8B-B12C-4BFEF591F36F}"
ProjectSection(ProjectDependencies) = postProject
+		{4906E533-2864-4840-ABC1-00CD844623EB} = {4906E533-2864-4840-ABC1-00CD844623EB}
+		{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
+		{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
EndProjectSection
EndProject
Global

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-07-23 04:56:06 UTC (rev 7272)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.cpp	2004-07-23 05:26:34 UTC (rev 7273)
@@ -165,7 +165,24 @@
//	}
//}

+::FLAC__StreamEncoderWriteStatus FLACEncodeInputPin::write_callback(const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame) {
+
+	//This is called back with encoded data after raw data is fed in by stream_encoder_process or
+	// stream_encoder_process_interleaved.
+}
+void FLACEncodeInputPin::metadata_callback(const ::FLAC__StreamMetadata *metadata) {
+	//This is called back at the *end* of encoding with the headers that need to be written at the *start* of the stream.
+	//This is going to make it painful to get the data to the mux filter in multi stream ogg.
+	//It's basically going to totally break the mux filter stream abstraction,
+	//by forcing yet more codec specific code into the mux.
+	//Oh well... if you're going to break it... break it good !

+	//It also makes it impractical for streaming as decode can't begin without metadata, and metadata
+	// is not created until all encoding is finished. I guess that's not such a big deal
+	// because flac is unlikely to be streamed live.
+}
+
+
HRESULT FLACEncodeInputPin::SetMediaType(const CMediaType* inMediaType) {
AbstractAudioEncodeInputPin::SetMediaType(inMediaType);


Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-07-23 04:56:06 UTC (rev 7272)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/FLACEncodeInputPin.h	2004-07-23 05:26:34 UTC (rev 7273)
@@ -31,7 +31,7 @@

#pragma once

-
+#include "FLAC++/encoder.h"
#include "AbstractAudioEncodeInputPin.h"
#include "FLACEncodeInputPin.h"

@@ -56,7 +56,11 @@
virtual ~FLACEncodeInputPin(void);

//static int FLACEncodeInputPin::FLACEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer) ;
-	//PURE VIRTUALS
+	//PURE VIRTUALS from Flac Encoder
+	virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame);
+	virtual void metadata_callback(const ::FLAC__StreamMetadata *metadata);
+
+	//PURE VIRTUALS from Abstract Encoder
virtual long encodeData(unsigned char* inBuf, long inNumBytes);
virtual bool ConstructCodec();
virtual void DestroyCodec();

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-07-23 04:56:06 UTC (rev 7272)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/dsfFLACEncoder.vcproj	2004-07-23 05:26:34 UTC (rev 7273)
@@ -19,6 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -31,8 +32,10 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
+				AdditionalDependencies="Strmbase.lib Winmm.lib Strmiids.lib  Quartz.lib"
OutputFile="$(OutDir)/dsfFLACEncoder.dll"
LinkIncremental="2"
+				AdditionalLibraryDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug&quot;"
ModuleDefinitionFile="flacencoder.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/dsfFLACEncoder.pdb"
@@ -68,6 +71,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\..\core\directshow\dsfSeeking;..\..\libs\libflac\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFFLACENCODER_EXPORTS"
RuntimeLibrary="0"
UsePrecompiledHeader="3"
@@ -80,6 +84,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/dsfFLACEncoder.dll"
LinkIncremental="1"
+				AdditionalLibraryDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release&quot;"
ModuleDefinitionFile="flacencoder.def"
GenerateDebugInformation="TRUE"
SubSystem="2"

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-07-23 04:56:06 UTC (rev 7272)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfFLACEncoder/flacencoderdllstuff.h	2004-07-23 05:26:34 UTC (rev 7273)
@@ -126,3 +126,7 @@
};


+struct sFLACFormatBlock {
+
+
+};



More information about the commits mailing list