You are not logged in.

#1 2018-10-29 14:13:59

quequotion
Member
From: Oita, Japan
Registered: 2013-07-29
Posts: 650
Website

[WORKAROUND] A52 plugin fails with alsa-lib and alsa-plugins 1.1.7

Just in case any other users with a similar surround sound setup to mine are banging their heads trying to figure out what went wrong this time; it seems like a52 is borked upstream.

I have not yet done a detailed investigation of the changes between 1.1.6 and 1.1.7, but it doesn't seem like a52 (aka digital surround sound over SPDIF or iec958-ac3-surround) can be made to work anymore. Either it is utterly broken, or the method of configuration has drastically changed (pulseaudio fails to initialize the plugin, stating "(alsa-lib)pcm_rate.c: Unknown field card" and refusing the configuration).

If you are using such a surround sound system, the thing to do for now is downgrade to 1.1.6--making sure to build alsa-plugins against ffmpeg for the a52 plugin.

Before doing that however, build ffmpeg with libavresample (used by the rate plugin), which has been dropped in favor of libswresample (no telling if or when the alsa devs might port their plugin), by adding "--enable-avresample" to configure.

Last edited by quequotion (2018-10-29 16:11:27)

Offline

#2 2018-10-29 16:05:57

quequotion
Member
From: Oita, Japan
Registered: 2013-07-29
Posts: 650
Website

Re: [WORKAROUND] A52 plugin fails with alsa-lib and alsa-plugins 1.1.7

FS#60586 suggests going the other way around, by removing the lavrate plugin from alsa-plugins.

That is probably what is required for arch packaging (dropping the thing with a dependency on a deprecated library) but I am not sure the a52 plugin will be usable without the rate plugin, which I believe is invoked by this (widely available) configuration:

pcm.a52 {
  @args [CARD]
  @args.CARD {
    type string
  }
  type rate
  slave {
    pcm {
      type a52
      bitrate 448
      channels 6
      card $CARD
    }
    rate 48000
  }
}

The only configuration I could find to activate the 1.1.7 version of the plugin (built against ffmpeg with libavresample) was this:

pcm.a52 {
  type a52
}

This created iec958-ac3-surround sinks, but none were usable. If such a profile were configured, pulseaudio would suffer thousands of underruns per second. If that didn't crash pulseaudio, it would certainly crash as soon as any attempt to play audio was made.

It is possible the method of configuring the plugin has been changed.

Last edited by quequotion (2018-10-29 19:35:22)

Offline

Board footer

Powered by FluxBB