ports/102761: [NEW PORT] audio/dream: Digital Radio Mondiale (DRM) software receiver
Soeren Straarup
xride at x12.dk
Fri Sep 1 18:10:34 UTC 2006
>Number: 102761
>Category: ports
>Synopsis: [NEW PORT] audio/dream: Digital Radio Mondiale (DRM) software receiver
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Sep 01 18:10:20 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Soeren Straarup
>Release: FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD beacon.x12.dk 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Fri Aug 4 21:14:41 CEST
>Description:
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/
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- dream-1.2.4.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# dream
# dream/files
# dream/files/patch-Vector.h
# dream/files/patch-Modul.h
# dream/files/patch-Buffer.h
# dream/Makefile
# dream/distinfo
# dream/pkg-descr
#
echo c - dream
mkdir -p dream > /dev/null 2>&1
echo c - dream/files
mkdir -p dream/files > /dev/null 2>&1
echo x - dream/files/patch-Vector.h
sed 's/^X//' >dream/files/patch-Vector.h << 'END-of-dream/files/patch-Vector.h'
X===================================================================
XRCS file: /cvsroot/drm/drm/common/util/Vector.h,v
Xretrieving revision 1.2
Xretrieving revision 1.3
Xdiff -u -r1.2 -r1.3
X--- common/util/Vector.h 2005/06/29 21:21:25 1.2
X+++ common/util/Vector.h 2005/09/08 16:22:18 1.3
X@@ -39,7 +39,7 @@
X template<class TData> class CVector : public vector<TData>
X {
X public:
X- CVector() : pData(begin()), iBitArrayCounter(0), iVectorSize(0) {}
X+ CVector() : iBitArrayCounter(0), iVectorSize(0) {pData = this->begin();}
X CVector(const int iNeSi) {Init(iNeSi);}
X CVector(const int iNeSi, const TData tInVa) {Init(iNeSi, tInVa);}
X virtual ~CVector() {}
X@@ -49,8 +49,8 @@
X pointer must be set to the new data source. The bit access is, by
X default, reset */
X CVector(const CVector<TData>& vecI) :
X- vector<TData>(static_cast<const vector<TData>&>(vecI)),
X- iVectorSize(vecI.Size()), pData(begin()), iBitArrayCounter(0) {}
X+ vector<TData>(static_cast<const vector<TData>&>(vecI)),
X+ iVectorSize(vecI.Size()), iBitArrayCounter(0) {pData = this->begin();}
X
X virtual void Init(const int iNewSize);
X
X@@ -87,7 +87,7 @@
X
X inline CVector<TData>& operator=(const CVector<TData>& vecI) {
X #ifdef _DEBUG_
X- /* Vectors which shall be copied MUST have same size! (If this is
X+ /* Vectors which shall be copied MUST have same size! (If this is
X satisfied, the parameter "iVectorSize" must not be adjusted as
X a side effect) */
X if (vecI.Size() != iVectorSize)
X@@ -100,7 +100,7 @@
X
X /* Reset my data pointer in case, the operator=() of the base class
X did change the actual memory */
X- pData = begin();
X+ pData = this->begin();
X
X return *this;
X }
X@@ -125,9 +125,9 @@
X
X /* Clear old buffer and reserve memory for new buffer, get iterator
X for pointer operations */
X- clear();
X- resize(iNewSize);
X- pData = begin();
X+ this->clear();
X+ this->resize(iNewSize);
X+ pData = this->begin();
X }
X
X template<class TData> void CVector<TData>::Init(const int iNewSize,
X@@ -143,11 +143,11 @@
X template<class TData> void CVector<TData>::Enlarge(const int iAddedSize)
X {
X iVectorSize += iAddedSize;
X- resize(iVectorSize);
X+ this->resize(iVectorSize);
X
X /* We have to reset the pointer since it could be that the vector size was
X zero before enlarging the vector */
X- pData = begin();
X+ pData = this->begin();
X }
X
X template<class TData> void CVector<TData>::Reset(const TData tResetVal)
X@@ -224,21 +224,21 @@
X template<class TData> void CShiftRegister<TData>::AddBegin(const TData tNewD)
X {
X /* Shift old values */
X- for (int i = iVectorSize - 1; i > 0; i--)
X- pData[i] = pData[i - 1];
X+ for (int i = this->iVectorSize - 1; i > 0; i--)
X+ this->pData[i] = this->pData[i - 1];
X
X /* Add new value */
X- pData[0] = tNewD;
X+ this->pData[0] = tNewD;
X }
X
X template<class TData> void CShiftRegister<TData>::AddEnd(const TData tNewD)
X {
X /* Shift old values */
X- for (int i = 0; i < iVectorSize - 1; i++)
X- pData[i] = pData[i + 1];
X+ for (int i = 0; i < this->iVectorSize - 1; i++)
X+ this->pData[i] = this->pData[i + 1];
X
X /* Add new value */
X- pData[iVectorSize - 1] = tNewD;
X+ this->pData[this->iVectorSize - 1] = tNewD;
X }
X
X template<class TData> void CShiftRegister<TData>::AddEnd(const CVector<TData>& vectNewD,
X@@ -246,16 +246,16 @@
X {
X int i, iBlockEnd, iMovLen;
X
X- iBlockEnd = iVectorSize - iLen;
X+ iBlockEnd = this->iVectorSize - iLen;
X iMovLen = iLen;
X
X /* Shift old values */
X for (i = 0; i < iBlockEnd; i++)
X- pData[i] = pData[iMovLen++];
X+ this->pData[i] = this->pData[iMovLen++];
X
X /* Add new block of data */
X for (i = 0; i < iLen; i++)
X- pData[iBlockEnd++] = vectNewD[i];
X+ this->pData[iBlockEnd++] = vectNewD[i];
X }
X
X
X@@ -271,7 +271,7 @@
X CVector<TData>(iNeSi, tInVa), iCurIdx(0) {}
X
X void Add(const TData tNewD);
X- inline TData Get() {return pData[iCurIdx];}
X+ inline TData Get() {return this->pData[iCurIdx];}
X
X virtual void Init(const int iNewSize);
X virtual void Init(const int iNewSize, const TData tIniVal);
X@@ -295,11 +295,11 @@
X
X template<class TData> void CFIFO<TData>::Add(const TData tNewD)
X {
X- pData[iCurIdx] = tNewD;
X+ this->pData[iCurIdx] = tNewD;
X
X /* Increment index */
X iCurIdx++;
X- if (iCurIdx >= iVectorSize)
X+ if (iCurIdx >= this->iVectorSize)
X iCurIdx = 0;
X }
X
X@@ -334,7 +334,7 @@
X
X /* Init each vector in vector */
X for (int i = 0; i < iNewSize; i++)
X- pData[i].Init(iNewVecSize, 0);
X+ this->pData[i].Init(iNewVecSize, 0);
X
X /* Init current average result */
X tCurAvResult.Init(iNewVecSize, 0);
X@@ -355,15 +355,15 @@
X history buffer
X */
X /* Subtract oldest value */
X- tCurAvResult -= pData[iCurIdx];
X+ tCurAvResult -= this->pData[iCurIdx];
X
X /* Add new value and write in memory */
X tCurAvResult += tNewD;
X- pData[iCurIdx] = tNewD;
X+ this->pData[iCurIdx] = tNewD;
X
X /* Increase position pointer and test if wrap */
X iCurIdx++;
X- if (iCurIdx >= iVectorSize)
X+ if (iCurIdx >= this->iVectorSize)
X iCurIdx = 0;
X }
X
X@@ -381,7 +381,7 @@
X /* This flag indicates that the symbol ID has changed */
X _BOOLEAN bSymbolIDHasChanged;
X
X- /* The channel estimation needs information about timing corrections,
X+ /* The channel estimation needs information about timing corrections,
X because it is using information from the symbol memory */
X int iCurTimeCorr;
X };
END-of-dream/files/patch-Vector.h
echo x - dream/files/patch-Modul.h
sed 's/^X//' >dream/files/patch-Modul.h << 'END-of-dream/files/patch-Modul.h'
X===================================================================
XRCS file: /cvsroot/drm/drm/common/util/Modul.h,v
Xretrieving revision 1.1
Xretrieving revision 1.2
Xdiff -u -r1.1 -r1.2
X--- common/util/Modul.h 2005/05/18 07:50:28 1.1
X+++ common/util/Modul.h 2005/09/08 16:22:18 1.2
X@@ -217,7 +217,7 @@
X
X /* Implementation *************************************************************/
X /******************************************************************************\
X-* CModul *
X+* CModul *
X \******************************************************************************/
X template<class TInput, class TOutput>
X CModul<TInput, TOutput>::CModul()
X@@ -302,7 +302,7 @@
X
X
X /******************************************************************************\
X-* Transmitter modul (CTransmitterModul) *
X+* Transmitter modul (CTransmitterModul) *
X \******************************************************************************/
X template<class TInput, class TOutput>
X CTransmitterModul<TInput, TOutput>::CTransmitterModul()
X@@ -347,7 +347,7 @@
X if (OutputBuffer.GetRequestFlag() == TRUE)
X {
X /* Check, if enough input data is available */
X- if (InputBuffer.GetFillLevel() < iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() < this->iInputBlockSize)
X {
X /* Set request flag */
X InputBuffer.SetRequestFlag(TRUE);
X@@ -356,19 +356,20 @@
X }
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Copy extended data from vectors */
X- (*pvecOutputData).SetExData((*pvecInputData).GetExData());
X+ (*(this->pvecOutputData)).
X+ SetExData((*(this->pvecInputData)).GetExData());
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X
X /* Data was provided, clear data request */
X OutputBuffer.SetRequestFlag(FALSE);
X@@ -389,7 +390,7 @@
X if (OutputBuffer.GetRequestFlag() == TRUE)
X {
X /* Check, if enough input data is available from all sources */
X- if (InputBuffer.GetFillLevel() < iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() < this->iInputBlockSize)
X {
X /* Set request flag */
X InputBuffer.SetRequestFlag(TRUE);
X@@ -412,18 +413,18 @@
X }
X
X /* Get vectors from transfer-buffers */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X pvecInputData2 = InputBuffer2.Get(iInputBlockSize2);
X pvecInputData3 = InputBuffer3.Get(iInputBlockSize3);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X
X /* Data was provided, clear data request */
X OutputBuffer.SetRequestFlag(FALSE);
X@@ -440,13 +441,13 @@
X {
X /* Read data and write it in the transfer-buffer.
X Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X
X /* Data was provided, clear data request */
X OutputBuffer.SetRequestFlag(FALSE);
X@@ -459,7 +460,7 @@
X {
X /* OUTPUT-DRIVEN modul implementation in the transmitter */
X /* Check, if enough input data is available */
X- if (InputBuffer.GetFillLevel() < iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() < this->iInputBlockSize)
X {
X /* Set request flag */
X InputBuffer.SetRequestFlag(TRUE);
X@@ -468,17 +469,17 @@
X }
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X return TRUE;
X }
X
X
X /******************************************************************************\
X-* Receiver modul (CReceiverModul) *
X+* Receiver modul (CReceiverModul) *
X \******************************************************************************/
X template<class TInput, class TOutput>
X CReceiverModul<TInput, TOutput>::CReceiverModul()
X@@ -593,7 +594,7 @@
X }
X
X /* Special case if input block size is zero */
X- if (iInputBlockSize == 0)
X+ if (this->iInputBlockSize == 0)
X {
X InputBuffer.Clear();
X
X@@ -605,21 +606,22 @@
X _BOOLEAN bEnoughData = FALSE;
X
X /* Check if enough data is available in the input buffer for processing */
X- if (InputBuffer.GetFillLevel() >= iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize)
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Copy extended data from vectors */
X- (*pvecOutputData).SetExData((*pvecInputData).GetExData());
X+ (*(this->pvecOutputData)).
X+ SetExData((*(this->pvecInputData)).GetExData());
X
X /* Call the underlying processing-routine */
X- ProcessDataThreadSave(Parameter);
X+ this->ProcessDataThreadSave(Parameter);
X
X /* Reset output-buffers if flag was set by processing routine */
X if (bResetBuf == TRUE)
X@@ -631,7 +633,7 @@
X else
X {
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X }
X
X@@ -662,19 +664,19 @@
X
X /* INPUT-DRIVEN modul implementation in the receiver -------------------- */
X /* Check if enough data is available in the input buffer for processing */
X- if (InputBuffer.GetFillLevel() >= iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize)
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X pvecOutputData2 = OutputBuffer2.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataThreadSave(Parameter);
X+ this->ProcessDataThreadSave(Parameter);
X
X /* Reset output-buffers if flag was set by processing routine */
X if (bResetBuf == TRUE)
X@@ -686,7 +688,7 @@
X else
X {
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X
X if (bResetBuf2 == TRUE)
X@@ -730,20 +732,20 @@
X
X /* INPUT-DRIVEN modul implementation in the receiver -------------------- */
X /* Check if enough data is available in the input buffer for processing */
X- if (InputBuffer.GetFillLevel() >= iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize)
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X pvecOutputData2 = OutputBuffer2.QueryWriteBuffer();
X pvecOutputData3 = OutputBuffer3.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataThreadSave(Parameter);
X+ this->ProcessDataThreadSave(Parameter);
X
X /* Reset output-buffers if flag was set by processing routine */
X if (bResetBuf == TRUE)
X@@ -755,7 +757,7 @@
X else
X {
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X
X if (bResetBuf2 == TRUE)
X@@ -805,10 +807,10 @@
X
X /* INPUT-DRIVEN modul implementation in the receiver -------------------- */
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataThreadSave(Parameter);
X+ this->ProcessDataThreadSave(Parameter);
X
X /* Reset output-buffers if flag was set by processing routine */
X if (bResetBuf == TRUE)
X@@ -820,7 +822,7 @@
X else
X {
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X }
X
X@@ -842,7 +844,7 @@
X }
X
X /* Special case if input block size is zero and buffer, too */
X- if ((InputBuffer.GetFillLevel() == 0) && (iInputBlockSize == 0))
X+ if ((InputBuffer.GetFillLevel() == 0) && (this->iInputBlockSize == 0))
X {
X InputBuffer.Clear();
X return FALSE;
X@@ -853,15 +855,15 @@
X _BOOLEAN bEnoughData = FALSE;
X
X /* Check if enough data is available in the input buffer for processing */
X- if (InputBuffer.GetFillLevel() >= iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize)
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Call the underlying processing-routine */
X- ProcessDataThreadSave(Parameter);
X+ this->ProcessDataThreadSave(Parameter);
X }
X
X return bEnoughData;
X@@ -869,7 +871,7 @@
X
X
X /******************************************************************************\
X-* Simulation modul (CSimulationModul) *
X+* Simulation modul (CSimulationModul) *
X \******************************************************************************/
X template<class TInput, class TOutput, class TInOut2>
X CSimulationModul<TInput, TOutput, TInOut2>::CSimulationModul()
X@@ -929,7 +931,7 @@
X {
X /* TransferData needed for simulation */
X /* Check, if enough input data is available */
X- if (InputBuffer.GetFillLevel() < iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() < this->iInputBlockSize)
X {
X /* Set request flag */
X InputBuffer.SetRequestFlag(TRUE);
X@@ -938,16 +940,16 @@
X }
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X
X template<class TInput, class TOutput, class TInOut2>
X@@ -961,26 +963,27 @@
X _BOOLEAN bEnoughData = FALSE;
X
X /* Check if enough data is available in the input buffer for processing */
X- if ((InputBuffer.GetFillLevel() >= iInputBlockSize) &&
X+ if ((InputBuffer.GetFillLevel() >= this->iInputBlockSize) &&
X (InputBuffer2.GetFillLevel() >= iInputBlockSize2))
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X pvecInputData2 = InputBuffer2.Get(iInputBlockSize2);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X
X /* Copy extended data from FIRST input vector (definition!) */
X- (*pvecOutputData).SetExData((*pvecInputData).GetExData());
X+ (*(this->pvecOutputData)).
X+ SetExData((*(this->pvecInputData)).GetExData());
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffer */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X }
X
X return bEnoughData;
X@@ -997,22 +1000,22 @@
X _BOOLEAN bEnoughData = FALSE;
X
X /* Check if enough data is available in the input buffer for processing */
X- if (InputBuffer.GetFillLevel() >= iInputBlockSize)
X+ if (InputBuffer.GetFillLevel() >= this->iInputBlockSize)
X {
X bEnoughData = TRUE;
X
X /* Get vector from transfer-buffer */
X- pvecInputData = InputBuffer.Get(iInputBlockSize);
X+ this->pvecInputData = InputBuffer.Get(this->iInputBlockSize);
X
X /* Query vector from output transfer-buffer for writing */
X- pvecOutputData = OutputBuffer.QueryWriteBuffer();
X+ this->pvecOutputData = OutputBuffer.QueryWriteBuffer();
X pvecOutputData2 = OutputBuffer2.QueryWriteBuffer();
X
X /* Call the underlying processing-routine */
X- ProcessDataInternal(Parameter);
X+ this->ProcessDataInternal(Parameter);
X
X /* Write processed data from internal memory in transfer-buffers */
X- OutputBuffer.Put(iOutputBlockSize);
X+ OutputBuffer.Put(this->iOutputBlockSize);
X OutputBuffer2.Put(iOutputBlockSize2);
X }
X
END-of-dream/files/patch-Modul.h
echo x - dream/files/patch-Buffer.h
sed 's/^X//' >dream/files/patch-Buffer.h << 'END-of-dream/files/patch-Buffer.h'
X===================================================================
XRCS file: /cvsroot/drm/drm/common/util/Buffer.h,v
Xretrieving revision 1.1
Xretrieving revision 1.2
Xdiff -u -r1.1 -r1.2
X--- common/util/Buffer.h 2005/05/18 07:50:28 1.1
X+++ common/util/Buffer.h 2005/09/08 16:22:18 1.2
X@@ -71,7 +71,7 @@
X
X virtual void Init(const int iNewBufferSize);
X virtual CVectorEx<TData>* Get(const int iRequestedSize);
X- virtual CVectorEx<TData>* QueryWriteBuffer() {return &vecBuffer;}
X+ virtual CVectorEx<TData>* QueryWriteBuffer() {return &(this->vecBuffer);}
X virtual void Put(const int iOfferedSize);
X virtual void Clear() {iFillLevel = 0;}
X virtual int GetFillLevel() const {return iFillLevel;}
X@@ -123,7 +123,7 @@
X template<class TData> void CSingleBuffer<TData>::Init(const int iNewBufferSize)
X {
X /* Only initialize buffer when size has changed, otherwise preserve data */
X- if (iNewBufferSize != iBufferSize)
X+ if (iNewBufferSize != this->iBufferSize)
X {
X CBuffer<TData>::Init(iNewBufferSize);
X
X@@ -146,7 +146,7 @@
X /* Block is read, buffer is now empty again */
X iFillLevel -= iRequestedSize;
X
X- return &vecBuffer;
X+ return &(this->vecBuffer);
X }
X
X template<class TData> void CSingleBuffer<TData>::Put(const int iOfferedSize)
X@@ -170,7 +170,7 @@
X template<class TData> void CCyclicBuffer<TData>::Init(const int iNewBufferSize)
X {
X /* Only initialize buffer when size has changed, otherwise preserve data */
X- if (iNewBufferSize != iBufferSize)
X+ if (iNewBufferSize != this->iBufferSize)
X {
X CBuffer<TData>::Init(iNewBufferSize);
X
X@@ -191,7 +191,7 @@
X iPut = 0;
X iGet = 0;
X iBufferState = BS_EMPTY;
X- bRequestFlag = FALSE;
X+ this->bRequestFlag = FALSE;
X }
X
X template<class TData> CVectorEx<TData>* CCyclicBuffer<TData>::Get(const int iRequestedSize)
X@@ -204,7 +204,7 @@
X iAvailSpace = iPut - iGet;
X /* Test if wrap is needed */
X if ((iAvailSpace < 0) || ((iAvailSpace == 0) && (iBufferState == BS_FULL)))
X- iAvailSpace += iBufferSize;
X+ iAvailSpace += this->iBufferSize;
X
X #ifdef _DEBUG_
X if (iAvailSpace < iRequestedSize)
X@@ -219,17 +219,17 @@
X iElementCount = 0;
X
X /* Test if data can be read in one block */
X- if (iBufferSize - iGet < iRequestedSize)
X+ if (this->iBufferSize - iGet < iRequestedSize)
X {
X /* Data must be read in two portions */
X- for (i = iGet; i < iBufferSize; i++)
X+ for (i = iGet; i < this->iBufferSize; i++)
X {
X- vecInOutBuffer[iElementCount] = vecBuffer[i];
X+ vecInOutBuffer[iElementCount] = this->vecBuffer[i];
X iElementCount++;
X }
X- for (i = 0; i < iRequestedSize - iBufferSize + iGet; i++)
X+ for (i = 0; i < iRequestedSize - this->iBufferSize + iGet; i++)
X {
X- vecInOutBuffer[iElementCount] = vecBuffer[i];
X+ vecInOutBuffer[iElementCount] = this->vecBuffer[i];
X iElementCount++;
X }
X }
X@@ -238,15 +238,15 @@
X /* Data can be read in one block */
X for (i = iGet; i < iGet + iRequestedSize; i++)
X {
X- vecInOutBuffer[iElementCount] = vecBuffer[i];
X+ vecInOutBuffer[iElementCount] = this->vecBuffer[i];
X iElementCount++;
X }
X }
X
X /* Adjust iGet pointer */
X iGet += iRequestedSize;
X- if (iGet >= iBufferSize)
X- iGet -= iBufferSize;
X+ if (iGet >= this->iBufferSize)
X+ iGet -= this->iBufferSize;
X
X /* Test if buffer is empty. If yes, set empty-flag */
X if ((iGet == iPut) && (iRequestedSize > 0))
X@@ -265,7 +265,7 @@
X iAvailSpace = iGet - iPut;
X /* Test if wrap is needed */
X if ((iAvailSpace < 0) || ((iAvailSpace == 0) && (iBufferState == BS_EMPTY)))
X- iAvailSpace += iBufferSize;
X+ iAvailSpace += this->iBufferSize;
X
X #ifdef _DEBUG_
X if (iAvailSpace < iOfferedSize)
X@@ -280,17 +280,17 @@
X iElementCount = 0;
X
X /* Test if data can be written in one block */
X- if (iBufferSize - iPut < iOfferedSize)
X+ if (this->iBufferSize - iPut < iOfferedSize)
X {
X /* Data must be written in two steps */
X- for (i = iPut; i < iBufferSize; i++)
X+ for (i = iPut; i < this->iBufferSize; i++)
X {
X- vecBuffer[i] = vecInOutBuffer[iElementCount];
X+ this->vecBuffer[i] = vecInOutBuffer[iElementCount];
X iElementCount++;
X }
X- for (i = 0; i < iOfferedSize - iBufferSize + iPut; i++)
X+ for (i = 0; i < iOfferedSize - this->iBufferSize + iPut; i++)
X {
X- vecBuffer[i] = vecInOutBuffer[iElementCount];
X+ this->vecBuffer[i] = vecInOutBuffer[iElementCount];
X iElementCount++;
X }
X }
X@@ -299,15 +299,15 @@
X /* Data can be written in one block */
X for (i = iPut; i < iPut + iOfferedSize; i++)
X {
X- vecBuffer[i] = vecInOutBuffer[iElementCount];
X+ this->vecBuffer[i] = vecInOutBuffer[iElementCount];
X iElementCount++;
X }
X }
X
X /* Adjust iPut pointer */
X iPut += iOfferedSize;
X- if (iPut >= iBufferSize)
X- iPut -= iBufferSize;
X+ if (iPut >= this->iBufferSize)
X+ iPut -= this->iBufferSize;
X
X /* Test if buffer is full. If yes, set full-flag */
X if ((iGet == iPut) && (iOfferedSize > 0))
X@@ -322,9 +322,9 @@
X Take into account the flag-information (full or empty buffer) */
X iFillLevel = iPut - iGet;
X if ((iFillLevel == 0) && (iBufferState == BS_FULL))
X- iFillLevel = iBufferSize;
X+ iFillLevel = this->iBufferSize;
X if (iFillLevel < 0)
X- iFillLevel += iBufferSize; /* Wrap around */
X+ iFillLevel += this->iBufferSize; /* Wrap around */
X
X return iFillLevel;
X }
END-of-dream/files/patch-Buffer.h
echo x - dream/Makefile
sed 's/^X//' >dream/Makefile << 'END-of-dream/Makefile'
X# New ports collection makefile for: Dream DRM Receiver
X# Date created: 9 August 2005
X# Whom: Pav Lucistnik <pav at FreeBSD.org>
X#
X# $FreeBSD$
X
XPORTNAME= dream
XPORTVERSION= 1.2.4
XCATEGORIES= audio
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= drm
XDISTNAME= drm-${PORTVERSION}
X
XMAINTAINER= xride at x12.dk
XCOMMENT= Digital Radio Mondiale (DRM) software receiver
X
XLIB_DEPENDS= fftw.2:${PORTSDIR}/math/fftw \
X qwt.4:${PORTSDIR}/x11-toolkits/qwt \
X faad.0:${PORTSDIR}/audio/faad
X
XUSE_X_PREFIX= yes
XUSE_QT_VER= 3
XGNU_CONFIGURE= yes
XCONFIGURE_ENV= CXXFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
X LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" QTDIR="${QT_PREFIX}"
X
XPLIST_FILES= bin/drm
X
Xpost-patch:
X @${REINPLACE_CMD} -e 's|/usr/include/qwt|${LOCALBASE}/include/qwt|g' ${WRKSRC}/configure
X @${REINPLACE_CMD} -e 's|<linux/soundcard.h>|<sys/soundcard.h>|g' ${WRKSRC}/linux/source/sound.cpp
X @${REINPLACE_CMD} -e 's|neaacdec.h|faad.h|g' ${WRKSRC}/common/sourcedecoders/AudioSourceDecoder.cpp
X @${REINPLACE_CMD} -e 's|DRMCH_SBR_PS_STEREO|DRMCH_SBR_STEREO|g' ${WRKSRC}/common/sourcedecoders/AudioSourceDecoder.cpp
X
X.include <bsd.port.mk>
END-of-dream/Makefile
echo x - dream/distinfo
sed 's/^X//' >dream/distinfo << 'END-of-dream/distinfo'
XMD5 (drm-1.2.4.tar.gz) = 55b219cc30b0999ebf66c458b74fe2f2
XSHA256 (drm-1.2.4.tar.gz) = 85c34ab4c543f107aa4b8d7ba91a12672f847366fa6559b0c997c87073604ea1
XSIZE (drm-1.2.4.tar.gz) = 686118
END-of-dream/distinfo
echo x - dream/pkg-descr
sed 's/^X//' >dream/pkg-descr << 'END-of-dream/pkg-descr'
XDream is a software implementation of a Digital Radio Mondiale (DRM) receiver.
XAll you need to receive DRM transmissions is a PC with a sound card and a
Xmodified analog short-wave (MW, LW) receiver.
X
XWWW: http://drm.sourceforge.net/
END-of-dream/pkg-descr
exit
--- dream-1.2.4.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list