EAC3 Dolby Atmos playback

Hi. I am having a play with mopidy as I am building a music streamer. I can get most of my test tracks to work and Tidal but having some trouble with my (downloaded from Tidal) EAC3 Dolby Atmos file (specifically Madonna’s Immaculate Collection). I have set up PulseAudio (which I hate) and checked EAC-3 bitstrem using pavucontrol. I can in DD+ using gstreamer directly as follows:

gst-launch-1.0 filesrc location=01\ -\ Holiday.m4a ! ac3parse ! pulsesink
This plays as Dolby Atmos - DD+ 48 kHz on my Denon AVR. However, ac3parse is required in the pipeline, and I think this may be the issue?

When playing using mopidy, it is played as stereo 48kHz. I have tried running mopidy as both a user and as a system, both with the same result.

with GST_DEBUG=2 mopidy I get the following:

INFO     [MainThread] mopidy.__main__ Starting Mopidy 3.4.2
INFO     [MainThread] mopidy.config Loading config from builtin defaults
INFO     [MainThread] mopidy.config Loading config from file:///home/htpc/.config/mopidy/mopidy.conf
INFO     [MainThread] mopidy.config Loading config from command line options
INFO     [MainThread] mopidy.__main__ Enabled extensions: http, tidal, iris, stream, local, m3u
INFO     [MainThread] mopidy.__main__ Disabled extensions: file, softwaremixer
INFO     [MainThread] mopidy.commands Starting Mopidy audio
INFO     [MainThread] mopidy.commands Starting Mopidy backends: TidalBackend, M3UBackend, StreamBackend, LocalBackend
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Mopidy-Tidal version: v0.3.9
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Python-Tidal version: v0.8.3
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend PKCE login web server port: 8989
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Quality: HI_RES_LOSSLESS
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Authentication: OAuth
WARNING  [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend AUTO login implies lazy connection, setting lazy=True.
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Login method: AUTO
INFO     [TidalBackend-2 (_actor_loop)] mopidy_tidal.backend Using client id & client secret from config
INFO     [Audio-1 (_actor_loop)] mopidy.audio.actor Audio output set to "pulsesink"
INFO     [MainThread] mopidy.commands Starting Mopidy core
INFO     [MainThread] mopidy.commands Starting Mopidy frontends: IrisFrontend, HttpFrontend
INFO     [IrisFrontend-7 (_actor_loop)] mopidy_iris.core Starting Iris 3.69.3
INFO     [HttpFrontend-9 (_actor_loop)] mopidy.http.actor HTTP server running at [::ffff:0.0.0.0]:6680
INFO     [MainThread] mopidy.commands Starting GLib mainloop
0:00:12.301661830  1685 0x7f8254000b90 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.301720184  1685 0x7f8254000b90 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.301741797  1685 0x7f8254000b90 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.346005145  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:originalyear type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346030455  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:SCRIPT type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346043269  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:ARTISTS type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346056417  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:albumartists type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346073102  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:MusicBrainz Album Status type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346086145  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:originaldate type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346099575  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:BARCODE type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346112403  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:ISRC type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346125871  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:MEDIA type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346138283  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:MusicBrainz Album Type type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346151706  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:LABEL type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346172611  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:MusicBrainz Release Group Id type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346191374  1685 0x7f8254000d70 WARN                 qtdemux qtdemux_tags.c:867:qtdemux_tag_add_revdns:<qtdemux0> This tag com.apple.iTunes:MusicBrainz Release Track Id type:1 is not mapped, file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new
0:00:12.346826316  1685 0x7f8254000d70 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.346843700  1685 0x7f8254000d70 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.346854283  1685 0x7f8254000d70 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.348877236  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.348893953  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.348900836  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.349441388  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.349456495  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.349463227  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.403875290  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.403887721  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.403891817  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.405561492  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.405571829  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.405575731  1685 0x7f8254000f80 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.406759422  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.406770828  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.406775322  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.407102276  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.407110130  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet
0:00:12.407118625  1685 0x7f8254001970 WARN                 default pulseutil.c:496:gst_pulse_format_info_to_caps: Found a PA format that we don't support yet

I guess this is expected from mopidy? Is there any patches I can try? I was hoping that mopidy / gstreamer can output digital audio via HDMI using alsa but I don’t think this is possible? I would like to avoid pulseaudio - I hate it! Alternatively, is there any way to get mopidy to direct the file to another player (mpv works perfectly direct to alsa).

Thank you.

I’ve no experience with that audio format. Perhaps you could see why decodebin chooses a different decoder by using more verbose logging, level 2 doesn’t show anything interesting.

Thank you. Shall check…