Opened 13 years ago

Closed 13 years ago

#320 closed defect (fixed)

0 channels in latm stream

Reported by: Jose Santiago Owned by: Michael Niedermayer
Priority: normal Component: avformat
Version: git-master Keywords: aac
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Attachments (1)

patchautodetectloas.diff (801 bytes ) - added by Carl Eugen Hoyos 13 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by Jose Santiago, 13 years ago

jsantiago@josepc:/mnt/centshare/ffmpeg/trunk/build/build-linux$ SDL_DSP_NOSELECT=1 SDL_AUDIODRIVER=alsa stage/bin/ffplay ./ffplay-noaudio-002-aac-full.ts
ffplay version 0.7-VF, Copyright (c) 2003-2011 the FFmpeg developers

built on Jun 28 2011 09:58:53 with gcc 4.3.3
configuration: --extra-version=VF --prefix=/mnt/centshare/ffmpeg/trunk/build/build-linux/stage --extra-cflags='-I/mnt/centshare/ffmpeg/trunk/build/../src/libavformat -I/mnt/centshare/ffmpeg/trunk/build/../src/libavcodec -DCONFIG_AUDIO_FLOAT=0' --extra-ldflags='-L/mnt/centshare/ffmpeg/trunk/build/build-linux/stage/lib -Wl,-rpath -Wl,/mnt/centshare/ffmpeg/trunk/build/build-linux/stage/lib' --enable-static --enable-shared --enable-avfilter --enable-pthreads --enable-zlib --enable-bzlib --enable-runtime-cpudetect --enable-hardcoded-tables
libavutil 51. 10. 0 / 51. 10. 0
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 24. 0 / 2. 24. 0
libswscale 2. 0. 0 / 2. 0. 0

[h264 @ 0x99c2e00] non-existing PPS referenced
[h264 @ 0x99c2e00] non-existing PPS 0 referenced
[h264 @ 0x99c2e00] decode_slice_header error
[h264 @ 0x99c2e00] no frame!
...
[h264 @ 0x99c2e00] non-existing PPS referenced
[h264 @ 0x99c2e00] non-existing PPS 0 referenced
[h264 @ 0x99c2e00] decode_slice_header error
[h264 @ 0x99c2e00] no frame!
[mpegts @ 0x99be1e0] max_analyze_duration 5000000 reached at 5005000
Input #0, mpegts, from './ffplay-noaudio-002-aac-full.ts':

Duration: 00:01:23.32, start: 93375.767233, bitrate: 5953 kb/s
Program 1

Stream #0.0[0x21]: Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 35.16 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x24]: Audio: aac_latm, 0 channels, s16

Invalid sample rate or channel count
[h264 @ 0x99c2e00] mmco: unref short failureq= 65KB sq= 0B f=0/0
93381.95 A-V: 0.000 s:0.0 aq= 0KB vq= 66KB sq= 0B f=0/0 /0

Last message repeated 1 times

comment:2 by Carl Eugen Hoyos, 13 years ago

Component: FFplayavcodec
Keywords: aac added
Reproduced by developer: set
Status: newopen
Summary: FFPLAY No Audio TS File with AAC Audio Stream0 channels in latm stream

Reproducible, possibly related to ticket #262.

$ ffmpeg -i test.ts
ffmpeg version N-31072-g4d08dfe, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 29 2011 18:04:07 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 10. 0 / 51. 10. 0
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  2. 0 / 53.  2. 0
  libavfilter   2. 24. 0 /  2. 24. 0
  libswscale    2.  0. 0 /  2.  0. 0
[h264 @ 0x1277a60] non-existing PPS referenced
[h264 @ 0x1277a60] non-existing PPS 0 referenced
[h264 @ 0x1277a60] decode_slice_header error
[h264 @ 0x1277a60] no frame!
[h264 @ 0x1277a60] non-existing PPS referenced
[h264 @ 0x1277a60] non-existing PPS 0 referenced
[h264 @ 0x1277a60] decode_slice_header error
[h264 @ 0x1277a60] no frame!

...
[h264 @ 0x1277a60] non-existing PPS referenced
[h264 @ 0x1277a60] non-existing PPS 0 referenced
[h264 @ 0x1277a60] decode_slice_header error
[h264 @ 0x1277a60] no frame!
[h264 @ 0x1277a60] non-existing PPS referenced
[h264 @ 0x1277a60] non-existing PPS 0 referenced
[h264 @ 0x1277a60] decode_slice_header error
[h264 @ 0x1277a60] no frame!
[mpegts @ 0x1272400] Could not find codec parameters (Audio: aac_latm, 0 channels, s16)

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 59.94 (60000/1001)
Input #0, mpegts, from 'test.ts':
  Duration: 00:00:02.82, start: 93375.767233, bitrate: 5939 kb/s
  Program 1
    Stream #0.0[0x21]: Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 35.66 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x24]: Audio: aac_latm, 0 channels, s16
At least one output file must be specified

comment:3 by Carl Eugen Hoyos, 13 years ago

Component: avcodecavformat

Audio is not LATM, but AAC, therefore old FFmpeg versions correctly (auto-) detect AAC, but stream_type is set to 0x11, therefore LATM gets wrongly detected.

comment:4 by Carl Eugen Hoyos, 13 years ago

How was this sample produced?

in reply to:  4 comment:5 by Jose Santiago, 13 years ago

Replying to cehoyos:

How was this sample produced?

Makito H.264 encoder appliance from http://www.haivision.com/products/makito .

by Carl Eugen Hoyos, 13 years ago

Attachment: patchautodetectloas.diff added

comment:6 by Carl Eugen Hoyos, 13 years ago

Analyzed by developer: set

Patch attached.

in reply to:  6 comment:7 by Jose Santiago, 13 years ago

Replying to cehoyos:

Patch attached.

The patch works great for me. Thank You.

comment:8 by Carl Eugen Hoyos, 13 years ago

Resolution: fixed
Status: openclosed

Fixed in current git master.

The patch will be reverted if it breaks any valid transport streams (and the problem cannot be fixed differently).

Note: See TracTickets for help on using tickets.