diff options
author | miwi <miwi@FreeBSD.org> | 2006-09-02 03:49:07 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2006-09-02 03:49:07 +0800 |
commit | 7e252369c0d2bf0d7f9b732e74b5f33fc33d5bb8 (patch) | |
tree | ce3e42c11d1f00d2555204f4fe387c82fcbcec16 /audio/dream | |
parent | 1620d3318b841f9e78d40219d5a02a29fc769c46 (diff) | |
download | freebsd-ports-gnome-7e252369c0d2bf0d7f9b732e74b5f33fc33d5bb8.tar.gz freebsd-ports-gnome-7e252369c0d2bf0d7f9b732e74b5f33fc33d5bb8.tar.zst freebsd-ports-gnome-7e252369c0d2bf0d7f9b732e74b5f33fc33d5bb8.zip |
Dream is a software implementation of a Digital Radio Mondiale (DRM) receiver.
All you need to receive DRM transmissions is a PC with a sound card and a
modified analog short-wave (MW, LW) receiver.
WWW: http://drm.sourceforge.net/
PR: ports/102761
Submitted by: Soeren Straarup <xride(at)x12.dk>
Diffstat (limited to 'audio/dream')
-rw-r--r-- | audio/dream/Makefile | 35 | ||||
-rw-r--r-- | audio/dream/distinfo | 3 | ||||
-rw-r--r-- | audio/dream/files/patch-Buffer.h | 166 | ||||
-rw-r--r-- | audio/dream/files/patch-Modul.h | 403 | ||||
-rw-r--r-- | audio/dream/files/patch-Vector.h | 180 | ||||
-rw-r--r-- | audio/dream/pkg-descr | 5 |
6 files changed, 792 insertions, 0 deletions
diff --git a/audio/dream/Makefile b/audio/dream/Makefile new file mode 100644 index 000000000000..3db4580d5ed7 --- /dev/null +++ b/audio/dream/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: Dream DRM Receiver +# Date created: 1st september 2006 +# Whom: Soeren Straaarup <xride@x12.dk> +# +# $FreeBSD$ + +PORTNAME= dream +PORTVERSION= 1.2.4 +CATEGORIES= audio +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= drm +DISTNAME= drm-${PORTVERSION} + +MAINTAINER= xride@x12.dk +COMMENT= Digital Radio Mondiale (DRM) software receiver + +LIB_DEPENDS= fftw.2:${PORTSDIR}/math/fftw \ + qwt.4:${PORTSDIR}/x11-toolkits/qwt \ + faad.0:${PORTSDIR}/audio/faad + +USE_X_PREFIX= yes +USE_QT_VER= 3 +GNU_CONFIGURE= yes +CONFIGURE_ENV= CXXFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \ + LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" QTDIR="${QT_PREFIX}" + +PLIST_FILES= bin/drm + +post-patch: + @${REINPLACE_CMD} -e 's|/usr/include/qwt|${LOCALBASE}/include/qwt|g' ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|<linux/soundcard.h>|<sys/soundcard.h>|g' ${WRKSRC}/linux/source/sound.cpp + @${REINPLACE_CMD} -e 's|neaacdec.h|faad.h|g' ${WRKSRC}/common/sourcedecoders/AudioSourceDecoder.cpp + @${REINPLACE_CMD} -e 's|DRMCH_SBR_PS_STEREO|DRMCH_SBR_STEREO|g' ${WRKSRC}/common/sourcedecoders/AudioSourceDecoder.cpp + +.include <bsd.port.mk> diff --git a/audio/dream/distinfo b/audio/dream/distinfo new file mode 100644 index 000000000000..6dbbccd2c262 --- /dev/null +++ b/audio/dream/distinfo @@ -0,0 +1,3 @@ +MD5 (drm-1.2.4.tar.gz) = 55b219cc30b0999ebf66c458b74fe2f2 +SHA256 (drm-1.2.4.tar.gz) = 85c34ab4c543f107aa4b8d7ba91a12672f847366fa6559b0c997c87073604ea1 +SIZE (drm-1.2.4.tar.gz) = 686118 diff --git a/audio/dream/files/patch-Buffer.h b/audio/dream/files/patch-Buffer.h new file mode 100644 index 000000000000..3046f17445b5 --- /dev/null +++ b/audio/dream/files/patch-Buffer.h @@ -0,0 +1,166 @@ +=================================================================== +RCS file: /cvsroot/drm/drm/common/util/Buffer.h,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -u -r1.1 -r1.2 +--- common/util/Buffer.h 2005/05/18 07:50:28 1.1 ++++ common/util/Buffer.h 2005/09/08 16:22:18 1.2 +@@ -71,7 +71,7 @@ + + virtual void Init(const int iNewBufferSize); + virtual CVectorEx<TData>* Get(const int iRequestedSize); +- virtual CVectorEx<TData>* QueryWriteBuffer() {return &vecBuffer;} ++ virtual CVectorEx<TData>* QueryWriteBuffer() {return &(this->vecBuffer);} + virtual void Put(const int iOfferedSize); + virtual void Clear() {iFillLevel = 0;} + virtual int GetFillLevel() const {return iFillLevel;} +@@ -123,7 +123,7 @@ + template<class TData> void CSingleBuffer<TData>::Init(const int iNewBufferSize) + { + /* Only initialize buffer when size has changed, otherwise preserve data */ +- if (iNewBufferSize != iBufferSize) ++ if (iNewBufferSize != this->iBufferSize) + { + CBuffer<TData>::Init(iNewBufferSize); + +@@ -146,7 +146,7 @@ + /* Block is read, buffer is now empty again */ + iFillLevel -= iRequestedSize; + +- return &vecBuffer; ++ return &(this->vecBuffer); + } + + template<class TData> void CSingleBuffer<TData>::Put(const int iOfferedSize) +@@ -170,7 +170,7 @@ + template<class TData> void CCyclicBuffer<TData>::Init(const int iNewBufferSize) + { + /* Only initialize buffer when size has changed, otherwise preserve data */ +- if (iNewBufferSize != iBufferSize) ++ if (iNewBufferSize != this->iBufferSize) + { + CBuffer<TData>::Init(iNewBufferSize); + +@@ -191,7 +191,7 @@ + iPut = 0; + iGet = 0; + iBufferState = BS_EMPTY; +- bRequestFlag = FALSE; ++ this->bRequestFlag = FALSE; + } + + template<class TData> CVectorEx<TData>* CCyclicBuffer<TData>::Get(const int iRequestedSize) +@@ -204,7 +204,7 @@ + iAvailSpace = iPut - iGet; + /* Test if wrap is needed */ + if ((iAvailSpace < 0) || ((iAvailSpace == 0) && (iBufferState == BS_FULL))) +- iAvailSpace += iBufferSize; ++ iAvailSpace += this->iBufferSize; + + #ifdef _DEBUG_ + if (iAvailSpace < iRequestedSize) +@@ -219,17 +219,17 @@ + iElementCount = 0; + + /* Test if data can be read in one block */ +- if (iBufferSize - iGet < iRequestedSize) ++ if (this->iBufferSize - iGet < iRequestedSize) + { + /* Data must be read in two portions */ +- for (i = iGet; i < iBufferSize; i++) ++ for (i = iGet; i < this->iBufferSize; i++) + { +- vecInOutBuffer[iElementCount] = vecBuffer[i]; ++ vecInOutBuffer[iElementCount] = this->vecBuffer[i]; + iElementCount++; + } +- for (i = 0; i < iRequestedSize - iBufferSize + iGet; i++) ++ for (i = 0; i < iRequestedSize - this->iBufferSize + iGet; i++) + { +- vecInOutBuffer[iElementCount] = vecBuffer[i]; ++ vecInOutBuffer[iElementCount] = this->vecBuffer[i]; + iElementCount++; + } + } +@@ -238,15 +238,15 @@ + /* Data can be read in one block */ + for (i = iGet; i < iGet + iRequestedSize; i++) + { +- vecInOutBuffer[iElementCount] = vecBuffer[i]; ++ vecInOutBuffer[iElementCount] = this->vecBuffer[i]; + iElementCount++; + } + } + + /* Adjust iGet pointer */ + iGet += iRequestedSize; +- if (iGet >= iBufferSize) +- iGet -= iBufferSize; ++ if (iGet >= this->iBufferSize) ++ iGet -= this->iBufferSize; + + /* Test if buffer is empty. If yes, set empty-flag */ + if ((iGet == iPut) && (iRequestedSize > 0)) +@@ -265,7 +265,7 @@ + iAvailSpace = iGet - iPut; + /* Test if wrap is needed */ + if ((iAvailSpace < 0) || ((iAvailSpace == 0) && (iBufferState == BS_EMPTY))) +- iAvailSpace += iBufferSize; ++ iAvailSpace += this->iBufferSize; + + #ifdef _DEBUG_ + if (iAvailSpace < iOfferedSize) +@@ -280,17 +280,17 @@ + iElementCount = 0; + + /* Test if data can be written in one block */ +- if (iBufferSize - iPut < iOfferedSize) ++ if (this->iBufferSize - iPut < iOfferedSize) + { + /* Data must be written in two steps */ +- for (i = iPut; i < iBufferSize; i++) ++ for (i = iPut; i < this->iBufferSize; i++) + { +- vecBuffer[i] = vecInOutBuffer[iElementCount]; ++ this->vecBuffer[i] = vecInOutBuffer[iElementCount]; + iElementCount++; + } +- for (i = 0; i < iOfferedSize - iBufferSize + iPut; i++) ++ for (i = 0; i < iOfferedSize - this->iBufferSize + iPut; i++) + { +- vecBuffer[i] = vecInOutBuffer[iElementCount]; ++ this->vecBuffer[i] = vecInOutBuffer[iElementCount]; + iElementCount++; + } + } +@@ -299,15 +299,15 @@ + /* Data can be written in one block */ + for (i = iPut; i < iPut + iOfferedSize; i++) + { +- vecBuffer[i] = vecInOutBuffer[iElementCount]; ++ this->vecBuffer[i] = vecInOutBuffer[iElementCount]; + iElementCount++; + } + } + + /* Adjust iPut pointer */ + iPut += iOfferedSize; +- if (iPut >= iBufferSize) +- iPut -= iBufferSize; ++ if (iPut >= this->iBufferSize) ++ iPut -= this->iBufferSize; + + /* Test if buffer is full. If yes, set full-flag */ + if ((iGet == iPut) && (iOfferedSize > 0)) +@@ -322,9 +322,9 @@ + Take into account the flag-information (full or empty buffer) */ + iFillLevel = iPut - iGet; + if ((iFillLevel == 0) && (iBufferState == BS_FULL)) +- iFillLevel = iBufferSize; ++ iFillLevel = this->iBufferSize; + if (iFillLevel < 0) +- iFillLevel += iBufferSize; /* Wrap around */ ++ iFillLevel += this->iBufferSize; /* Wrap around */ + + return iFillLevel; + } diff --git a/audio/dream/files/patch-Modul.h b/audio/dream/files/patch-Modul.h new file mode 100644 index 000000000000..c93d9827a1d0 --- /dev/null +++ b/audio/dream/files/patch-Modul.h @@ -0,0 +1,403 @@ +=================================================================== +RCS file: /cvsroot/drm/drm/common/util/Modul.h,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -u -r1.1 -r1.2 +--- common/util/Modul.h 2005/05/18 07:50:28 1.1 ++++ common/util/Modul.h 2005/09/08 16:22:18 1.2 +@@ -217,7 +217,7 @@ + + /* Implementation *************************************************************/ + /******************************************************************************\ +-* CModul * ++* CModul * + \******************************************************************************/ + template<class TInput, class TOutput> + CModul<TInput, TOutput>::CModul() +@@ -302,7 +302,7 @@ + + + /******************************************************************************\ +-* Transmitter modul (CTransmitterModul) * ++* Transmitter modul (CTransmitterModul) * + \******************************************************************************/ + template<class TInput, class TOutput> + CTransmitterModul<TInput, TOutput>::CTransmitterModul() +@@ -347,7 +347,7 @@ + if (OutputBuffer.GetRequestFlag() == TRUE) + { + /* Check, if enough input data is available */ +- if (InputBuffer.GetFillLevel() < iInputBlockSize) ++ if (InputBuffer.GetFillLevel() < this->iInputBlockSize) + { + /* Set request flag */ + InputBuffer.SetRequestFlag(TRUE); +@@ -356,19 +356,20 @@ + } + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Copy extended data from vectors */ +- (*pvecOutputData).SetExData((*pvecInputData).GetExData()); ++ (*(this->pvecOutputData)). ++ SetExData((*(this->pvecInputData)).GetExData()); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + + /* Data was provided, clear data request */ + OutputBuffer.SetRequestFlag(FALSE); +@@ -389,7 +390,7 @@ + if (OutputBuffer.GetRequestFlag() == TRUE) + { + /* Check, if enough input data is available from all sources */ +- if (InputBuffer.GetFillLevel() < iInputBlockSize) ++ if (InputBuffer.GetFillLevel() < this->iInputBlockSize) + { + /* Set request flag */ + InputBuffer.SetRequestFlag(TRUE); +@@ -412,18 +413,18 @@ + } + + /* Get vectors from transfer-buffers */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + pvecInputData2 = InputBuffer2.Get(iInputBlockSize2); + pvecInputData3 = InputBuffer3.Get(iInputBlockSize3); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + + /* Data was provided, clear data request */ + OutputBuffer.SetRequestFlag(FALSE); +@@ -440,13 +441,13 @@ + { + /* Read data and write it in the transfer-buffer. + Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + + /* Data was provided, clear data request */ + OutputBuffer.SetRequestFlag(FALSE); +@@ -459,7 +460,7 @@ + { + /* OUTPUT-DRIVEN modul implementation in the transmitter */ + /* Check, if enough input data is available */ +- if (InputBuffer.GetFillLevel() < iInputBlockSize) ++ if (InputBuffer.GetFillLevel() < this->iInputBlockSize) + { + /* Set request flag */ + InputBuffer.SetRequestFlag(TRUE); +@@ -468,17 +469,17 @@ + } + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + return TRUE; + } + + + /******************************************************************************\ +-* Receiver modul (CReceiverModul) * ++* Receiver modul (CReceiverModul) * + \******************************************************************************/ + template<class TInput, class TOutput> + CReceiverModul<TInput, TOutput>::CReceiverModul() +@@ -593,7 +594,7 @@ + } + + /* Special case if input block size is zero */ +- if (iInputBlockSize == 0) ++ if (this->iInputBlockSize == 0) + { + InputBuffer.Clear(); + +@@ -605,21 +606,22 @@ + _BOOLEAN bEnoughData = FALSE; + + /* Check if enough data is available in the input buffer for processing */ +- if (InputBuffer.GetFillLevel() >= iInputBlockSize) ++ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Copy extended data from vectors */ +- (*pvecOutputData).SetExData((*pvecInputData).GetExData()); ++ (*(this->pvecOutputData)). ++ SetExData((*(this->pvecInputData)).GetExData()); + + /* Call the underlying processing-routine */ +- ProcessDataThreadSave(Parameter); ++ this->ProcessDataThreadSave(Parameter); + + /* Reset output-buffers if flag was set by processing routine */ + if (bResetBuf == TRUE) +@@ -631,7 +633,7 @@ + else + { + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + } + +@@ -662,19 +664,19 @@ + + /* INPUT-DRIVEN modul implementation in the receiver -------------------- */ + /* Check if enough data is available in the input buffer for processing */ +- if (InputBuffer.GetFillLevel() >= iInputBlockSize) ++ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + pvecOutputData2 = OutputBuffer2.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataThreadSave(Parameter); ++ this->ProcessDataThreadSave(Parameter); + + /* Reset output-buffers if flag was set by processing routine */ + if (bResetBuf == TRUE) +@@ -686,7 +688,7 @@ + else + { + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + + if (bResetBuf2 == TRUE) +@@ -730,20 +732,20 @@ + + /* INPUT-DRIVEN modul implementation in the receiver -------------------- */ + /* Check if enough data is available in the input buffer for processing */ +- if (InputBuffer.GetFillLevel() >= iInputBlockSize) ++ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + pvecOutputData2 = OutputBuffer2.QueryWriteBuffer(); + pvecOutputData3 = OutputBuffer3.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataThreadSave(Parameter); ++ this->ProcessDataThreadSave(Parameter); + + /* Reset output-buffers if flag was set by processing routine */ + if (bResetBuf == TRUE) +@@ -755,7 +757,7 @@ + else + { + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + + if (bResetBuf2 == TRUE) +@@ -805,10 +807,10 @@ + + /* INPUT-DRIVEN modul implementation in the receiver -------------------- */ + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataThreadSave(Parameter); ++ this->ProcessDataThreadSave(Parameter); + + /* Reset output-buffers if flag was set by processing routine */ + if (bResetBuf == TRUE) +@@ -820,7 +822,7 @@ + else + { + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + } + +@@ -842,7 +844,7 @@ + } + + /* Special case if input block size is zero and buffer, too */ +- if ((InputBuffer.GetFillLevel() == 0) && (iInputBlockSize == 0)) ++ if ((InputBuffer.GetFillLevel() == 0) && (this->iInputBlockSize == 0)) + { + InputBuffer.Clear(); + return FALSE; +@@ -853,15 +855,15 @@ + _BOOLEAN bEnoughData = FALSE; + + /* Check if enough data is available in the input buffer for processing */ +- if (InputBuffer.GetFillLevel() >= iInputBlockSize) ++ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Call the underlying processing-routine */ +- ProcessDataThreadSave(Parameter); ++ this->ProcessDataThreadSave(Parameter); + } + + return bEnoughData; +@@ -869,7 +871,7 @@ + + + /******************************************************************************\ +-* Simulation modul (CSimulationModul) * ++* Simulation modul (CSimulationModul) * + \******************************************************************************/ + template<class TInput, class TOutput, class TInOut2> + CSimulationModul<TInput, TOutput, TInOut2>::CSimulationModul() +@@ -929,7 +931,7 @@ + { + /* TransferData needed for simulation */ + /* Check, if enough input data is available */ +- if (InputBuffer.GetFillLevel() < iInputBlockSize) ++ if (InputBuffer.GetFillLevel() < this->iInputBlockSize) + { + /* Set request flag */ + InputBuffer.SetRequestFlag(TRUE); +@@ -938,16 +940,16 @@ + } + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + + template<class TInput, class TOutput, class TInOut2> +@@ -961,26 +963,27 @@ + _BOOLEAN bEnoughData = FALSE; + + /* Check if enough data is available in the input buffer for processing */ +- if ((InputBuffer.GetFillLevel() >= iInputBlockSize) && ++ if ((InputBuffer.GetFillLevel() >= this->iInputBlockSize) && + (InputBuffer2.GetFillLevel() >= iInputBlockSize2)) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + pvecInputData2 = InputBuffer2.Get(iInputBlockSize2); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + + /* Copy extended data from FIRST input vector (definition!) */ +- (*pvecOutputData).SetExData((*pvecInputData).GetExData()); ++ (*(this->pvecOutputData)). ++ SetExData((*(this->pvecInputData)).GetExData()); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffer */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + } + + return bEnoughData; +@@ -997,22 +1000,22 @@ + _BOOLEAN bEnoughData = FALSE; + + /* Check if enough data is available in the input buffer for processing */ +- if (InputBuffer.GetFillLevel() >= iInputBlockSize) ++ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize) + { + bEnoughData = TRUE; + + /* Get vector from transfer-buffer */ +- pvecInputData = InputBuffer.Get(iInputBlockSize); ++ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize); + + /* Query vector from output transfer-buffer for writing */ +- pvecOutputData = OutputBuffer.QueryWriteBuffer(); ++ this->pvecOutputData = OutputBuffer.QueryWriteBuffer(); + pvecOutputData2 = OutputBuffer2.QueryWriteBuffer(); + + /* Call the underlying processing-routine */ +- ProcessDataInternal(Parameter); ++ this->ProcessDataInternal(Parameter); + + /* Write processed data from internal memory in transfer-buffers */ +- OutputBuffer.Put(iOutputBlockSize); ++ OutputBuffer.Put(this->iOutputBlockSize); + OutputBuffer2.Put(iOutputBlockSize2); + } + diff --git a/audio/dream/files/patch-Vector.h b/audio/dream/files/patch-Vector.h new file mode 100644 index 000000000000..ebeae46480c5 --- /dev/null +++ b/audio/dream/files/patch-Vector.h @@ -0,0 +1,180 @@ +=================================================================== +RCS file: /cvsroot/drm/drm/common/util/Vector.h,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- common/util/Vector.h 2005/06/29 21:21:25 1.2 ++++ common/util/Vector.h 2005/09/08 16:22:18 1.3 +@@ -39,7 +39,7 @@ + template<class TData> class CVector : public vector<TData> + { + public: +- CVector() : pData(begin()), iBitArrayCounter(0), iVectorSize(0) {} ++ CVector() : iBitArrayCounter(0), iVectorSize(0) {pData = this->begin();} + CVector(const int iNeSi) {Init(iNeSi);} + CVector(const int iNeSi, const TData tInVa) {Init(iNeSi, tInVa);} + virtual ~CVector() {} +@@ -49,8 +49,8 @@ + pointer must be set to the new data source. The bit access is, by + default, reset */ + CVector(const CVector<TData>& vecI) : +- vector<TData>(static_cast<const vector<TData>&>(vecI)), +- iVectorSize(vecI.Size()), pData(begin()), iBitArrayCounter(0) {} ++ vector<TData>(static_cast<const vector<TData>&>(vecI)), ++ iVectorSize(vecI.Size()), iBitArrayCounter(0) {pData = this->begin();} + + virtual void Init(const int iNewSize); + +@@ -87,7 +87,7 @@ + + inline CVector<TData>& operator=(const CVector<TData>& vecI) { + #ifdef _DEBUG_ +- /* Vectors which shall be copied MUST have same size! (If this is ++ /* Vectors which shall be copied MUST have same size! (If this is + satisfied, the parameter "iVectorSize" must not be adjusted as + a side effect) */ + if (vecI.Size() != iVectorSize) +@@ -100,7 +100,7 @@ + + /* Reset my data pointer in case, the operator=() of the base class + did change the actual memory */ +- pData = begin(); ++ pData = this->begin(); + + return *this; + } +@@ -125,9 +125,9 @@ + + /* Clear old buffer and reserve memory for new buffer, get iterator + for pointer operations */ +- clear(); +- resize(iNewSize); +- pData = begin(); ++ this->clear(); ++ this->resize(iNewSize); ++ pData = this->begin(); + } + + template<class TData> void CVector<TData>::Init(const int iNewSize, +@@ -143,11 +143,11 @@ + template<class TData> void CVector<TData>::Enlarge(const int iAddedSize) + { + iVectorSize += iAddedSize; +- resize(iVectorSize); ++ this->resize(iVectorSize); + + /* We have to reset the pointer since it could be that the vector size was + zero before enlarging the vector */ +- pData = begin(); ++ pData = this->begin(); + } + + template<class TData> void CVector<TData>::Reset(const TData tResetVal) +@@ -224,21 +224,21 @@ + template<class TData> void CShiftRegister<TData>::AddBegin(const TData tNewD) + { + /* Shift old values */ +- for (int i = iVectorSize - 1; i > 0; i--) +- pData[i] = pData[i - 1]; ++ for (int i = this->iVectorSize - 1; i > 0; i--) ++ this->pData[i] = this->pData[i - 1]; + + /* Add new value */ +- pData[0] = tNewD; ++ this->pData[0] = tNewD; + } + + template<class TData> void CShiftRegister<TData>::AddEnd(const TData tNewD) + { + /* Shift old values */ +- for (int i = 0; i < iVectorSize - 1; i++) +- pData[i] = pData[i + 1]; ++ for (int i = 0; i < this->iVectorSize - 1; i++) ++ this->pData[i] = this->pData[i + 1]; + + /* Add new value */ +- pData[iVectorSize - 1] = tNewD; ++ this->pData[this->iVectorSize - 1] = tNewD; + } + + template<class TData> void CShiftRegister<TData>::AddEnd(const CVector<TData>& vectNewD, +@@ -246,16 +246,16 @@ + { + int i, iBlockEnd, iMovLen; + +- iBlockEnd = iVectorSize - iLen; ++ iBlockEnd = this->iVectorSize - iLen; + iMovLen = iLen; + + /* Shift old values */ + for (i = 0; i < iBlockEnd; i++) +- pData[i] = pData[iMovLen++]; ++ this->pData[i] = this->pData[iMovLen++]; + + /* Add new block of data */ + for (i = 0; i < iLen; i++) +- pData[iBlockEnd++] = vectNewD[i]; ++ this->pData[iBlockEnd++] = vectNewD[i]; + } + + +@@ -271,7 +271,7 @@ + CVector<TData>(iNeSi, tInVa), iCurIdx(0) {} + + void Add(const TData tNewD); +- inline TData Get() {return pData[iCurIdx];} ++ inline TData Get() {return this->pData[iCurIdx];} + + virtual void Init(const int iNewSize); + virtual void Init(const int iNewSize, const TData tIniVal); +@@ -295,11 +295,11 @@ + + template<class TData> void CFIFO<TData>::Add(const TData tNewD) + { +- pData[iCurIdx] = tNewD; ++ this->pData[iCurIdx] = tNewD; + + /* Increment index */ + iCurIdx++; +- if (iCurIdx >= iVectorSize) ++ if (iCurIdx >= this->iVectorSize) + iCurIdx = 0; + } + +@@ -334,7 +334,7 @@ + + /* Init each vector in vector */ + for (int i = 0; i < iNewSize; i++) +- pData[i].Init(iNewVecSize, 0); ++ this->pData[i].Init(iNewVecSize, 0); + + /* Init current average result */ + tCurAvResult.Init(iNewVecSize, 0); +@@ -355,15 +355,15 @@ + history buffer + */ + /* Subtract oldest value */ +- tCurAvResult -= pData[iCurIdx]; ++ tCurAvResult -= this->pData[iCurIdx]; + + /* Add new value and write in memory */ + tCurAvResult += tNewD; +- pData[iCurIdx] = tNewD; ++ this->pData[iCurIdx] = tNewD; + + /* Increase position pointer and test if wrap */ + iCurIdx++; +- if (iCurIdx >= iVectorSize) ++ if (iCurIdx >= this->iVectorSize) + iCurIdx = 0; + } + +@@ -381,7 +381,7 @@ + /* This flag indicates that the symbol ID has changed */ + _BOOLEAN bSymbolIDHasChanged; + +- /* The channel estimation needs information about timing corrections, ++ /* The channel estimation needs information about timing corrections, + because it is using information from the symbol memory */ + int iCurTimeCorr; + }; diff --git a/audio/dream/pkg-descr b/audio/dream/pkg-descr new file mode 100644 index 000000000000..e74a5bcdd839 --- /dev/null +++ b/audio/dream/pkg-descr @@ -0,0 +1,5 @@ +Dream is a software implementation of a Digital Radio Mondiale (DRM) receiver. +All you need to receive DRM transmissions is a PC with a sound card and a +modified analog short-wave (MW, LW) receiver. + +WWW: http://drm.sourceforge.net/ |