Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#4460 closed defect (fixed)

AAC regression (works in Libav)

Reported by: gjdfgh Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: aac regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Opening the attached mp4 file, ffmpeg fails to decode every single frame:

[aac @ 0xa0a0140] Inconsistent channel configuration.
[aac @ 0xa0a0140] get_buffer() failed
Error while decoding stream #0:1: Invalid argument
[aac @ 0xa0a0140] Inconsistent channel configuration.
[aac @ 0xa0a0140] get_buffer() failed
Error while decoding stream #0:1: Invalid argument
[aac @ 0xa0a0140] Inconsistent channel configuration.
[aac @ 0xa0a0140] get_buffer() failed
Error while decoding stream #0:1: Invalid argument
[aac @ 0xa0a0140] Inconsistent channel configuration.
[aac @ 0xa0a0140] get_buffer() failed
Error while decoding stream #0:1: Invalid argument

This seems to work fine with Libav. Libav fails to decode the first frame, but subsequent frames decode and sound correct.

I suspect one of the later additions to FFmpeg break it, but I couldn't bisect because building it takes way too long. Also I suspect that both FFmpeg and Libav are doing something wrong. Playing the file with aac with vlc seems to work fine when using libfaad. mplayer with libfaad also works, but prints the warning "FAAD: Failed to decode frame: PCE shall be the first element in a frame".

Attachments (1)

out.mp4 (2.3 MB) - added by gjdfgh 3 years ago.

Change History (11)

Changed 3 years ago by gjdfgh

comment:1 Changed 3 years ago by gjdfgh

PS: the mp4 file is truncated, but this doesn't matter here. the first 2 seconds or so should be decodeable.

comment:2 in reply to: ↑ description Changed 3 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords aac added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Version changed from unspecified to git-master

Replying to gjdfgh:

I suspect one of the later additions to FFmpeg break it, but I couldn't bisect because building it takes way too long.

Am I correct that it also takes way too long to provide a failing ffmpeg command line including the complete, uncut console output?
Regression since 810a14db

How was the sample created?

comment:3 Changed 3 years ago by cehoyos

  • Keywords regression added

comment:4 follow-up: Changed 3 years ago by gjdfgh

Am I correct that it also takes way too long to provide a failing ffmpeg command line including the complete, uncut console output?

No, that's merely annoying and pointless, at least in this case.

How was the sample created?

Unknown. A user posted it. Though ffprobe says "encoder : Lavf56.29.100".

comment:5 Changed 3 years ago by gjdfgh

PS: if you want the full file, say so, before I delete it. It's ~650MB. It shouldn't be necessary, though.

comment:6 in reply to: ↑ 4 Changed 3 years ago by cehoyos

Replying to gjdfgh:

Am I correct that it also takes way too long to provide a failing ffmpeg command line including the complete, uncut console output?

No, that's merely annoying and pointless, at least in this case.

It is never pointless.
Why don't you report issues on the user mailing list if you consider opening proper tickets annoying?

How was the sample created?

Unknown. A user posted it.

Please ask him.

comment:7 Changed 3 years ago by michael

  • Resolution set to fixed
  • Status changed from new to closed

comment:8 Changed 3 years ago by gjdfgh

cehoyos, if you're still interested, the user wrote:

I created mp4 from ts with option
-acodec copy -bsf aac_adtstoasc

comment:9 Changed 3 years ago by cehoyos

The relevant question is now: Does the original transport stream play fine now?
(Did it also fail before?)

comment:10 Changed 3 years ago by gjdfgh

The user reports that "ts was no problem". So the ts was not failing before. It sounds like the remuxing broke it.

Note: See TracTickets for help on using tickets.