aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/audacity/README10
-rw-r--r--audio/audacity/audacity-1.3.13-ffmpeg.patch164
-rw-r--r--audio/audacity/audacity.SlackBuild8
-rw-r--r--audio/audacity/audacity.info8
4 files changed, 180 insertions, 10 deletions
diff --git a/audio/audacity/README b/audio/audacity/README
index 5d0be96de9898..d23d9f35306f2 100644
--- a/audio/audacity/README
+++ b/audio/audacity/README
@@ -2,8 +2,10 @@ Audacity is free, open source software for recording and editing sounds.
With Audacity one can record live audio, convert tapes and records into
digital recordings, edit Ogg, MP3, and WAV sound files, and much more.
-Audacity requires either wxPython or wxGTK, and optional dependencies
-are ffmpeg, soundtouch, and twolame.
+Audacity requires either wxPython or wxGTK.
-soundtouch, twolame and ffmpeg support can be enabled in the build
-script if installed. See the build script itself for more information.
+Support for optional dependencies can be enabled passing the script
+optional parameters, such as:
+FFMPEG=yes (requires ffmpeg)
+SOUNDTOUCH=yes (requires soundtouch)
+TWOLAME=yes (requires twolame)
diff --git a/audio/audacity/audacity-1.3.13-ffmpeg.patch b/audio/audacity/audacity-1.3.13-ffmpeg.patch
new file mode 100644
index 0000000000000..675470913c8d4
--- /dev/null
+++ b/audio/audacity/audacity-1.3.13-ffmpeg.patch
@@ -0,0 +1,164 @@
+--- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/export/ExportFFmpeg.cpp
+@@ -352,7 +352,7 @@
+ avcodec_get_context_defaults(mEncAudioCodecCtx);
+
+ mEncAudioCodecCtx->codec_id = ExportFFmpegOptions::fmts[mSubFormat].codecid;
+- mEncAudioCodecCtx->codec_type = CODEC_TYPE_AUDIO;
++ mEncAudioCodecCtx->codec_type = AVMEDIA_TYPE_AUDIO;
+ mEncAudioCodecCtx->codec_tag = av_codec_get_tag((const AVCodecTag **)mEncFormatCtx->oformat->codec_tag,mEncAudioCodecCtx->codec_id);
+ mSampleRate = (int)project->GetRate();
+ mEncAudioCodecCtx->global_quality = -99999; //quality mode is off by default;
+@@ -403,7 +403,6 @@
+ mEncAudioCodecCtx->flags2 = 0;
+ if (gPrefs->Read(wxT("/FileFormats/FFmpegBitReservoir"),true)) mEncAudioCodecCtx->flags2 |= CODEC_FLAG2_BIT_RESERVOIR;
+ if (gPrefs->Read(wxT("/FileFormats/FFmpegVariableBlockLen"),true)) mEncAudioCodecCtx->flags2 |= 0x0004; //WMA only?
+- mEncAudioCodecCtx->use_lpc = gPrefs->Read(wxT("/FileFormats/FFmpegUseLPC"),true);
+ mEncAudioCodecCtx->compression_level = gPrefs->Read(wxT("/FileFormats/FFmpegCompLevel"),-1);
+ mEncAudioCodecCtx->frame_size = gPrefs->Read(wxT("/FileFormats/FFmpegFrameSize"),(long)0);
+ mEncAudioCodecCtx->lpc_coeff_precision = gPrefs->Read(wxT("/FileFormats/FFmpegLPCCoefPrec"),(long)0);
+@@ -569,7 +569,7 @@
+ pkt.stream_index = mEncAudioStream->index;
+ pkt.data = mEncAudioEncodedBuf;
+ pkt.size = nEncodedBytes;
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ // Set presentation time of frame (currently in the codec's timebase) in the stream timebase.
+ if(mEncAudioCodecCtx->coded_frame && mEncAudioCodecCtx->coded_frame->pts != int64_t(AV_NOPTS_VALUE))
+@@ -656,7 +656,7 @@
+
+ pkt.stream_index = mEncAudioStream->index;
+ pkt.data = mEncAudioEncodedBuf;
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ // Write the encoded audio frame to the output file.
+ if ((ret = av_interleaved_write_frame(mEncFormatCtx, &pkt)) != 0)
+--- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpegDialogs.cpp
++++ audacity-src-1.3.13-beta/src/export/ExportFFmpegDialogs.cpp
+@@ -1288,7 +1288,7 @@
+ while ((codec = av_codec_next(codec)))
+ {
+ // We're only interested in audio and only in encoders
+- if (codec->type == CODEC_TYPE_AUDIO && codec->encode)
++ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode)
+ {
+ mCodecNames.Add(wxString::FromUTF8(codec->name));
+ mCodecLongNames.Add(wxString::Format(wxT("%s - %s"),mCodecNames.Last().c_str(),wxString::FromUTF8(codec->long_name).c_str()));
+@@ -1528,7 +1528,7 @@
+ // Find the codec, that is claimed to be compatible
+ AVCodec *codec = avcodec_find_encoder(CompatibilityList[i].codec);
+ // If it exists, is audio and has encoder
+- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode)
++ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode)
+ {
+ // If it was selected - remember it's new index
+ if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount();
+@@ -1543,7 +1543,7 @@
+ AVCodec *codec = NULL;
+ while ((codec = av_codec_next(codec)))
+ {
+- if (codec->type == CODEC_TYPE_AUDIO && codec->encode)
++ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode)
+ {
+ if (mShownCodecNames.Index(wxString::FromUTF8(codec->name)) < 0)
+ {
+@@ -1563,7 +1563,7 @@
+ if (format != NULL)
+ {
+ AVCodec *codec = avcodec_find_encoder(format->audio_codec);
+- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode)
++ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode)
+ {
+ if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount();
+ mShownCodecNames.Add(wxString::FromUTF8(codec->name));
+--- audacity-src-1.3.13-beta.orig/src/FFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/FFmpeg.cpp
+@@ -316,7 +316,7 @@
+ pd.buf_size = 0;
+ pd.buf = (unsigned char *) av_malloc(PROBE_BUF_MAX + AVPROBE_PADDING_SIZE);
+ if (pd.buf == NULL) {
+- err = AVERROR_NOMEM;
++ err = AVERROR(ENOMEM);
+ goto fail;
+ }
+
+@@ -381,7 +381,7 @@
+
+ // Didn't find a suitable format, so bail
+ if (!fmt) {
+- err = AVERROR_NOFMT;
++ err = AVERROR(EILSEQ);
+ goto fail;
+ }
+
+@@ -855,7 +855,6 @@
+ FFMPEG_INITDYN(codec, avcodec_find_decoder);
+ FFMPEG_INITDYN(codec, avcodec_get_context_defaults);
+ FFMPEG_INITDYN(codec, avcodec_open);
+- FFMPEG_INITDYN(codec, avcodec_decode_audio2);
+ FFMPEG_INITDYN(codec, avcodec_decode_audio3);
+ FFMPEG_INITDYN(codec, avcodec_encode_audio);
+ FFMPEG_INITDYN(codec, avcodec_close);
+--- audacity-src-1.3.13-beta.orig/src/FFmpeg.h
++++ audacity-src-1.3.13-beta/src/FFmpeg.h
+@@ -559,7 +559,11 @@
+ FFMPEG_FUNCTION_WITH_RETURN(
+ void*,
+ av_fast_realloc,
++#if LIBAVUTIL_VERSION_MAJOR < 51
+ (void *ptr, unsigned int *size, unsigned int min_size),
++#else
++ (void *ptr, unsigned int *size, size_t min_size),
++#endif
+ (ptr, size, min_size)
+ );
+ FFMPEG_FUNCTION_WITH_RETURN(
+@@ -747,7 +751,11 @@
+ FFMPEG_FUNCTION_WITH_RETURN(
+ void*,
+ av_malloc,
++#if LIBAVUTIL_VERSION_MAJOR < 51
+ (unsigned int size),
++#else
++ (size_t size),
++#endif
+ (size)
+ );
+ FFMPEG_FUNCTION_NO_RETURN(
+--- audacity-src-1.3.13-beta.orig/src/import/ImportFFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/import/ImportFFmpeg.cpp
+@@ -416,7 +416,7 @@
+ // Fill the stream contexts
+ for (unsigned int i = 0; i < mFormatContext->nb_streams; i++)
+ {
+- if (mFormatContext->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ if (mFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ //Create a context
+ streamContext *sc = new streamContext;
+--- audacity-src-1.3.13-beta.orig/src/ondemand/ODDecodeFFmpegTask.cpp
++++ audacity-src-1.3.13-beta/src/ondemand/ODDecodeFFmpegTask.cpp
+@@ -156,7 +156,7 @@
+ //test the audio stream(s)
+ for (unsigned int i = 0; i < ic->nb_streams; i++)
+ {
+- if (ic->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ if (ic->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ audioStreamExists = true;
+ st = ic->streams[i];
+@@ -573,10 +573,10 @@
+ }
+ }
+
+- // avcodec_decode_audio2() expects the size of the output buffer as the 3rd parameter but
++ // avcodec_decode_audio3() expects the size of the output buffer as the 3rd parameter but
+ // also returns the number of bytes it decoded in the same parameter.
+ sc->m_decodedAudioSamplesValidSiz = sc->m_decodedAudioSamplesSiz;
+- nBytesDecoded = avcodec_decode_audio2(sc->m_codecCtx,
++ nBytesDecoded = avcodec_decode_audio3(sc->m_codecCtx,
+ sc->m_decodedAudioSamples, // out
+ &sc->m_decodedAudioSamplesValidSiz, // in/out
+ pDecode, nDecodeSiz); // in
diff --git a/audio/audacity/audacity.SlackBuild b/audio/audacity/audacity.SlackBuild
index 272928aa95c3e..43519f3aaab40 100644
--- a/audio/audacity/audacity.SlackBuild
+++ b/audio/audacity/audacity.SlackBuild
@@ -29,8 +29,8 @@
# Modified by the SlackBuilds.org project
PRGNAM=audacity
-VERSION=${VERSION:-1.3.13}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-1.3.14}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -93,6 +93,10 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# patch for newer ffmpeg versions
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/audacity/files/audacity-1.3.13-ffmpeg.patch?view=markup
+patch -p1 < $CWD/audacity-1.3.13-ffmpeg.patch
+
# Fix vamp plugin search path on x86_64 - thanks to B. Watson
sed -i "s,/usr/lib/vamp,/usr/lib$LIBDIRSUFFIX/vamp," \
lib-src/libvamp/src/vamp-hostsdk/PluginHostAdapter.cpp
diff --git a/audio/audacity/audacity.info b/audio/audacity/audacity.info
index 3f8e1932d443a..f1562ee99a17e 100644
--- a/audio/audacity/audacity.info
+++ b/audio/audacity/audacity.info
@@ -1,10 +1,10 @@
PRGNAM="audacity"
-VERSION="1.3.13"
+VERSION="1.3.14"
HOMEPAGE="http://audacity.sourceforge.net"
-DOWNLOAD="http://audacity.googlecode.com/files/audacity-minsrc-1.3.13-beta.tar.bz2"
-MD5SUM="57be7fadb8c8dd17b8462c7ac1561d03"
+DOWNLOAD="http://audacity.googlecode.com/files/audacity-minsrc-1.3.14-beta.tar.bz2"
+MD5SUM="e7754757e7c3b543db9aa32180b0fb6f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="ponce"
EMAIL="matteo.bernardini@gmail.com"
-APPROVED="Niels Horn"
+APPROVED="rworkman"