aboutsummaryrefslogtreecommitdiff
path: root/audio/darkice
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2011-11-04 18:29:43 +0000
committerPawel Pekala <pawel@FreeBSD.org>2011-11-04 18:29:43 +0000
commit8c1137abf045e9b65c2d8291c1bfa210a35a1b32 (patch)
tree1f384586f758fde25a0e82348d31e52c2fd89a1c /audio/darkice
parent09529337e315059ca93fb858804cd47c6e1d0c9b (diff)
downloadports-8c1137abf045e9b65c2d8291c1bfa210a35a1b32.tar.gz
ports-8c1137abf045e9b65c2d8291c1bfa210a35a1b32.zip
- Update to verion 1.1 [1]
- Update project homepage [1] - Add check for options sanity (at least one codec must be choosen) - Install darkice.cfg and remove it when it was not edited PR: ports/162290 [1] Submitted by: Takefu <takefu@airport.fm> [1]
Notes
Notes: svn path=/head/; revision=285041
Diffstat (limited to 'audio/darkice')
-rw-r--r--audio/darkice/Makefile18
-rw-r--r--audio/darkice/distinfo4
-rw-r--r--audio/darkice/files/patch-configure.in11
-rw-r--r--audio/darkice/files/patch-darkice.cfg10
-rw-r--r--audio/darkice/files/patch-src_aacPlusEncoder.cpp328
-rw-r--r--audio/darkice/files/patch-src_aacPlusEncoder.h194
-rw-r--r--audio/darkice/pkg-descr2
-rw-r--r--audio/darkice/pkg-plist4
8 files changed, 20 insertions, 551 deletions
diff --git a/audio/darkice/Makefile b/audio/darkice/Makefile
index daf890c43814..2a1ea436caf6 100644
--- a/audio/darkice/Makefile
+++ b/audio/darkice/Makefile
@@ -7,8 +7,7 @@
#
PORTNAME= darkice
-PORTVERSION= 1.0
-PORTREVISION= 3
+PORTVERSION= 1.1
CATEGORIES= audio net
MASTER_SITES= GOOGLE_CODE
@@ -36,9 +35,8 @@ USE_RC_SUBR= ${PORTNAME}
MAN1= darkice.1
MAN5= darkice.cfg.5
-PLIST_FILES= bin/darkice etc/darkice.cfg.dist
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
.if defined(WITHOUT_VORBIS)
CONFIGURE_ARGS+= --without-vorbis
@@ -83,6 +81,11 @@ CONFIGURE_ARGS+= --with-aacplus-prefix=${LOCALBASE} --with-samplerate-prefix=${L
CONFIGURE_ARGS+= --without-aacplus --without-samplerate
.endif
+.if defined(WITHOUT_VORBIS) && defined(WITHOUT_LAME) && defined(WITHOUT_TWOLAME) && \
+ defined(WITHOUT_FAAC) && defined(WITHOUT_AACPLUS)
+IGNORE=at least one of VORBIS,LAME,TWOLAME,FAAC,AACPLUS options must be set
+.endif
+
post-patch:
@${REINPLACE_CMD} -e '/test/s|==|=|g'\
-e 's/sbr_main.h/libaacplus\/sbr_main.h/' ${WRKSRC}/configure
@@ -95,4 +98,9 @@ do-install:
@${INSTALL_MAN} ${WRKSRC}/man/${PORTNAME}.cfg.5 ${MAN5PREFIX}/man/man5
@${CAT} ${PKGMESSAGE}
-.include <bsd.port.post.mk>
+post-install:
+ @if [ ! -f ${PREFIX}/etc/darkice.cfg ]; then \
+ ${CP} -p ${PREFIX}/etc/darkice.cfg.dist ${PREFIX}/etc/darkice.cfg ; \
+ fi
+
+.include <bsd.port.mk>
diff --git a/audio/darkice/distinfo b/audio/darkice/distinfo
index 6b18851d1d25..ed974f3567eb 100644
--- a/audio/darkice/distinfo
+++ b/audio/darkice/distinfo
@@ -1,2 +1,2 @@
-SHA256 (darkice-1.0.tar.gz) = 61a05c4dab206c22c3e3d5570ee4841f9c8875241098adf687717e7dcc6df332
-SIZE (darkice-1.0.tar.gz) = 311567
+SHA256 (darkice-1.1.tar.gz) = 170342cb4dbb0b44a62e37d0db1515fa7799c410fc4995bf8f32aaa6614f5f79
+SIZE (darkice-1.1.tar.gz) = 344568
diff --git a/audio/darkice/files/patch-configure.in b/audio/darkice/files/patch-configure.in
deleted file mode 100644
index 2e48f4b16bbe..000000000000
--- a/audio/darkice/files/patch-configure.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.in.orig 2010-05-10 06:38:57.000000000 +0900
-+++ configure.in 2010-12-29 19:11:40.000000000 +0900
-@@ -166,7 +166,7 @@
-
- if test "x${USE_AACPLUS}" = "xyes" ; then
- AC_MSG_CHECKING( [for aacplus library at ${CONFIG_AACPLUS_PREFIX}] )
-- LA_SEARCH_LIB( AACPLUS_LIB_LOC, AACPLUS_INC_LOC, libaacplus.a libaacplus.so, sbr_main.h,
-+ LA_SEARCH_LIB( AACPLUS_LIB_LOC, AACPLUS_INC_LOC, libaacplus.a libaacplus.so, aacplus.h,
- ${CONFIG_AACPLUS_PREFIX})
- if test "x${AACPLUS_LIB_LOC}" != "x" ; then
- AC_DEFINE( HAVE_AACPLUS_LIB, 1, [build with aacplus library] )
diff --git a/audio/darkice/files/patch-darkice.cfg b/audio/darkice/files/patch-darkice.cfg
deleted file mode 100644
index 59354fe2410d..000000000000
--- a/audio/darkice/files/patch-darkice.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
---- darkice.cfg.orig 2010-05-10 05:26:19.000000000 +0900
-+++ darkice.cfg 2010-12-29 19:17:57.000000000 +0900
-@@ -6,6 +6,7 @@
- duration = 60 # duration of encoding, in seconds. 0 means forever
- bufferSecs = 5 # size of internal slip buffer, in seconds
- reconnect = yes # reconnect to the server(s) if disconnected
-+realtime = yes # run the encoder with POSIX realtime priority
-
- # this section describes the audio input that will be streamed
- [input]
diff --git a/audio/darkice/files/patch-src_aacPlusEncoder.cpp b/audio/darkice/files/patch-src_aacPlusEncoder.cpp
deleted file mode 100644
index 2093b16877f7..000000000000
--- a/audio/darkice/files/patch-src_aacPlusEncoder.cpp
+++ /dev/null
@@ -1,328 +0,0 @@
---- src/aacPlusEncoder.cpp.orig 2010-05-10 00:18:48.000000000 +0200
-+++ src/aacPlusEncoder.cpp 2011-01-20 13:39:21.000000000 +0100
-@@ -5,8 +5,8 @@
- Tyrell DarkIce
-
- File : aacPlusEncoder.cpp
-- Version : $Revision: 474 $
-- Author : $Author: rafael@riseup.net $
-+ Version : $Revision$
-+ Author : $Author$
- Location : $HeadURL$
-
- Copyright notice:
-@@ -51,7 +51,7 @@
- /*------------------------------------------------------------------------------
- * File identity
- *----------------------------------------------------------------------------*/
--static const char fileid[] = "$Id: aacPlusEncoder.cpp 474 2010-05-10 01:18:15Z rafael@riseup.net $";
-+static const char fileid[] = "$Id$";
-
-
- /* =============================================== local function prototypes */
-@@ -76,82 +76,27 @@
- "aacplus lib opening underlying sink error");
- }
-
-- reportEvent(1, "Using aacplus codec version", "720 3gpp");
-+ reportEvent(1, "Using aacplus codec");
-
-- bitrate = getOutBitrate() * 1000;
-- bandwidth = 0;
-- useParametricStereo = 0;
-- numAncDataBytes=0;
-- coreWriteOffset = 0;
-- envReadOffset = 0;
-- writeOffset = INPUT_DELAY*MAX_CHANNELS;
-- writtenSamples = 0;
-- aacEnc = NULL;
-- hEnvEnc=NULL;
--
-- /* set up basic parameters for aacPlus codec */
-- AacInitDefaultConfig(&config);
-- nChannelsAAC = nChannelsSBR = getOutChannel();
--
-- if ( (getInChannel() == 2) && (bitrate >= 16000) && (bitrate < 44001) ) {
-- useParametricStereo = 1;
-- nChannelsAAC = 1;
-- nChannelsSBR = 2;
--
-- reportEvent(10, "use Parametric Stereo");
--
-- envReadOffset = (MAX_DS_FILTER_DELAY + INPUT_DELAY)*MAX_CHANNELS;
-- coreWriteOffset = CORE_INPUT_OFFSET_PS;
-- writeOffset = envReadOffset;
-- } else {
-- /* set up 2:1 downsampling */
-- InitIIR21_Resampler(&(IIR21_reSampler[0]));
-- InitIIR21_Resampler(&(IIR21_reSampler[1]));
--
-- if(IIR21_reSampler[0].delay > MAX_DS_FILTER_DELAY)
-- throw Exception(__FILE__, __LINE__, "IIR21 resampler delay is bigger then MAX_DS_FILTER_DELAY");
-- writeOffset += IIR21_reSampler[0].delay*MAX_CHANNELS;
-+ encoderHandle = aacplusEncOpen(getOutSampleRate(),
-+ getInChannel(),
-+ &inputSamples,
-+ &maxOutputBytes);
-+
-+ aacplusEncConfiguration * aacplusConfig;
-+
-+ aacplusConfig = aacplusEncGetCurrentConfiguration(encoderHandle);
-+
-+ aacplusConfig->bitRate = getOutBitrate() * 1000;
-+ aacplusConfig->bandWidth = lowpass;
-+ aacplusConfig->outputFormat = 1;
-+ aacplusConfig->inputFormat = AACPLUS_INPUT_16BIT;
-+ aacplusConfig->nChannelsOut = getOutChannel();
-+
-+ if (!aacplusEncSetConfiguration(encoderHandle, aacplusConfig)) {
-+ throw Exception(__FILE__, __LINE__,
-+ "error configuring libaacplus library");
- }
--
-- sampleRateAAC = getOutSampleRate();
-- config.bitRate = bitrate;
-- config.nChannelsIn=getInChannel();
-- config.nChannelsOut=nChannelsAAC;
-- config.bandWidth=bandwidth;
--
-- /* set up SBR configuration */
-- if(!IsSbrSettingAvail(bitrate, nChannelsAAC, sampleRateAAC, &sampleRateAAC))
-- throw Exception(__FILE__, __LINE__, "No valid SBR configuration found");
--
-- InitializeSbrDefaults (&sbrConfig);
-- sbrConfig.usePs = useParametricStereo;
--
-- AdjustSbrSettings( &sbrConfig,
-- bitrate,
-- nChannelsAAC,
-- sampleRateAAC,
-- AACENC_TRANS_FAC,
-- 24000);
--
-- EnvOpen( &hEnvEnc,
-- inBuf + coreWriteOffset,
-- &sbrConfig,
-- &config.bandWidth);
--
-- /* set up AAC encoder, now that samling rate is known */
-- config.sampleRate = sampleRateAAC;
-- if (AacEncOpen(&aacEnc, config) != 0){
-- AacEncClose(aacEnc);
-- throw Exception(__FILE__, __LINE__, "Initialisation of AAC failed !");
-- }
--
-- init_plans();
--
-- /* create the ADTS header */
-- adts_hdr(outBuf, &config);
--
-- inSamples = AACENC_BLOCKSIZE * getInChannel() * 2;
--
-
- // initialize the resampling coverter if needed
- if ( converter ) {
-@@ -159,8 +104,8 @@
- converterData.input_frames = 4096/((getInBitsPerSample() / 8) * getInChannel());
- converterData.data_in = new float[converterData.input_frames*getInChannel()];
- converterData.output_frames = (int) (converterData.input_frames * resampleRatio + 1);
-- if ((int) inSamples > getInChannel() * converterData.output_frames) {
-- resampledOffset = new float[2 * inSamples];
-+ if ((int) inputSamples > getInChannel() * converterData.output_frames) {
-+ resampledOffset = new float[2 * inputSamples];
- } else {
- resampledOffset = new float[2 * getInChannel() * converterData.input_frames];
- }
-@@ -178,13 +123,9 @@
- }
-
- aacplusOpen = true;
-- reportEvent(10, "bitrate=", bitrate);
-- reportEvent(10, "nChannelsIn", getInChannel());
-- reportEvent(10, "nChannelsOut", getOutChannel());
-- reportEvent(10, "nChannelsSBR", nChannelsSBR);
-- reportEvent(10, "nChannelsAAC", nChannelsAAC);
-- reportEvent(10, "sampleRateAAC", sampleRateAAC);
-- reportEvent(10, "inSamples", inSamples);
-+ reportEvent(10, "nChannelsAAC", aacplusConfig->nChannelsOut);
-+ reportEvent(10, "sampleRateAAC", aacplusConfig->sampleRate);
-+ reportEvent(10, "inSamples", inputSamples);
- return true;
- }
-
-@@ -199,21 +140,23 @@
- if ( !isOpen() || len == 0) {
- return 0;
- }
--
-+
- unsigned int channels = getInChannel();
- unsigned int bitsPerSample = getInBitsPerSample();
- unsigned int sampleSize = (bitsPerSample / 8) * channels;
-+ unsigned char * b = (unsigned char*) buf;
- unsigned int processed = len - (len % sampleSize);
- unsigned int nSamples = processed / sampleSize;
-- unsigned int samples = (unsigned int) nSamples * channels;
-- int processedSamples = 0;
--
--
-+ unsigned char * aacplusBuf = new unsigned char[maxOutputBytes];
-+ int samples = (int) nSamples * channels;
-+ int processedSamples = 0;
-+
-+
-
- if ( converter ) {
- unsigned int converted;
- #ifdef HAVE_SRC_LIB
-- src_short_to_float_array ((short *) buf, converterData.data_in, samples);
-+ src_short_to_float_array ((short *) b, converterData.data_in, samples);
- converterData.input_frames = nSamples;
- converterData.data_out = resampledOffset + (resampledOffsetSize * channels);
- int srcError = src_process (converter, &converterData);
-@@ -224,7 +167,6 @@
- int inCount = nSamples;
- short int * shortBuffer = new short int[samples];
- int outCount = (int) (inCount * resampleRatio);
-- unsigned char * b = (unsigned char*) buf;
- Util::conv( bitsPerSample, b, processed, shortBuffer, isInBigEndian());
- converted = converter->resample( inCount,
- outCount+1,
-@@ -235,18 +177,27 @@
- resampledOffsetSize += converted;
-
- // encode samples (if enough)
-- while(resampledOffsetSize - processedSamples >= inSamples/channels) {
-+ while(resampledOffsetSize - processedSamples >= inputSamples/channels) {
-+ int outputBytes;
- #ifdef HAVE_SRC_LIB
-- short *shortData = new short[inSamples];
-+ short *shortData = new short[inputSamples];
- src_float_to_short_array(resampledOffset + (processedSamples * channels),
-- shortData, inSamples) ;
--
-- encodeAacSamples (shortData, inSamples, channels);
-+ shortData, inputSamples) ;
-+ outputBytes = aacplusEncEncode(encoderHandle,
-+ (int32_t*) shortData,
-+ inputSamples,
-+ aacplusBuf,
-+ maxOutputBytes);
- delete [] shortData;
- #else
-- encodeAacSamples (&resampledOffset[processedSamples*channels], inSamples, channels);
-+ outputBytes = aacplusEncEncode(encoderHandle,
-+ (int32_t*) &resampledOffset[processedSamples*channels],
-+ inputSamples,
-+ aacplusBuf,
-+ maxOutputBytes);
- #endif
-- processedSamples+=inSamples/channels;
-+ getSink()->write(aacplusBuf, outputBytes);
-+ processedSamples+=inputSamples/channels;
- }
-
- if (processedSamples && (int) resampledOffsetSize >= processedSamples) {
-@@ -262,70 +213,27 @@
- #endif
- }
- } else {
-- encodeAacSamples ((short *) buf, samples, channels);
-- }
-+ while (processedSamples < samples) {
-+ int outputBytes;
-+ int inSamples = samples - processedSamples < (int) inputSamples
-+ ? samples - processedSamples
-+ : inputSamples;
-+
-+ outputBytes = aacplusEncEncode(encoderHandle,
-+ (int32_t*) (b + processedSamples/sampleSize),
-+ inSamples,
-+ aacplusBuf,
-+ maxOutputBytes);
-+ getSink()->write(aacplusBuf, outputBytes);
-
-- return samples;
--}
--
--void
--aacPlusEncoder :: encodeAacSamples (short *TimeDataPcm, unsigned int samples, int channels)
-- throw ( Exception )
--{
-- unsigned int i;
-- int ch, outSamples, numOutBytes;
--
-- for (i=0; i<samples; i++)
-- inBuf[(2/channels)*i+writeOffset+writtenSamples] = (float) TimeDataPcm[i];
--
-- writtenSamples+=samples;
--
-- if (writtenSamples < inSamples)
-- return;
--
-- /* encode one SBR frame */
-- EnvEncodeFrame( hEnvEnc,
-- inBuf + envReadOffset,
-- inBuf + coreWriteOffset,
-- MAX_CHANNELS,
-- &numAncDataBytes,
-- ancDataBytes);
--
-- /* 2:1 downsampling for AAC core */
-- if (!useParametricStereo) {
-- for( ch=0; ch<nChannelsAAC; ch++ )
-- IIR21_Downsample( &(IIR21_reSampler[ch]),
-- inBuf + writeOffset+ch,
-- writtenSamples/channels,
-- MAX_CHANNELS,
-- inBuf+ch,
-- &outSamples,
-- MAX_CHANNELS);
-- }
--
-- /* encode one AAC frame */
-- AacEncEncode( aacEnc,
-- inBuf,
-- useParametricStereo ? 1 : MAX_CHANNELS, /* stride (step) */
-- ancDataBytes,
-- &numAncDataBytes,
-- (unsigned *) (outBuf+ADTS_HEADER_SIZE),
-- &numOutBytes);
-- if (useParametricStereo) {
-- memcpy( inBuf,inBuf+AACENC_BLOCKSIZE,CORE_INPUT_OFFSET_PS*sizeof(float));
-- } else {
-- memmove( inBuf,inBuf+AACENC_BLOCKSIZE*2*MAX_CHANNELS,writeOffset*sizeof(float));
-- }
--
-- /* Write one frame of encoded audio */
-- if (numOutBytes) {
-- adts_hdr_up(outBuf, numOutBytes);
-- sink->write(outBuf, numOutBytes+ADTS_HEADER_SIZE);
-+ processedSamples += inSamples;
-+ }
- }
--
-- writtenSamples=0;
-
-- return;
-+ delete[] aacplusBuf;
-+
-+// return processedSamples;
-+ return samples;
- }
-
- /*------------------------------------------------------------------------------
-@@ -352,12 +260,7 @@
- if ( isOpen() ) {
- flush();
-
-- destroy_plans();
-- AacEncClose(aacEnc);
-- if (hEnvEnc) {
-- EnvClose(hEnvEnc);
-- }
--
-+ aacplusEncClose(encoderHandle);
- aacplusOpen = false;
-
- sink->close();
diff --git a/audio/darkice/files/patch-src_aacPlusEncoder.h b/audio/darkice/files/patch-src_aacPlusEncoder.h
deleted file mode 100644
index b77150ce5a15..000000000000
--- a/audio/darkice/files/patch-src_aacPlusEncoder.h
+++ /dev/null
@@ -1,194 +0,0 @@
---- src/aacPlusEncoder.h.orig 2010-05-10 00:18:48.000000000 +0200
-+++ src/aacPlusEncoder.h 2011-01-20 13:41:06.000000000 +0100
-@@ -5,8 +5,8 @@
- Tyrell DarkIce
-
- File : aacPlusEncoder.h
-- Version : $Revision: 474 $
-- Author : $Author: rafael@riseup.net $
-+ Version : $Revision$
-+ Author : $Author$
- Location : $HeadURL$
-
- Copyright notice:
-@@ -41,18 +41,7 @@
- #endif
-
- #ifdef HAVE_AACPLUS_LIB
--extern "C" {
--#include <libaacplus/cfftn.h>
--#include <libaacplus/FloatFR.h>
--#include <libaacplus/aacenc.h>
--#include <libaacplus/resampler.h>
--
--#include <libaacplus/adts.h>
--
--#include <libaacplus/sbr_main.h>
--#include <libaacplus/aac_ram.h>
--#include <libaacplus/aac_rom.h>
--}
-+#include <aacplus.h>
- #else
- #error configure with aacplus
- #endif
-@@ -83,16 +72,10 @@
- /**
- * A class representing aacplus AAC+ encoder.
- *
-- * @author $Author: rafael@riseup.net $
-- * @version $Revision: 474 $
-+ * @author $Author$
-+ * @version $Revision$
- */
-
--#define CORE_DELAY (1600)
--#define INPUT_DELAY ((CORE_DELAY)*2 +6*64-2048+1) /* ((1600 (core codec)*2 (multi rate) + 6*64 (sbr dec delay) - 2048 (sbr enc delay) + magic*/
--#define MAX_DS_FILTER_DELAY 16 /* the additional max resampler filter delay (source fs)*/
--
--#define CORE_INPUT_OFFSET_PS (0) /* (96-64) makes AAC still some 64 core samples too early wrt SBR ... maybe -32 would be even more correct, but 1024-32 would need additional SBR bitstream delay by one frame */
--
- class aacPlusEncoder : public AudioEncoder, public virtual Reporter
- {
- private:
-@@ -124,31 +107,26 @@
- */
- Ref<Sink> sink;
-
-- float inBuf[(AACENC_BLOCKSIZE*2 + MAX_DS_FILTER_DELAY + INPUT_DELAY)*MAX_CHANNELS];
-- char outBuf[(6144/8)*MAX_CHANNELS+ADTS_HEADER_SIZE];
-- IIR21_RESAMPLER IIR21_reSampler[MAX_CHANNELS];
--
-- AACENC_CONFIG config;
--
-- int nChannelsAAC, nChannelsSBR;
-- unsigned int sampleRateAAC;
--
-- int bitrate;
-- int bandwidth;
--
-- unsigned int numAncDataBytes;
-- unsigned char ancDataBytes[MAX_PAYLOAD_SIZE];
--
-- bool useParametricStereo;
-- int coreWriteOffset;
-- int envReadOffset;
-- int writeOffset;
-- struct AAC_ENCODER *aacEnc;
-- unsigned int inSamples;
-- unsigned int writtenSamples;
--
-- HANDLE_SBR_ENCODER hEnvEnc;
-- sbrConfiguration sbrConfig;
-+ /**
-+ * The handle to the AAC+ encoder instance.
-+ */
-+ aacplusEncHandle encoderHandle;
-+
-+ /**
-+ * The maximum number of input samples to supply to the encoder.
-+ */
-+ unsigned long inputSamples;
-+
-+ /**
-+ * The maximum number of output bytes the encoder returns in one call.
-+ */
-+ unsigned long maxOutputBytes;
-+
-+ /**
-+ * Lowpass filter. Sound frequency in Hz, from where up the
-+ * input is cut.
-+ */
-+ int lowpass;
-
- /**
- * Initialize the object.
-@@ -157,10 +135,11 @@
- * @exception Exception
- */
- inline void
-- init ( Sink * sink) throw (Exception)
-+ init ( Sink * sink, int lowpass) throw (Exception)
- {
- this->aacplusOpen = false;
- this->sink = sink;
-+ this->lowpass = lowpass;
-
- /* TODO: if we have float as input, we don't need conversion */
- if ( getInBitsPerSample() != 16 && getInBitsPerSample() != 32 ) {
-@@ -179,11 +158,6 @@
- "unsupported number of output channels for the encoder",
- getOutChannel() );
- }
-- /* TODO: this will be neede when we implement mono aac+ encoding */
-- if ( getInChannel() != getOutChannel() ) {
-- throw Exception( __FILE__, __LINE__,
-- "input channels and output channels do not match");
-- }
-
- if ( getOutSampleRate() == getInSampleRate() ) {
- resampleRatio = 1;
-@@ -237,17 +211,6 @@
- "specified bits per sample with samplerate conversion not supported",
- getInBitsPerSample() );
- }
--
-- bitrate = getOutBitrate() * 1000;
-- bandwidth = 0;
-- useParametricStereo = 0;
-- numAncDataBytes=0;
-- coreWriteOffset = 0;
-- envReadOffset = 0;
-- writeOffset = INPUT_DELAY*MAX_CHANNELS;
-- writtenSamples = 0;
-- aacEnc = NULL;
-- hEnvEnc=NULL;
- }
-
- /**
-@@ -269,10 +232,6 @@
- }
- }
-
-- void
-- encodeAacSamples (short *TimeDataPcm, unsigned int samples, int channels)
-- throw ( Exception );
--
- protected:
-
- /**
-@@ -335,7 +294,7 @@
- outSampleRate,
- outChannel )
- {
-- init( sink);
-+ init( sink, lowpass);
- }
-
- /**
-@@ -376,7 +335,7 @@
- outSampleRate,
- outChannel )
- {
-- init( sink);
-+ init( sink, lowpass );
- }
-
- /**
-@@ -389,7 +348,7 @@
- throw ( Exception )
- : AudioEncoder( encoder )
- {
-- init( encoder.sink.get());
-+ init( encoder.sink.get(), encoder.lowpass);
- }
-
-
-@@ -420,7 +379,7 @@
- if ( this != &encoder ) {
- strip();
- AudioEncoder::operator=( encoder);
-- init( encoder.sink.get());
-+ init( encoder.sink.get(), encoder.lowpass);
- }
-
- return *this;
diff --git a/audio/darkice/pkg-descr b/audio/darkice/pkg-descr
index 976cb4aa812b..c91e1319d1e2 100644
--- a/audio/darkice/pkg-descr
+++ b/audio/darkice/pkg-descr
@@ -17,4 +17,4 @@ DarkIce can send the encoded stream to the following streaming servers:
Darwin Streaming Server
archive the encoded audio in files
-WWW: http://code.google.com/p/darkice/
+WWW: http://darkice.org/
diff --git a/audio/darkice/pkg-plist b/audio/darkice/pkg-plist
new file mode 100644
index 000000000000..26096d569fae
--- /dev/null
+++ b/audio/darkice/pkg-plist
@@ -0,0 +1,4 @@
+bin/darkice
+@unexec if cmp -s %D/etc/darkice.cfg.dist %D/etc/darkice.cfg; then rm -f %D/etc/darkice.cfg; fi
+etc/darkice.cfg.dist
+@exec if [ ! -f %D/etc/darkice.cfg ] ; then cp -p %D/%F %B/darkice.cfg; fi