[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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug""
ModuleDefinitionFile="flacencoder.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/dsfFLACEncoder.pdb"
@@ -68,6 +71,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";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=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release""
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