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 ---