[xiph-commits] r8277 - in trunk/oggdsf: build/oggcodecs docs
sln/oggdsf_all src/lib/codecs/vorbis/filters/dsfVorbisDecoder
src/lib/codecs/vorbis/filters/dsfVorbisEncoder
illiminable at motherfish-iii.xiph.org
illiminable at motherfish-iii.xiph.org
Wed Nov 24 21:17:43 PST 2004
Author: illiminable
Date: 2004-11-24 21:17:42 -0800 (Wed, 24 Nov 2004)
New Revision: 8277
Added:
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/fish_cdecl.h
Modified:
trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
trunk/oggdsf/docs/refactor.txt
trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/fish_cdecl.h
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.cpp
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.h
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h
Log:
* Moved the vorbis encoder filter to the new abstraact filters.
Modified: trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj
===================================================================
--- trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/build/oggcodecs/oggcodecs.vdproj 2004-11-25 05:17:42 UTC (rev 8277)
@@ -100,6 +100,12 @@
"Entry"
{
"MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
+ "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
"OwnerKey" = "8:_408749AC43894882BEEBFF43737E505B"
"MsmSig" = "8:_UNDEFINED"
}
@@ -142,12 +148,6 @@
"Entry"
{
"MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
- "OwnerKey" = "8:_B721259605524EFE965E8E131C1558D5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
"OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
"MsmSig" = "8:_UNDEFINED"
}
@@ -184,12 +184,6 @@
"Entry"
{
"MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
- "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_46A378A9B03E4612A645053EDB884C20"
"OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
"MsmSig" = "8:_UNDEFINED"
}
@@ -286,6 +280,12 @@
"Entry"
{
"MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
+ "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
"OwnerKey" = "8:_FD547F0196C24DFBB9CAFCCEC06561BC"
"MsmSig" = "8:_UNDEFINED"
}
@@ -340,12 +340,6 @@
"Entry"
{
"MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
- "OwnerKey" = "8:_B721259605524EFE965E8E131C1558D5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
"OwnerKey" = "8:_AC8962A7F212481095173AB7C8C89025"
"MsmSig" = "8:_UNDEFINED"
}
@@ -400,12 +394,6 @@
"Entry"
{
"MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
- "OwnerKey" = "8:_58F56CD02F64413B9459F3E151760A57"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_655D5383153A6AB10D15352A7EABCC7A"
"OwnerKey" = "8:_578B89273D59478F861AA5BC3600D074"
"MsmSig" = "8:_UNDEFINED"
}
@@ -531,12 +519,6 @@
}
"Entry"
{
- "MsmKey" = "8:_B721259605524EFE965E8E131C1558D5"
- "OwnerKey" = "8:_UNDEFINED"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -961,7 +943,7 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:oggcodecs"
"ProductCode" = "8:{EDCBAB86-104A-4A03-B7D6-DFD783573933}"
- "PackageCode" = "8:{4203124D-69B4-452A-84A5-5E61391379F3}"
+ "PackageCode" = "8:{8917B814-607E-4991-84A4-A5FA5C4138D0}"
"UpgradeCode" = "8:{1A644FEB-7597-4FAB-AADE-C2C7C64C5984}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
@@ -3317,34 +3299,6 @@
{
}
}
- "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_B721259605524EFE965E8E131C1558D5"
- {
- "SourcePath" = "8:..\\..\\src\\lib\\helper\\libilliCore\\Debug\\libilliCore.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_371AD289B6DB4693BDF7568485051F1E"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- "ProjectOutputGroupRegister" = "3:1"
- "OutputConfiguration" = "8:"
- "OutputGroupCanonicalName" = "8:Built"
- "OutputProjectGuid" = "8:{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
- "ShowKeyOutput" = "11:TRUE"
- "ExcludeFilters"
- {
- }
- }
"{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_C6ED1B8B0AAC495E9D25CDE58FC9E711"
{
"SourcePath" = "8:..\\..\\src\\tools\\OOOggValidate\\Debug\\OOOggValidate.exe"
Modified: trunk/oggdsf/docs/refactor.txt
===================================================================
--- trunk/oggdsf/docs/refactor.txt 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/docs/refactor.txt 2004-11-25 05:17:42 UTC (rev 8277)
@@ -2,8 +2,6 @@
Fix the hardcoded buffer parameters in the decoders
-Fix the leaks caused by the accept media types.
-
Move dsfSeeking to the Abstract DS library for all
Finish converting the encoders to new abstraacts
@@ -13,4 +11,28 @@
Make some of the small libraries static (libilliCore, libOOOggSeeking
, libVorbisComment, libOOOgg??, libCMMLTags, winCMMLParse)
-Check the size by making the runtimes static
\ No newline at end of file
+Check the size by making the runtimes static
+
+Check return values for TransformData (should be HRESULTS now... but won't cause compile error
+ because previously was long which is equivalent)
+
+Why is the vorbis encoder still on __cdecl... that's a sure fire way for stack corruption.
+
+Check case of includes in all libs that may be cross platform
+
+Check magic number usage.
+
+Check exposure of IMediaSeeking on Filters, input pins and encoders... should only be on
+ render filters that wish to seek and output pins.
+
+Do something with the various _cdecl.h files floating around to consolidate them (ie fishsound and theora)
+
+Sort all the GUIDs and format blocks to a common place.
+
+DONE::::
+
+Fix the leaks caused by the accept media types.
+
+Change type of mUptoFrame everywhere to __int64
+
+Check use of mHR which is scattered about the enc/dec filters.
\ No newline at end of file
Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln 2004-11-25 05:17:42 UTC (rev 8277)
@@ -108,10 +108,9 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfVorbisEncoder", "..\..\src\lib\codecs\vorbis\filters\dsfVorbisEncoder\dsfVorbisEncoder.vcproj", "{D74A626E-C8CB-4787-913E-2E637FC04F2B}"
ProjectSection(ProjectDependencies) = postProject
{223ACC19-608E-4E1B-A054-067F0CACB272} = {223ACC19-608E-4E1B-A054-067F0CACB272}
- {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}
{AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4} = {AE0ABDB0-AE3B-4C38-843B-3408A6B87BA4}
+ {EA7091BB-9906-41DF-9738-F4858A136086} = {EA7091BB-9906-41DF-9738-F4858A136086}
{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
EndProjectSection
EndProject
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/fish_cdecl.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/fish_cdecl.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/fish_cdecl.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -43,3 +43,5 @@
int __cdecl fish_sound_get_interleave (FishSound * fsound);
int __cdecl fish_sound_set_interleave (FishSound * fsound, int interleave);
+
+long __cdecl fish_sound_get_frameno (FishSound * fsound);
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.cpp 2004-11-25 05:17:42 UTC (rev 8277)
@@ -60,9 +60,10 @@
}
VorbisEncodeFilter::VorbisEncodeFilter(void)
- : AbstractAudioEncodeFilter(NAME("Vorbis Encoder"), CLSID_VorbisEncodeFilter, AbstractAudioEncodeFilter::VORBIS)
+ : AbstractTransformFilter(NAME("Vorbis Encoder"), CLSID_VorbisEncodeFilter)
{
bool locWasConstructed = ConstructPins();
+ //Error checks ??
}
VorbisEncodeFilter::~VorbisEncodeFilter(void)
@@ -71,14 +72,34 @@
bool VorbisEncodeFilter::ConstructPins()
{
+ //Inputs Audio / PCM / WaveFormatEx
+ //Outputs Audio / Vorbis / Vorbis
- CMediaType* locOutputMediaType = new CMediaType(&MEDIATYPE_Audio);
- locOutputMediaType->subtype = MEDIASUBTYPE_Vorbis;
- locOutputMediaType->formattype = FORMAT_Vorbis;
+ //Vector to hold our set of media types we want to accept.
+ vector<CMediaType*> locAcceptableTypes;
+
+ //Setup the media types for the output pin.
+ CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio); //Deleted in pin destructor
+ locAcceptMediaType->subtype = MEDIASUBTYPE_Vorbis;
+ locAcceptMediaType->formattype = FORMAT_Vorbis;
+
+ locAcceptableTypes.push_back(locAcceptMediaType);
+
//Output pin must be done first because it's passed to the input pin.
- mOutputPin = new VorbisEncodeOutputPin(this, m_pLock, locOutputMediaType);
+ mOutputPin = new VorbisEncodeOutputPin(this, m_pLock, locAcceptableTypes); //Deleted in base class destructor
+ //Clear out the vector, now we've already passed it to the output pin.
+ locAcceptableTypes.clear();
+
+ //Setup the media Types for the input pin.
+ locAcceptMediaType = NULL;
+ locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio); //Deleted by pin
+
+ locAcceptMediaType->subtype = MEDIASUBTYPE_PCM;
+ locAcceptMediaType->formattype = FORMAT_WaveFormatEx;
+
+ locAcceptableTypes.push_back(locAcceptMediaType);
- mInputPin = new VorbisEncodeInputPin(this, m_pLock, mOutputPin);
+ mInputPin = new VorbisEncodeInputPin(this, m_pLock, mOutputPin, locAcceptableTypes); //Deleted in base class filter destructor.
return true;
}
\ No newline at end of file
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeFilter.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -31,29 +31,70 @@
#pragma once
+//Local Includes
#include "vorbisencoderdllstuff.h"
-#include "AbstractAudioEncodeFilter.h"
+//External Includes
+#include "AbstractTransformFilter.h"
+
//Forward Declarations
struct sVorbisFormatBlock;
class VorbisEncodeInputPin;
class VorbisEncodeOutputPin;
class VorbisEncodeFilter
- : public AbstractAudioEncodeFilter
+ : public AbstractTransformFilter
{
public:
+ //Friend Classes
friend class VorbisEncodeInputPin;
friend class VorbisEncodeOutputPin;
+
+ //Constructors
VorbisEncodeFilter(void);
virtual ~VorbisEncodeFilter(void);
+ //COM Creator function
static CUnknown* WINAPI VorbisEncodeFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
- //PURE VIRTUAL IMPLEMENTATION
+protected:
+
+ //Implementation of pure virtuals from AbstractTransformFilter
virtual bool ConstructPins();
-protected:
+ //Member data
sVorbisFormatBlock mVorbisFormatBlock;
};
+
+
+//Old imp
+//*************************************
+//#pragma once
+//
+//#include "vorbisencoderdllstuff.h"
+//#include "AbstractAudioEncodeFilter.h"
+//
+////Forward Declarations
+//struct sVorbisFormatBlock;
+//class VorbisEncodeInputPin;
+//class VorbisEncodeOutputPin;
+//
+//class VorbisEncodeFilter
+// : public AbstractAudioEncodeFilter
+//{
+//public:
+// friend class VorbisEncodeInputPin;
+// friend class VorbisEncodeOutputPin;
+// VorbisEncodeFilter(void);
+// virtual ~VorbisEncodeFilter(void);
+//
+// static CUnknown* WINAPI VorbisEncodeFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
+//
+// //PURE VIRTUAL IMPLEMENTATION
+// virtual bool ConstructPins();
+//
+//protected:
+// sVorbisFormatBlock mVorbisFormatBlock;
+//
+//};
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.cpp 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.cpp 2004-11-25 05:17:42 UTC (rev 8277)
@@ -29,12 +29,16 @@
//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================
+
+
#include "StdAfx.h"
-#include "vorbisencodeinputpin.h"
+#include "VorbisEncodeInputPin.h"
-VorbisEncodeInputPin::VorbisEncodeInputPin(AbstractAudioEncodeFilter* inParentFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin)
- : AbstractAudioEncodeInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("VorbisEncodeInputPin"), L"PCM In")
+VorbisEncodeInputPin::VorbisEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes)
+ : AbstractTransformInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("VorbisEncodeInputPin"), L"PCM In", inAcceptableMediaTypes)
, mFishSound(NULL)
+ , mWaveFormat(NULL)
+ , mUptoFrame(0)
{
}
@@ -46,23 +50,13 @@
//PURE VIRTUALS
-long VorbisEncodeInputPin::encodeData(unsigned char* inBuf, long inNumBytes) {
-
-
-
+HRESULT VorbisEncodeInputPin::TransformData(unsigned char* inBuf, long inNumBytes)
+{
float* locFloatBuf = new float[inNumBytes/2];
short locTempShort = 0;
float locTempFloat = 0;
- //__int64 locGranPos = 0;
- //locGranPos = fish_sound_get_frameno(mFishSound);
- //Removed the hack
- //fish_sound_command(mFishSound, 7, &locGranPos, sizeof(__int64));
- //
-
- //mUptoFrame = locGranPos;
- //__int64 locTemp = ((FishSoundVorbisInfo*)mFishSound->codec_data)->vd.pcm_returned;
for (int i = 0; i < inNumBytes; i += 2) {
locTempShort = *((short*)(inBuf + i));
locTempFloat = (float)locTempShort;
@@ -102,7 +96,8 @@
return true;
}
-void VorbisEncodeInputPin::DestroyCodec() {
+void VorbisEncodeInputPin::DestroyCodec()
+{
fish_sound_delete(mFishSound);
mFishSound = NULL;
}
@@ -116,7 +111,7 @@
VorbisEncodeFilter* locFilter = reinterpret_cast<VorbisEncodeFilter*>(locThis->m_pFilter);
- //Time stamps are granule pos not directshow times
+ //Time stamps are granule pos not directshow times - granule pos in vorbis is equivalent to frame number
LONGLONG locFrameStart = locThis->mUptoFrame;
LONGLONG locFrameEnd = locThis->mUptoFrame
@@ -150,7 +145,7 @@
//Add a reference so it isn't deleted en route.
//locSample->AddRef();
- HRESULT locHR = locThis->mOutputPin->mDataQueue->Receive(locSample); //->DownstreamFilter()->Receive(locSample);
+ HRESULT locHR = ((VorbisEncodeOutputPin*)(locThis->mOutputPin))->mDataQueue->Receive(locSample); //->DownstreamFilter()->Receive(locSample);
if (locHR != S_OK) {
} else {
@@ -165,11 +160,171 @@
HRESULT VorbisEncodeInputPin::SetMediaType(const CMediaType* inMediaType) {
- AbstractAudioEncodeInputPin::SetMediaType(inMediaType);
+ if ( (inMediaType->subtype == MEDIASUBTYPE_PCM) &&
+ (inMediaType->formattype == FORMAT_WaveFormatEx)) {
+ mWaveFormat = (WAVEFORMATEX*)inMediaType->pbFormat;
+ //mParentFilter->mAudioFormat = AbstractAudioDecodeFilter::VORBIS;
+ } else {
+ //Failed... should never be here !
+ throw 0;
+ }
+ //This is here and not the constructor because we need audio params from the
+ // input pin to construct properly.
ConstructCodec();
+ return CBaseInputPin::SetMediaType(inMediaType);
+
+
+
return S_OK;
-}
\ No newline at end of file
+}
+
+//Old impl
+//************************************
+//#include "StdAfx.h"
+//#include "vorbisencodeinputpin.h"
+//
+//VorbisEncodeInputPin::VorbisEncodeInputPin(AbstractAudioEncodeFilter* inParentFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin)
+// : AbstractAudioEncodeInputPin(inParentFilter, inFilterLock, inOutputPin, NAME("VorbisEncodeInputPin"), L"PCM In")
+// , mFishSound(NULL)
+//{
+//
+//}
+//
+//VorbisEncodeInputPin::~VorbisEncodeInputPin(void)
+//{
+// DestroyCodec();
+//}
+//
+//
+////PURE VIRTUALS
+//long VorbisEncodeInputPin::encodeData(unsigned char* inBuf, long inNumBytes) {
+//
+//
+//
+//
+// float* locFloatBuf = new float[inNumBytes/2];
+// short locTempShort = 0;
+// float locTempFloat = 0;
+//
+// //__int64 locGranPos = 0;
+// //locGranPos = fish_sound_get_frameno(mFishSound);
+// //Removed the hack
+// //fish_sound_command(mFishSound, 7, &locGranPos, sizeof(__int64));
+// //
+//
+// //mUptoFrame = locGranPos;
+// //__int64 locTemp = ((FishSoundVorbisInfo*)mFishSound->codec_data)->vd.pcm_returned;
+// for (int i = 0; i < inNumBytes; i += 2) {
+// locTempShort = *((short*)(inBuf + i));
+// locTempFloat = (float)locTempShort;
+// locTempFloat /= 32767.0;
+// locFloatBuf[i/2] = locTempFloat;;
+// }
+// //FIX::: The 2 is the size of a sample ie 16 bits
+// long locErr = fish_sound_encode(mFishSound, (float**)locFloatBuf, inNumBytes/(mFishInfo.channels*2));
+// delete[] locFloatBuf;
+// //FIX::: Do something here ?
+// if (locErr < 0) {
+//
+// } else {
+//
+// }
+// return locErr;
+//}
+//bool VorbisEncodeInputPin::ConstructCodec() {
+// mFishInfo.channels = mWaveFormat->nChannels;
+// mFishInfo.format = FISH_SOUND_VORBIS;
+// mFishInfo.samplerate = mWaveFormat->nSamplesPerSec;
+//
+// mFishInfo.format = FISH_SOUND_VORBIS;
+// mFishSound = fish_sound_new (FISH_SOUND_ENCODE, &mFishInfo);
+//
+// //Change to fill in vorbis format block so muxer can work
+// ((VorbisEncodeFilter*)mParentFilter)->mVorbisFormatBlock.numChannels = mWaveFormat->nChannels;
+// ((VorbisEncodeFilter*)mParentFilter)->mVorbisFormatBlock.samplesPerSec = mWaveFormat->nSamplesPerSec;
+// //
+//
+// int i = 1;
+// //FIX::: Use new API for interleave setting
+// fish_sound_command(mFishSound, FISH_SOUND_SET_INTERLEAVE, &i, sizeof(int));
+//
+// fish_sound_set_encoded_callback (mFishSound, VorbisEncodeInputPin::VorbisEncoded, this);
+// //FIX::: Proper return value
+// return true;
+//
+//}
+//void VorbisEncodeInputPin::DestroyCodec() {
+// fish_sound_delete(mFishSound);
+// mFishSound = NULL;
+//}
+//
+//
+////Encoded callback
+//int VorbisEncodeInputPin::VorbisEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer)
+//{
+//
+// VorbisEncodeInputPin* locThis = reinterpret_cast<VorbisEncodeInputPin*> (inThisPointer);
+// VorbisEncodeFilter* locFilter = reinterpret_cast<VorbisEncodeFilter*>(locThis->m_pFilter);
+//
+//
+// //Time stamps are granule pos not directshow times
+//
+// LONGLONG locFrameStart = locThis->mUptoFrame;
+// LONGLONG locFrameEnd = locThis->mUptoFrame
+// = fish_sound_get_frameno(locThis->mFishSound);
+// //Get a pointer to a new sample stamped with our time
+// IMediaSample* locSample;
+// HRESULT locHR = locThis->mOutputPin->GetDeliveryBuffer(&locSample, &locFrameStart, &locFrameEnd, NULL);
+//
+// if (FAILED(locHR)) {
+// //We get here when the application goes into stop mode usually.
+// return locHR;
+// }
+//
+// BYTE* locBuffer = NULL;
+//
+//
+// //Make our pointers set to point to the samples buffer
+// locSample->GetPointer(&locBuffer);
+//
+//
+//
+// if (locSample->GetSize() >= inNumBytes) {
+//
+// memcpy((void*)locBuffer, (const void*)inPacketData, inNumBytes);
+//
+// //Set the sample parameters.
+// locThis->SetSampleParams(locSample, inNumBytes, &locFrameStart, &locFrameEnd);
+//
+// {
+// CAutoLock locLock(locThis->m_pLock);
+//
+// //Add a reference so it isn't deleted en route.
+// //locSample->AddRef();
+// HRESULT locHR = locThis->mOutputPin->mDataQueue->Receive(locSample); //->DownstreamFilter()->Receive(locSample);
+// if (locHR != S_OK) {
+//
+// } else {
+// }
+// }
+//
+// return 0;
+// } else {
+// throw 0;
+// }
+//}
+//
+//
+//HRESULT VorbisEncodeInputPin::SetMediaType(const CMediaType* inMediaType) {
+// AbstractAudioEncodeInputPin::SetMediaType(inMediaType);
+//
+// ConstructCodec();
+//
+//
+// return S_OK;
+//
+//}
\ No newline at end of file
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeInputPin.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -31,38 +31,84 @@
#pragma once
-#include "AbstractAudioEncodeInputPin.h"
+#include "AbstractTransformInputPin.h"
#include "VorbisEncodeInputPin.h"
#include "VorbisEncodeFilter.h"
extern "C" {
-#include <fishsound/fishsound.h>
-//#include <../src/libfishsound/private.h>
+//#include <fishsound/fishsound.h>
+#include "fish_cdecl.h"
}
class VorbisEncodeInputPin
- : public AbstractAudioEncodeInputPin
+ : public AbstractTransformInputPin
{
public:
- VorbisEncodeInputPin(AbstractAudioEncodeFilter* inFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin);
+ VorbisEncodeInputPin(AbstractTransformFilter* inParentFilter, CCritSec* inFilterLock, AbstractTransformOutputPin* inOutputPin, vector<CMediaType*> inAcceptableMediaTypes);
virtual ~VorbisEncodeInputPin(void);
- static int VorbisEncodeInputPin::VorbisEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer) ;
- //PURE VIRTUALS
- virtual long encodeData(unsigned char* inBuf, long inNumBytes);
+ static int __cdecl VorbisEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer) ;
+
+ virtual HRESULT SetMediaType(const CMediaType* inMediaType);
+
+protected:
+
+ //Implementation of codec specific pure virtuals from AbstractTransformInputPin
+ virtual HRESULT TransformData(unsigned char* inBuf, long inNumBytes);
virtual bool ConstructCodec();
virtual void DestroyCodec();
- virtual HRESULT SetMediaType(const CMediaType* inMediaType);
-protected:
+ //Member data
HRESULT mHR;
bool mBegun;
- //VorbisDecodeOutputPin* mOutputPin;
- //__int64 mUptoFrame;
+ WAVEFORMATEX* mWaveFormat;
+ __int64 mUptoFrame;
+ //Fishsound member data
FishSound* mFishSound;
- FishSoundInfo mFishInfo;
+ FishSoundInfo mFishInfo;
};
+
+
+//Old imp
+//****************************************************
+//#pragma once
+//
+//#include "AbstractAudioEncodeInputPin.h"
+//#include "VorbisEncodeInputPin.h"
+//
+//#include "VorbisEncodeFilter.h"
+//
+//extern "C" {
+//#include <fishsound/fishsound.h>
+////#include <../src/libfishsound/private.h>
+//}
+//
+//class VorbisEncodeInputPin
+// : public AbstractAudioEncodeInputPin
+//{
+//public:
+// VorbisEncodeInputPin(AbstractAudioEncodeFilter* inFilter, CCritSec* inFilterLock, AbstractAudioEncodeOutputPin* inOutputPin);
+// virtual ~VorbisEncodeInputPin(void);
+//
+// static int VorbisEncodeInputPin::VorbisEncoded (FishSound* inFishSound, unsigned char* inPacketData, long inNumBytes, void* inThisPointer) ;
+// //PURE VIRTUALS
+// virtual long encodeData(unsigned char* inBuf, long inNumBytes);
+// virtual bool ConstructCodec();
+// virtual void DestroyCodec();
+// virtual HRESULT SetMediaType(const CMediaType* inMediaType);
+//
+//protected:
+// HRESULT mHR;
+// bool mBegun;
+// //VorbisDecodeOutputPin* mOutputPin;
+// //__int64 mUptoFrame;
+//
+// FishSound* mFishSound;
+// FishSoundInfo mFishInfo;
+//
+//
+//};
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.cpp 2004-11-25 05:17:42 UTC (rev 8277)
@@ -29,11 +29,12 @@
//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================
+
#include "StdAfx.h"
-#include "vorbisencodeoutputpin.h"
+#include "VorbisEncodeOutputPin.h"
-VorbisEncodeOutputPin::VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter,CCritSec* inFilterLock, CMediaType* inOutputMediaType)
- : AbstractAudioEncodeOutputPin(inParentFilter, inFilterLock,NAME("VorbisDecodeOutputPin"), L"Vorbis Out", inOutputMediaType)
+VorbisEncodeOutputPin::VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter,CCritSec* inFilterLock, vector<CMediaType*> inAcceptableMediaTypes)
+ : AbstractTransformOutputPin(inParentFilter, inFilterLock,NAME("VorbisDecodeOutputPin"), L"Vorbis Out", 65536, 5, inAcceptableMediaTypes)
{
}
@@ -41,11 +42,51 @@
{
}
-bool VorbisEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
- VorbisEncodeFilter* locParentFilter = (VorbisEncodeFilter*)mParentFilter;
- memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mVorbisFormatBlock), sizeof(sVorbisFormatBlock));
- return true;
+HRESULT VorbisEncodeOutputPin::CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition)
+{
+ if (inPosition == 0) {
+ sVorbisFormatBlock* locVorbisFormat = (sVorbisFormatBlock*)outMediaType->AllocFormatBuffer(sizeof(sVorbisFormatBlock));
+ //TODO::: Check for null ?
+
+ memcpy((void*)locVorbisFormat, (const void*) &(((VorbisEncodeFilter*)mParentFilter)->mVorbisFormatBlock), sizeof(sVorbisFormatBlock));
+ return S_OK;
+ } else {
+ return S_FALSE;
+ }
}
-unsigned long VorbisEncodeOutputPin::FormatBufferSize() {
- return sizeof(sVorbisFormatBlock);
-}
+
+
+//bool VorbisEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
+// VorbisEncodeFilter* locParentFilter = (VorbisEncodeFilter*)mParentFilter;
+// memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mVorbisFormatBlock), sizeof(sVorbisFormatBlock));
+// return true;
+//}
+//unsigned long VorbisEncodeOutputPin::FormatBufferSize() {
+// return sizeof(sVorbisFormatBlock);
+//}
+
+
+
+
+//Old imp
+//*********************************************
+//#include "StdAfx.h"
+//#include "vorbisencodeoutputpin.h"
+//
+//VorbisEncodeOutputPin::VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter,CCritSec* inFilterLock, CMediaType* inOutputMediaType)
+// : AbstractAudioEncodeOutputPin(inParentFilter, inFilterLock,NAME("VorbisDecodeOutputPin"), L"Vorbis Out", inOutputMediaType)
+//{
+//}
+//
+//VorbisEncodeOutputPin::~VorbisEncodeOutputPin(void)
+//{
+//}
+//
+//bool VorbisEncodeOutputPin::FillFormatBuffer(BYTE* inFormatBuffer) {
+// VorbisEncodeFilter* locParentFilter = (VorbisEncodeFilter*)mParentFilter;
+// memcpy((void*)inFormatBuffer, (const void*) &(locParentFilter->mVorbisFormatBlock), sizeof(sVorbisFormatBlock));
+// return true;
+//}
+//unsigned long VorbisEncodeOutputPin::FormatBufferSize() {
+// return sizeof(sVorbisFormatBlock);
+//}
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/VorbisEncodeOutputPin.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -32,23 +32,54 @@
#pragma once
#include "vorbisencoderdllstuff.h"
-#include "AbstractAudioEncodeOutputPin.h"
+#include "AbstractTransformOutputPin.h"
class VorbisEncodeFilter;
struct sVorbisFormatBlock;
class VorbisEncodeOutputPin
- : public AbstractAudioEncodeOutputPin
+ : public AbstractTransformOutputPin
{
public:
- VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter, CCritSec* inFilterLock, CMediaType* inOutputMediaType);
+
+ friend class VorbisEncodeInputPin;
+
+ VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter, CCritSec* inFilterLock, vector<CMediaType*> inAcceptabletMediaTypes);
virtual ~VorbisEncodeOutputPin(void);
//PURE VIRTUAL IMPLEMENTATION
- virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
- virtual unsigned long FormatBufferSize();
+ //virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
+ //virtual unsigned long FormatBufferSize();
protected:
+ virtual HRESULT CreateAndFillFormatBuffer(CMediaType* outMediaType, int inPosition);
};
+
+
+//Old impl
+//*********************************************
+//#pragma once
+//
+//#include "vorbisencoderdllstuff.h"
+//#include "AbstractAudioEncodeOutputPin.h"
+//
+//class VorbisEncodeFilter;
+//struct sVorbisFormatBlock;
+//
+//class VorbisEncodeOutputPin
+// : public AbstractAudioEncodeOutputPin
+//{
+//public:
+// VorbisEncodeOutputPin(VorbisEncodeFilter* inParentFilter, CCritSec* inFilterLock, CMediaType* inOutputMediaType);
+// virtual ~VorbisEncodeOutputPin(void);
+//
+// //PURE VIRTUAL IMPLEMENTATION
+// virtual bool FillFormatBuffer(BYTE* inFormatBuffer);
+// virtual unsigned long FormatBufferSize();
+//
+//
+//protected:
+//
+//};
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/dsfVorbisEncoder.vcproj 2004-11-25 05:17:42 UTC (rev 8277)
@@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@@ -28,7 +28,7 @@
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"
- CallingConvention="0"/>
+ CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -80,7 +80,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
- AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"
@@ -89,7 +89,7 @@
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="0"
- CallingConvention="0"/>
+ CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -143,7 +143,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
- AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"
@@ -153,7 +153,7 @@
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="0"
- CallingConvention="0"/>
+ CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -207,7 +207,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
- AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\dsfAbstractAudioEncoder;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\core\directshow\dsfSeeking;..\..\..\..\helper\libilliCore"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\..\..\core\directshow\libDirectshowAbstracts;..\..\..\..\core\ogg\libOOOgg;..\..\..\helper\libfishsound\include;..\..\..\helper\libfishsound\win32;..\..\..\..\helper\libilliCore"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVORBISENCODER_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="2"
@@ -217,7 +217,7 @@
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="0"
- CallingConvention="0"/>
+ CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
@@ -309,6 +309,9 @@
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc">
<File
+ RelativePath=".\fish_cdecl.h">
+ </File>
+ <File
RelativePath="stdafx.h">
</File>
<File
Added: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/fish_cdecl.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/fish_cdecl.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/fish_cdecl.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -0,0 +1,47 @@
+#include <fishsound/constants.h>
+typedef struct {
+ int samplerate;
+ int channels;
+ int format;
+} FishSoundInfo;
+typedef struct {
+ int format;
+ const char * name;
+ const char * extension;
+} FishSoundFormat;
+
+typedef void * FishSound;
+typedef int (__cdecl *FishSoundDecoded) (FishSound * fsound, float ** pcm,
+ long frames, void * user_data);
+typedef int (__cdecl *FishSoundEncoded) (FishSound * fsound, unsigned char * buf,
+ long bytes, void * user_data);
+int __cdecl fish_sound_identify (unsigned char * buf, long bytes);
+
+FishSound * __cdecl fish_sound_new (int mode, FishSoundInfo * fsinfo);
+
+int __cdecl fish_sound_set_decoded_callback (FishSound * fsound,
+ FishSoundDecoded decoded,
+ void * user_data);
+
+int __cdecl fish_sound_set_encoded_callback (FishSound * fsound,
+ FishSoundEncoded encoded,
+ void * user_data);
+
+long __cdecl fish_sound_decode (FishSound * fsound, unsigned char * buf, long bytes);
+
+long __cdecl fish_sound_encode (FishSound * fsound, float ** pcm, long frames);
+
+long __cdecl fish_sound_flush (FishSound * fsound);
+
+int __cdecl fish_sound_reset (FishSound * fsound);
+
+int __cdecl fish_sound_delete (FishSound * fsound);
+
+int __cdecl fish_sound_command (FishSound * fsound, int command, void * data,
+ int datasize);
+
+int __cdecl fish_sound_get_interleave (FishSound * fsound);
+
+int __cdecl fish_sound_set_interleave (FishSound * fsound, int interleave);
+
+long __cdecl fish_sound_get_frameno (FishSound * fsound);
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h 2004-11-24 11:59:35 UTC (rev 8276)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisEncoder/vorbisencoderdllstuff.h 2004-11-25 05:17:42 UTC (rev 8277)
@@ -31,13 +31,13 @@
#pragma once
-#ifdef DSFABSTRACOGGAUDIODECODER_EXPORTS
-#pragma message("----> Exporting from Abstract Library...")
-#define ABS_AUDIO_DEC_API __declspec(dllexport)
-#else
-#pragma message("<---- Importing from Abstract Library...")
-#define ABS_AUDIO_DEC_API __declspec(dllimport)
-#endif
+//#ifdef DSFABSTRACOGGAUDIODECODER_EXPORTS
+//#pragma message("----> Exporting from Abstract Library...")
+//#define ABS_AUDIO_DEC_API __declspec(dllexport)
+//#else
+//#pragma message("<---- Importing from Abstract Library...")
+//#define ABS_AUDIO_DEC_API __declspec(dllimport)
+//#endif
struct sVorbisFormatBlock {
unsigned long vorbisVersion;
@@ -48,9 +48,9 @@
unsigned char numChannels;
};
-#include "AbstractAudioEncodeFilter.h"
-#include "AbstractAudioEncodeInputPin.h"
-#include "AbstractAudioEncodeOutputPin.h"
+#include "AbstractTransformFilter.h"
+#include "AbstractTransformInputPin.h"
+#include "AbstractTransformOutputPin.h"
#include "VorbisEncodeInputPin.h"
#include "VorbisEncodeOutputPin.h"
#include "VorbisEncodeFilter.h"
More information about the commits
mailing list