[MPlayer-users] AAC/DTS audio HDMI passthrough issue

Dmitry Katsubo dma_k at mail.ru
Fri Sep 30 02:51:41 EEST 2022


Dear MPlayer users,

I am trying to enable passthrough for AAC/DTS audio channels, but unfortunately MPlayer fails to open a sound card:

$ mplayer -afm hwac3 -vo fbdev2 test.mkv
MPlayer 1.4 (Debian), built with gcc-10 (C) 2000-2019 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing test.mkv.
libavformat version 58.45.100 (external)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (ac3), -aid 0, AC3 5.1 ~384 kbps
VIDEO:  [H264]  960x402  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
==========================================================================
Clip info:
 title: test :: AFM ::
 encoder: libebml v1.3.1 + libmatroska v1.4.2
 creation_time: 2016-12-28T00:01:43.000000Z
==========================================================================
Trying to force audio codec driver family hwac3...
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
hwac3: switched to AC3, 384000 bps, 48000 Hz

AUDIO: 48000 Hz, 2 ch, ac3be, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
[AO_ALSA] alsa-lib: confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.HDA-Intel.pcm.iec958.7:CARD=0,AES0=6,AES1=130,AES2=0,AES3=2'
[AO_ALSA] alsa-lib: conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM iec958:AES0=6
[AO_ALSA] alsa-lib: confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.HDA-Intel.pcm.iec958.7:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
[AO_ALSA] alsa-lib: conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM iec958
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa'
[AO SDL] Samplerate: 48000Hz Channels: Stereo Format ac3be
[AO SDL] using aalib audio driver.
[AO SDL] Unsupported audio format: 0x108.
[AO SDL] Unable to open audio: No available audio device
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
Audio: no sound
Starting playback...
Movie-Aspect is 2.39:1 - prescaling to correct movie aspect.
Specified y offset not supported for YUV, reduced to 338.
[swscaler @ 0x7fc8b2dd3000]bicubic scaler, from yuv420p to bgra using MMXEXT
[swscaler @ 0x7fc8b2dd3000]using unscaled yuv420p -> bgra special converter
VO: [fbdev2] 960x402 => 960x402 BGRA  [fs]

I am totally confused with a card name cards.HDA-Intel.pcm.iec958.7 which is not listed as available one:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ cat /etc/asound.conf
defaults.pcm.card 0
defaults.pcm.device 7
defaults.ctl.card 0

$ iecset -x
AES0=0x04,AES1=0x00,AES2=0x00,AES3=0x00

$ iecset
Mode: consumer
Data: audio
Rate: 44100 Hz
Copyright: permitted
Emphasis: none
Category: general
Original: 1st generation
Clock: 1000 ppm

When I force the default card/device like below, it complains and switches to 2 channels when paying audio:

$ mplayer -afm hwac3 -ao alsa:device=plughw=0.7 -vo fbdev2 test.mkv
Trying to force audio codec driver family hwac3...
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
hwac3: switched to AC3, 384000 bps, 48000 Hz

AUDIO: 48000 Hz, 2 ch, ac3be, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
==========================================================================
[AO_ALSA] alsa-lib: conf.c:5084:(parse_args) Unknown parameter AES0
[AO_ALSA] alsa-lib: conf.c:5217:(snd_config_expand) Parse arguments error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM plughw:0,7,AES0=6
AO: [alsa] 48000Hz 2ch ac3be (2 bytes per sample)
Starting playback...

Is there anything I've missed? Thanks in advance!

I have read so far:

  * Digital surround passthrough
    <https://alsa.opensrc.org/DigitalOut#mplayer>
  * Surround/Multichannel playback <http://www.mplayerhq.hu/DOCS/HTML/en/advaudio-surround.html>

-- 
With best regards,
Dmitry



More information about the MPlayer-users mailing list