01.08.2015, 03:43, "Michael Niedermayer" <mich...@niedermayer.cc>:
> On Fri, Jul 31, 2015 at 01:36:58PM +0300, Vesselin Bontchev wrote:
>> mov.c | 8 ++++----
>>
>> From 418d573659dd011de503e45622307974cf437df5 Mon Sep 17 00:00:00 2001
>> From: Vesselin Bontchev <vesselin.bontc...@yandex.com>
>>
>> /* verify activation data */
>> if (!activation_bytes || c->activation_bytes_size != 4) {
>
> not part of this patch but
> both check for c->activation_bytes_size != 4
> is this intended? isn't the 2nd unreachable that way?
Good catch, this is not intended at all!
>> - av_log(c->fc, AV_LOG_FATAL, "[aax] activation_bytes option is
>> missing!\n");
>> - ret = AVERROR(EINVAL);
>> + av_log(c->fc, AV_LOG_WARNING, "[aax] activation_bytes option is
>> missing!\n");
>> + ret = 0; /* allow ffprobe to continue working on .aax files */
>> goto fail;
>> }
>
>> if (c->activation_bytes_size != 4) {
>> - av_log(c->fc, AV_LOG_FATAL, "[aax] activation_bytes value needs to be 4
>> bytes!\n");
>> - ret = AVERROR(EINVAL);
>> + av_log(c->fc, AV_LOG_WARNING, "[aax] activation_bytes value needs to be 4
>> bytes!\n");
>> + ret = 0; /* allow ffprobe to continue working on .aax files */
>> goto fail;
>> }
>
> are both needed for ffprobe ?
> wouldn't ffprobe simply have it not set and take the first if() always
You are absolutely right. I am attaching a new fixed revision of the patch.
Vesselin
From 3710003b6f44dda82fce2eb2c166214f6842c677 Mon Sep 17 00:00:00 2001
From: Vesselin Bontchev <vesselin.bontc...@yandex.com>
Date: Fri, 31 Jul 2015 12:16:08 +0200
Subject: [PATCH] avformat/mov: fix regression in processing .aax files
Commit 0a551cbe introduced "activation_bytes" option, and not specifying
this option (while calling ffmpeg / ffprobe) causes the program to quit
early. Before this commit, ffprobe was capable of processing metadata in
.aax files.
---
libavformat/mov.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index fdba34c..154d2f8 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -848,9 +848,9 @@ static int mov_read_adrm(MOVContext *c, AVIOContext *pb, MOVAtom atom)
av_log(c->fc, AV_LOG_INFO, "\n");
/* verify activation data */
- if (!activation_bytes || c->activation_bytes_size != 4) {
- av_log(c->fc, AV_LOG_FATAL, "[aax] activation_bytes option is missing!\n");
- ret = AVERROR(EINVAL);
+ if (!activation_bytes) {
+ av_log(c->fc, AV_LOG_WARNING, "[aax] activation_bytes option is missing!\n");
+ ret = 0; /* allow ffprobe to continue working on .aax files */
goto fail;
}
if (c->activation_bytes_size != 4) {
--
2.4.6
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel