Package: audacity Version: 1.3.13-3 Severity: important I've made a preliminary patch to allow building against Libav 0.7. It requires a bit polishing and upstreaming!
Libav 0.7 is currently in experimental and awaits the release team's OK to be uploaded to unstable. -- System Information: Debian Release: squeeze/sid APT prefers natty-updates APT policy: (500, 'natty-updates'), (500, 'natty-security'), (500, 'natty') Architecture: amd64 (x86_64) Kernel: Linux 2.6.38-8-generic (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
--- Begin Message ---Note: The change in src/export/ExportFFmpeg.cpp is incomplete, as it disables functionality! Index: audacity-1.3.13/src/FFmpeg.cpp =================================================================== --- audacity-1.3.13.orig/src/FFmpeg.cpp 2011-05-28 10:31:34.000899463 +0200 +++ audacity-1.3.13/src/FFmpeg.cpp 2011-05-28 10:38:01.490923503 +0200 @@ -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; } Index: audacity-1.3.13/src/export/ExportFFmpeg.cpp =================================================================== --- audacity-1.3.13.orig/src/export/ExportFFmpeg.cpp 2011-05-28 10:41:06.200916455 +0200 +++ audacity-1.3.13/src/export/ExportFFmpeg.cpp 2011-05-28 10:45:40.950922555 +0200 @@ -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,8 @@ 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); + // Fixme: This needs UI changes so that the user can select the number of passes and type! + // 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 +570,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 +657,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) Index: audacity-1.3.13/src/export/ExportFFmpegDialogs.cpp =================================================================== --- audacity-1.3.13.orig/src/export/ExportFFmpegDialogs.cpp 2011-05-28 10:41:19.140922960 +0200 +++ audacity-1.3.13/src/export/ExportFFmpegDialogs.cpp 2011-05-28 10:46:04.050922730 +0200 @@ -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)); Index: audacity-1.3.13/src/import/ImportFFmpeg.cpp =================================================================== --- audacity-1.3.13.orig/src/import/ImportFFmpeg.cpp 2011-05-28 10:41:46.970935543 +0200 +++ audacity-1.3.13/src/import/ImportFFmpeg.cpp 2011-05-28 10:42:18.180922961 +0200 @@ -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;
--- End Message ---

