Opened 4 years ago
Last modified 4 years ago
#10026 new defect
ffplay doesn't play audio on file with 12 audio channels
| Reported by: | diogo.r | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | 5.1.2 | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description (last modified by )
Summary of the bug:
When playing this 12 audio channel file, ffplay doesn't play audio and prints a message that seems to indicate undefined behavior (weird characters, different each time).
File: https://www.dropbox.com/s/0sysv238h8fl6h0/12-audio-channels.mkv?dl=0
How to reproduce:
% ffplay.exe .\12-audio-channels.mkv
ffplay version 5.1-essentials_build-www.gyan.dev Copyright (c) 2003-2022 the FFmpeg developers
built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, matroska,webm, from '.\12-audio-channels.mkv': 0B f=0/0
Metadata:
COMPATIBLE_BRANDS: mp42isomavc1
MAJOR_BRAND : mp42
MINOR_VERSION : 0
ENCODER : Lavf59.27.100
Duration: 00:00:05.57, start: 0.000000, bitrate: 13983 kb/s
Stream #0:0: Audio: pcm_s24le, 48000 Hz, 12 channels, s32 (24 bit), 13824 kb/s
Metadata:
ENCODER : Lavc59.37.100 pcm_s24le
DURATION : 00:00:05.568000000
Stream #0:1: Video: h264 (High), yuv420p(tv, bt709, progressive), 560x320, 30 fps, 30 tbr, 1k tbn (default)
Metadata:
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.37.100 libx264
DURATION : 00:00:05.533000000
SDL_OpenAudio (12 channels, 48000 Hz): Unsupported number of audio channels.
[SWR @ 0000023e85d75640] Rematrix is needed between 12 channels and Vׅ>? but there is not enough information to do it
Cannot create sample rate converter for conversion of 48000 Hz s16 12 channels to 48000 Hz s16 2 channels!
[SWR @ 0000023e85d75640] Rematrix is needed between 12 channels and Vׅ>? but there is not enough information to do it
Cannot create sample rate converter for conversion of 48000 Hz s16 12 channels to 48000 Hz s16 2 channels!
[SWR @ 0000023e85d75640] Rematrix is needed between 12 channels and Vׅ>? but there is not enough information to do it
Cannot create sample rate converter for conversion of 48000 Hz s16 12 channels to 48000 Hz s16 2 channels!
[...]
Change History (3)
comment:1 by , 4 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 4 years ago
| Component: | ffplay → undetermined |
|---|
comment:3 by , 4 years ago
Personally, this issue doesn't bother me much, if you want to leave it open until someone else runs into it, it's perfectly fine by me. Is there anything else I help with?
Note:
See TracTickets
for help on using tickets.



The fact that ffplay cannot play a 12ch file is kind of expected, because it has no information how to downmix it to a layout your sound device can handle. So that alone is not an issue.
The error message with the grabled channel layout description is strange though, and I can't reproduce it nor can I see how that can happen. After all av_channel_layout_describe() always initializes its output to an empty string.