From a2aab434c3ac153fec7e102192cd9911961cf27e Mon Sep 17 00:00:00 2001 From: ponce Date: Sun, 18 Dec 2011 19:23:57 -0600 Subject: audio/audacity: Updated for version 1.3.14. Signed-off-by: Robby Workman --- audio/audacity/README | 10 +- audio/audacity/audacity-1.3.13-ffmpeg.patch | 164 ++++++++++++++++++++++++++++ audio/audacity/audacity.SlackBuild | 8 +- audio/audacity/audacity.info | 8 +- 4 files changed, 180 insertions(+), 10 deletions(-) create mode 100644 audio/audacity/audacity-1.3.13-ffmpeg.patch (limited to 'audio') diff --git a/audio/audacity/README b/audio/audacity/README index 5d0be96de989..d23d9f35306f 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 000000000000..675470913c8d --- /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 272928aa95c3..43519f3aaab4 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 3f8e1932d443..f1562ee99a17 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" -- cgit v1.2.3