From e560b30a802ebebe637fb810c1e96d1d22d51de174eb08bc19bfffe42b3e43a7 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 19 Aug 2011 22:02:41 +0000 Subject: [PATCH] Accepting request 79371 from home:RedDwarf:branches:multimedia:apps - Update Source tag for the new _service file-less Factory policy - Add audacity-1.3.13-ffmpeg.patch to compile with latest ffmpeg OBS-URL: https://build.opensuse.org/request/show/79371 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=52 --- _service | 8 - audacity-1.3.13-ffmpeg.patch | 164 ++++++++++++++++++ ...bz2 => audacity-minsrc-1.3.13-beta.tar.bz2 | 0 audacity.changes | 6 + audacity.spec | 9 +- 5 files changed, 176 insertions(+), 11 deletions(-) delete mode 100644 _service create mode 100644 audacity-1.3.13-ffmpeg.patch rename _service:download_url:audacity-minsrc-1.3.13-beta.tar.bz2 => audacity-minsrc-1.3.13-beta.tar.bz2 (100%) diff --git a/_service b/_service deleted file mode 100644 index 514eeff..0000000 --- a/_service +++ /dev/null @@ -1,8 +0,0 @@ - - - - http - audacity.googlecode.com - /files/audacity-minsrc-1.3.13-beta.tar.bz2 - - diff --git a/audacity-1.3.13-ffmpeg.patch b/audacity-1.3.13-ffmpeg.patch new file mode 100644 index 0000000..30fa9e9 --- /dev/null +++ b/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/_service:download_url:audacity-minsrc-1.3.13-beta.tar.bz2 b/audacity-minsrc-1.3.13-beta.tar.bz2 similarity index 100% rename from _service:download_url:audacity-minsrc-1.3.13-beta.tar.bz2 rename to audacity-minsrc-1.3.13-beta.tar.bz2 diff --git a/audacity.changes b/audacity.changes index 6902908..e9070d4 100644 --- a/audacity.changes +++ b/audacity.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 19 19:47:51 UTC 2011 - reddwarf@opensuse.org + +- Update Source tag for the new _service file-less Factory policy +- Add audacity-1.3.13-ffmpeg.patch to compile with latest ffmpeg + ------------------------------------------------------------------- Mon Apr 18 00:00:00 CET 2011 - detlef@links2linux.de diff --git a/audacity.spec b/audacity.spec index 5609f0b..7373d0b 100644 --- a/audacity.spec +++ b/audacity.spec @@ -59,12 +59,14 @@ License: GPLv2+ Summary: A Free, Cross-Platform Digital Audio Editor Url: http://audacity.sourceforge.net/ Group: Productivity/Multimedia/Sound/Editors and Convertors -Source: %{name}-minsrc-%{version}-beta.tar.bz2 +Source0: http://%{name}.googlecode.com/files/%{name}-minsrc-%{version}-beta.tar.bz2 Source1: %{name}.png Source2: %{name}-license-nyquist # PATCH-FIX-OPENSUSE %{name}-no_buildstamp.patch reddwarf@opensuse.org -- this patch removes the buildstamp Patch0: %{name}-no_buildstamp.patch Patch16: %{name}-implicit.patch +# PATCH-FIX-UPSTREAM %{name}-1.3.13-ffmpeg.patch reddwarf@opensuse.org -- make it compile against latest ffmpeg +Patch17: %{name}-1.3.13-ffmpeg.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %suse_version > 1130 %define _use_internal_dependency_generator 0 @@ -82,11 +84,12 @@ physical memory size of your computer. %setup -q -n %{name}-src-%{version}-beta %patch0 %patch16 +%if %{with ffmpeg} +%patch17 -p1 +%endif %{__cp} %{S:2} LICENSE_NYQUIST.txt %build -#%{?suse_update_config:%{suse_update_config -f . lib-src/*/.}} -#export AUTOMAKE="automake --foreign" %configure \ --enable-unicode \ --with-libvorbis=system \