Thanks for giving attention to my problem.

The hardware decoder is integrated in the logitech Z-5500 speakers. I
don't have knowledge of any specific limit on the amount of data. There
is however information regarding a maximum hw buffer size on the
pulseaudio logs:

D: [pulseaudio] alsa-util.c: Trying a52:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open a52:0
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Little 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Big 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Little 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Big 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Little 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Big 
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Little 
Endian in 3bytes) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Big 
Endian in 3bytes) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 320 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 3840 samples), period 
size second (to 480 samples).
I: [pulseaudio] alsa-util.c: Device a52:0 doesn't support sample format s32le, 
changed to s16le.
I: [pulseaudio] alsa-sink.c: Successfully opened device a52:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Digital Surround 5.1 
(IEC958/AC3)' (iec958-ac3-surround-51).
I: [pulseaudio] alsa-sink.c: Cannot enable timer-based scheduling, falling back 
to sound IRQ scheduling.
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] (alsa-lib)control.c: Invalid CTL a52:0
I: [pulseaudio] alsa-util.c: Unable to attach to mixer a52:0: No such file or 
directory
I: [pulseaudio] alsa-sink.c: Failed to find a working mixer device.

The dca plugin reports the same number of samples. Here is what I get
from the dca plugin (heavier cpu usage):

D: [pulseaudio] reserve-wrap.c: Successfully create reservation lock monitor 
for device 'Audio0'
D: [pulseaudio] alsa-util.c: Trying dca:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open dca:0
I: [pulseaudio] alsa-util.c: Trying to disable ALSA period wakeups, using 
timers only
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 96000 samples), period 
size second (to 96000 samples).
I: [pulseaudio] alsa-util.c: ALSA period wakeups disabled
I: [pulseaudio] alsa-sink.c: Successfully opened device dca:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Digital Surround 5.1 
(IEC958/DTS)' (iec958-dts-surround-51).
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
I: [pulseaudio] (alsa-lib)control.c: Invalid CTL dca:0
I: [pulseaudio] alsa-util.c: Unable to attach to mixer dca:0: No such file or 
directory
I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:0'

Note that the dca plugin finds mixer 'hw:0' while the a52 plugin
doesn't. The dca.conf file is also a lot different from the a52.conf
file. Here is the dca.conf:

defaults.pcm.dca.aes0 0x06
defaults.pcm.dca.aes1 0x82
defaults.pcm.dca.aes2 0x00
defaults.pcm.dca.aes3 0x02

pcm.!dca {
    @args [ CARD DEV AES0 AES1 AES2 AES3 ]

    @args.CARD {
        type string
        default {
            @func getenv
            vars [
                ALSA_IEC958_CARD
                ALSA_PCM_CARD
                ALSA_CARD
            ]
            default {
                @func refer
                name defaults.pcm.iec958.card
            }
        }
    }

    @args.DEV {
        type integer
        default {
            @func igetenv
            vars [
                ALSA_IEC958_DEVICE
            ]
            default {
                @func refer
                name defaults.pcm.iec958.device
            }
        }
    }

    @args.AES0 {
        type integer
        default {
            @func refer
            name defaults.pcm.dca.aes0
        }
    }

    @args.AES1 {
        type integer
        default {
            @func refer
            name defaults.pcm.dca.aes1
        }
    }

    @args.AES2 {
        type integer
        default {
            @func refer
            name defaults.pcm.dca.aes2
        }
    }

    @args.AES3 {
        type integer
        default {
            @func refer
            name defaults.pcm.dca.aes3
        }
    }

    type dca
    slave.pcm {
        @func refer
        name {
            @func concat
            strings [
                "cards."
                {
                    @func card_driver
                    card $CARD
                }
                ".pcm.iec958." $DEV ":"
                "CARD=" $CARD ","
                "AES0=" $AES0 ","
                "AES1=" $AES1 ","
                "AES2=" $AES2 ","
                "AES3=" $AES3
            ]
        }
    }

    hint {
        show {
            @func refer
            name defaults.namehint.basic
        }
        description "DTS Encoding through IEC958 (S/PDIF)"
        device $DEV
    }
}

I haven't written these files. The developers did.

I could try an a52.conf file identical to this one. But it might not
work. It will depend of what the a52 plugin accepts. Anyway I will try
it. I will keep you posted.

Thanks again.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to pulseaudio in Ubuntu.
https://bugs.launchpad.net/bugs/1188425

Title:
  Audio breaks up and pulseaudio eventually crashes with Alsa a52 (ac3)
  plugin (Ubuntu 13.04)

Status in “pulseaudio” package in Ubuntu:
  New

Bug description:
  I am encoding all audio in AC3 and sending it to my Logitech Z-5500
  speakers through the SPDIF out jack on my laptop. Audio works fine for
  a while until it breaks up randomly and pulseaudio eventually crashes.
  By looking to the pulseaudio logs one can see some buffer underruns. I
  also tested with the 3.9.4 mainline kernel though I am not sure this
  issue is driver related. The result is always the same! I have this in
  /usr/share/alsa/alsa.conf.d/a52.conf

  pcm.a52 {
        @args [CARD]
        @args.CARD {
                type string
        }
        type rate
        slave {
                pcm {
                        type a52
                        format S16_LE # S16_LE, S16_BE
                        channels 6 # 2, 4, 6
                        bitrate 640 # 192, 224, 256, 320, 384, 448, 512,  576, 
640
                        card $CARD
                }
                rate 48000 # 44100, 48000
        }
  }

  One other thing I tried was the dcaenc-2 alsa plugin from this web
  page http://aepatrakov.narod.ru/index/0-2 and this plugin appears to
  not have the same problem. The disadvantage of the dca plugin is that
  it needs a lot more processing power! So I would prefer the a52 plugin
  if it worked flawlessly.

  These are the answers to the first two questions:

  1)
  Ubuntu 13.04

  2)
  libasound2-plugins-extra:
    Installed: 1.0.25-2ubuntu3
    Candidate: 1.0.25-2ubuntu3
    Version table:
   *** 1.0.25-2ubuntu3 0
          500 http://pt.archive.ubuntu.com/ubuntu/ raring/universe amd64 
Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1188425/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to